• 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 15487
  • 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
Parents
  • 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
Reply
  • 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
Children
No Data

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