• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. Monte Carlo Design Variables?

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 127
  • Views 17339
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Monte Carlo Design Variables?

drdanmc
drdanmc over 7 years ago

I would like to run a monte carlo simulation in ADE-XL (well, actually I want to run in Ocean-L but that is no longer supported) where some of my design variables have variation.

I tried as an example, instantiating an analogLib/vdc voltage source with dc=MYVDD.  Then I put in MYVDD=1 in the design variables list.

Then I created a spectre model file that included:

parameters my_vdd_mc=1

statistics {

  process {

    vary my_vdd_mc dist=unif N=0.2

  }

}

my_alter_vdd alter param=MYVDD value=my_vdd_mc

and included this in my model setup.  I picked all (process+mismatch) for the simulation but the simulated (monte carlo) voltage is rock solid at 1.0V, no variation at all.  Looking at input.scs and spectre.out it is clear what the issue is.  The alter commands are *outside* of the monte carlo loop instead of inside it which isn't all that surprising.  Ok, so how to fix that?

I tried directly using dc=my_vdd_mc in the test bench schematic (i.e. skip the alter statements).  Now ADE-XL freaks out because it says "hey, you are trying to use my_vdd_mc but I don't know anything about it".  Yes, I know ADE-XL doesn't know anything about it, the model file I created adds it.

So... I guess my next approach will be to create a cell "my_supplies" that has a symbol and spectre view and then put the voltage source in the model file as well.  However, this seems like a pain and gives less flexibility, especially if I needed to use the statistically varying variable in multiple spots.

Is there anyway to tell ADE-XL to cut me some slack on defining a parameter in a model file instead of via the GUI? 

Thanks

-Dan

  • Cancel
  • mschw
    mschw over 7 years ago

    Dear Dan,

    have you tried just adding

    statistics {

      process {

        vary MYVDD dist=unif N=0.2

      }

    }

    to the new spectre model and include it and run the mc-simulation? I think the way to directly add dc=my_vdd_mc in the schematic and skip the alter&paramater statements will work if you'll add my_vdd_mc as a design variable.

    Kind regards,

    Matthias

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 7 years ago in reply to mschw

    Was going to either suggest what Matthias suggested - defining the mean value in the global variables and just the statistics in the included model file, or alternatively if you keep the variable my_vdd_mc just set the global variable MYVDD=my_vdd_mc in the ADE global variables (rather than using an alter, which won't work, as it's an analysis outside of the monte carlo, and isn't really needed when just an assignment would do).

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • drdanmc
    drdanmc over 7 years ago in reply to Andrew Beckett

    Cool, using the variable in the globals section was the ticket.  I'm keeping the variable instead of using the global to set the mean because we use a common model file (typically with the alters for non-montecarlo) and a standard set of design variables to keep the whole team on the same page for supply and temperature limits.  It avoids the "really, we have to operate at __ degrees/volts?  I thought it was __ degrees/volts." discussion during a design review.

    -Dan

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information