• 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. MC in cadence

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 125
  • Views 15483
  • 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

MC in cadence

RAO VINAY
RAO VINAY over 10 years ago

Hi all,

I am new to monte carlo analysis features and I am unable to interpret results from that simulation in cadence. I have designed band-gap current reference and I want to know how the resultant current varies with process and mismatch. I have a set-up and had few runs. For some runs, it generates Gaussian distribution but for some other runs it generates only a single bin in histogram where all the samples are in one particular range. I am having few following doubts about MC analysis.

1> How do we go about MC analysis? Whether we have to start from some definite seed, where we have to do some trial and error and find out which seed gives the best? I think in my case, it may be generating all those samples which are very close, so all the samples' response is concentrated in one point.

2> What is child analysis? Whether every general analysis such as DC, AC, Tran, SP etc. are called child analysis?

3> How samples are taken when I have a selected child analysis. Ex: When I am varying temperature from -10 to 100 Deg C, each other samples are considered at which temperature? It is important because response is a scalar quantity and don't know those responses are w.r.t which temperature value.

4>How to plot or record responses for AC, Tran, SP etc for different samples ? Ex: I want my resulted current to be plotted w.r.t temperature along the x-axis but for different MC samples.

Thanks and regards,

Vinay Rao.

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    I'm assuming you're running Monte Carlo via ADE XL (you didn't give any information such as the version you're using, the tool you're using - you might not even be running spectre for all I know).

    So first of all, I'd recommend you start with the Rapid Adoption Kit for ADE XL. Go to and then at the top of the page, Resources->Rapid Adoption Kits. Then Custom IC and Signoff, and finally you'll find a workshop for ADE XL.

    Then let me answer your questions:

    1. In general you shouldn't need to worry about the seed. Random is random and one seed is no better than any other. The only reason seed is exposd is to allow you to repeat an experiment - and even that is a bit pointless because the seed from ADE XL is by default set to 12345 and so will give you repeatable results anyway. Still, some people seem to want to be able to set the seed, despite the fact that it is pretty unimportant.
    2. In the simulator, monte carlo is a type of analysis which effectively performs a sweep, where a set of statistical variables are varied in each point in the sweep. For each point in the sweep you want to have a set of analyses run - these are the "child" analyses. If you look at a monte carlo netlist statement (as seen from a netlist produced by ADE XL), or from "spectre -h montecarlo" in the examples, you'll see analyses specified within curly brackets - these are the child analyses. With ADE XL, all the analyses set up in the test are put within the {} for the monte carlo analysis - so all analyses are child analyses.
    3. Temperature is not generally a statistical parameter. So if you are varying temperature via a corner analysis in ADE XL (or a surrounding sweep if running spectre standalone) - it will run the simulations at whatever temperature that corner is at - not sure where you are coming from with this question.
    4. For this, you might want to see my answer earlier today: http://community.cadence.com/cadence_technology_forums/f/38/t/31478 (which seems to have vanished - so I will need to post it again).

    Kind Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago
    BTW, the fact that you are getting no variation for some measurements may mean either that there is no sensitivity to the variation in that measurement, or that your expressions is incorrect - maybe it is referring to the nominal results. Hard to tell without seeing it.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • RAO VINAY
    RAO VINAY over 10 years ago

    Hello Andrew,

    Thanks for your reply. For university, Rapid Action Kits are not accessible.

    I am using IC614.500.12 with ADEXL. I went through cadence documents but many points are not cleared enough. Sorry for flooding my doubts here.

    Coming to the above questions, can you elaborate more as I have got few doubts.

    2&3> a> Whether 100 runs mean 100 different statistical sweeps?

     b> If I select both process & mismatch, whether my statistical variables are mobility (u0) and threshold voltage (Vth) of each device?

    c> Each sweep consists of one child analysis (ex:I have selected DC sweep variable as temperature range under DC analysis). And each child analysis consists of one more sub-sweep (ex: temperature ranges from -10 to 100 Deg C). The final scalar outcome/result of single sample, which will be categorized under bins in histogram, corresponds to which combination of input conditions (ex: In the considered case whether outcome is due to statistical variable value+temp@27 or statistical variable value+ temp@-10 or statistical variable value+temp@100 Deg C)?

    3>It made me to think about basics again. If I am not misunderstood, isn't that by-default every corner is run at nominal temperature at 27 Deg C? In every literature, people have checked the response of every corner for wide range of temperature sweeps.

    4>In DC analysis, I have selected temperature sweep from -10 to 100 Deg C. My output expression for MC analysis is i(“M0/D” ?result “dc-dc”). I didn't select any corner for MC analysis instead everything ran for nominal with the model file being selected as MC (process & mismatch option also selected). I could plot the response but there is no difference between responses of different samples. Every curve is same for different samples. Is there any mistake in set-up?

    About results: Earlier I have selected only MC and later I have selected MC, ff, ss, snfp, fnsp. I am not finding attachment option for this reply to attach my output response.

    Thanks and regards,

    Vinay Rao.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    I believe your professor or whoever is the nominated Cadence support person at your institution should be able to use the support.cadence.com site - or if a Europractice customer, you can contact Europractice.

    Some answers though:

    2&3: Yes, 200 runs means 200 sets of statistical values, and for each point (or "run") it will run the child analyses.

    b) This depends on your models. Monte Carlo doesn't govern what will be varied - in your model files there will be a "statistics" block which defines the parameters which are varied for process and mismatch and their distribution. Exactly how those parameters are used by the models depends on the model definition. So it might vary u0 or Vth, but it might equally vary other parameters.

    c) This depends on your measurement expression. Since you are doing a DC sweep as your child analysis, you are not getting a scalar result unless you have an expression which scalarizes it. So for example, if you had value(v("/out" ?result 'dc) 27) as one expression or value(v("/out" /result 'dc) 100) as another - you'd have scalar expressions for the two different temperatures and hence the ability to plot histograms of each. Or you could have done average(v("/out" ?result 'dc)) which would have told you the average output voltage over temperature, and then a histogram of that (not sure how useful that would be though!)

    3. This depends on what you've set in your corners. If you've set a temperature in the corner, it will use that. Otherwise it will use the temperature used in the test setup - or it maybe the temperature you've swept in an analysis (such as your DC sweep).

    4. You are using the wrong analysis name in the your expression. Use "dc" rather than "dc-dc". The idea is that you have to use the "aliased" names for the result rather than the actual name - the reason being that with Monte Carlo, dc-dc will get the nominal run's results. Nowadays (since IC615 ISR3, I think) the ViVA results browser shows the aliased names, so I'm not sure how you generated the "dc-dc" name.

    There is an option to attach pictures (it's the Insert/Edit Media button in the rich text editor), but it is a bit temperamental at the moment!

    Whether your corners have statistical parameters or not, I'm not sure. Using process corners and monte carlo together is a little odd - although some foundries do this as a means of pushing you into a process corner and then doing a mismatch simulation around that. Personally if you're using Monte Carlo, I think you should use it for process too, since Corners is either likely to give you points on the process distribution which are unlikely to occur (such as slow n fast p), or miss real points in the distribution which could have failures.

    Regards,

    Andrew.

    • 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