• 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 - Virtuoso IC 6.1.5

Stats

  • Locked Locked
  • Replies 17
  • Subscribers 126
  • Views 9802
  • 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 - Virtuoso IC 6.1.5

kenambo
kenambo over 11 years ago

Hi,

In monte carlo analysis, what is the need for the "monte carlo seeds" field.

Is there any result variation for the different number of seeds..

Thanks.

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    Setting the seed simply alters the starting point for the random number generator. It defaults to 12345 (if not filled in) which means that you will have a repeatable sequence of random numbers so if you run the same simulation twice (assuming nothing changed) you'll get the same results. If you set a different seed - the exact sequence of random numbers will be different, but will still be generated using the same distribution - and so your measurements should also have the same distribution (e.g. same mean and standard deviation), provided of course that you have enough samples.

    Prior to implementing this, people often asked to be able to set the seed (it's been in spectre for as long as monte carlo has been available in spectre) - I'm never that convinced it matters that much though - the only time it might be useful is if your sample size is too small and hence your standard deviation is maybe not really "converged".

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • kenambo
    kenambo over 11 years ago

     Hi Andrew...

    i need some clarification regarding "seeds".. so it will be helpful if i set some value to the seeds field and run the monte carlo analysis for small number of iterations.. for example..

    i set seeds = 2 and run 200 iterations.

    then i set seeds = 3 and  run 100 iterations...

     it means i will get same distribution and variation.. independent of iteration..

    Is it correct..? and  what is the maximum number of seeds field ?

    on which basis this seeds are chosen?

    Please reply as soon as possible..

    Thanks.

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

    Well, you won't get exactly the same distribution and variation, but you will get roughly the same shape. The fewer iterations you do, the less similar the shape will be. For example, in this picture I show the results from running a function that I have which generates random numbers with a normal (gaussian) distribution with two different seeds (this is not from monte carlo, but the principle is the same), with two different numbers of iterations. You can see that the mean and standard deviations are similar, but not identical.

    Note that in the simulator, it may not be quite as lumpy as this - you typically have more random variables (this is just one random variable) - but the fewer iterations, the bigger variation you'll get. I'll post one with many more samples in a moment.

    Regards,

    Andrew.

     

    • randomNumbers.png
    • View
    • Hide
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    And here's a comparison between two different seeds for more iterations. Again, this is not a monte carlo simulation, but it should show you the idea that the number of iterations makes the mean and standard deviation more stable. Note that if I ran again with the same seed, I'd get the same answers. If I just ran the test again twice in a row, the two histograms (and means and standard deviations) would be slightly different.

    Click on the picture to see it all in a new tab or window in your browser.

    Hopefully that's a reasonable "Random Numbers 101" course?

    Regards,

    Andrew.

     

    • randomNumbersLots.png
    • View
    • Hide
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Ziyad Almohaimeed
    Ziyad Almohaimeed over 10 years ago
    Hi Andrew :

    is it normal to have the standard deviation equal to zero or in scale of femto while the mean in scale of micro when i apply Monte carlo mismatch variation? or there is something wrong with the statistcal script?
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 10 years ago

    Dear Ziyad,

    > is it normal to have the standard deviation equal to zero or in scale of femto while the mean in scale of micro when i apply Monte carlo mismatch variation?

    I am not sure what parameter you are observing. Hence, it is not clear if the magnitudes are appropriate. If the mean and variance are not consistent with your expectations, I would consider if you have enabled the Monte-carlo feature in the devices in your PDK.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Ziyad Almohaimeed
    Ziyad Almohaimeed over 10 years ago
    Many thanks, I already enabled the Monte-Carlo. To let you know I am measuring the standard deviation and the mean for the total power for multiple of nand gates just to see the affect of the mismatch variation. As result I got the total 13 u J and the standard deviation is zero or femto J which is a bit unusual.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    By the way, asking the same question in multiple threads is against the forum guidelines.

    Now that you've explained what you're measuring, then assuming that the measurement is actually correct (maybe you could give the expression you're using?), then it sounds as if the mismatch modelling is not defined properly in the models. Unless of course your power is dominated by something that is not being statistically varied? Not sure how you are measuring power and getting the result in Joules (surely it should be Watts?)

    Regards,

    Andrew..

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Ziyad Almohaimeed
    Ziyad Almohaimeed over 10 years ago

    Sorry for not going through the giudelines,

    Here is the power expression:

    P = integ((i("/R0/PLUS" ?result "tran-tran") * (1.8 / 4e-09)) 1.8e-08 2.2e-08) 

    I really appreciate your help in advanced,,

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

    I don't know which version you're using, but my guess is that you should be using ?result "tran" rather than "tran-tran". In the past, this meant you were accessing the nominal results rather than the per-iteration results, and so you wouldn't see any variation.

    Nowadays the results browser would normally show the result name as "tran".

    Knowing which version you're using would help me be more certain about this (and I could experiment, given time), but maybe you can also just try changing "tran-tran" to "tran"?

    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