• 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 result on std dev and sigma

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 126
  • Views 19161
  • 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 result on std dev and sigma

surreyian
surreyian over 12 years ago

Hello,

What is the differenence between sigma and std dev in monte carlo simulation. There two reading are not exactly the same, so what is the difference?

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 12 years ago

    Where are you looking at them? Which version? I just want to make sure I tell you the precise answer...

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • surreyian
    surreyian over 12 years ago

    Hello Andrew,

    In ADE-XL in result tab, pull down menu "summary"  gives std dev reading, and "yeild" shows sigma reading

    using MMSIM11.1-ISR17, IC615-ISR12

     

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

    sigma on the Yield tab is the sample standard deviation (which is the same as the "sd" annotated on the histograms), whereas std dev on the Summary tab is the population standard deviation.

    I'm sure you remember the difference from school maths, but if not, it's covered on http://en.wikipedia.org/wiki/Standard_deviation

    Given that you are using a sample of the points, the sample standard deviation is the one you normally want. With a sufficiently large number of samples, the difference is small (because the sample uses a denominator of N-1 and population uses a denominator of N, so if N was 1000, it would be roughly 0.1% different).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • surreyian
    surreyian over 12 years ago

    that makes sense now. thanks andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ImanKian
    ImanKian over 9 years ago

    Hello all,

    Still I have some doubt about the sigma and std in Monte Carlo analysis in IC5 and MMSIM 12. I realised that the Monte Carlo analysis uses two files, which are:
    <MOSFETname>_mc_statistical_m.mdl.scs and <MOSFETname>_mc_statistical_p.mdl.scs.

    I checked the file '<MOSFETname>_mc_statistical_m.mdl.scs', and apparently it has to do with mismatch analysis of the  below I put content of the file. What does std=1/1 mean?

    simulator lang=spectre insensitive=yes
    parameters mc_n_<MOSFETname>_vth0_ma = 0
    parameters mc_n_<MOSFETname>_u0_ma = 0
    parameters mc_p_<MOSFETname>_vth0_ma = 0
    parameters mc_p_<MOSFETname>_u0_ma = 0
    //
    statistics {
    mismatch {
    vary mc_n_<MOSFETname>_vth0_ma dist=gauss std=1/1
    vary mc_n_<MOSFETname>_u0_ma dist=gauss std=1/1
    vary mc_p_<MOSFETname>_vth0_ma dist=gauss std=1/1
    vary mc_p_<MOSFETname>_u0_ma dist=gauss std=1/1
     }
    }

    -----------------------------------------

    There is another file called '<MOSFETname>_mc_statistical_p.mdl.scs' and as far as I understand it has to do with process analysis in Monte Carlo, and below is the content.

    simulator lang=spectre insensitive=yes
    //
    parameters mc_n_<MOSFETname>_tox_np = 0
    parameters mc_n_<MOSFETname>_cj = 0
    parameters mc_n_<MOSFETname>_cjsw = 0
    parameters mc_n_<MOSFETname>_cjswg = 0
    parameters mc_p_<MOSFETname>_cj = 0
    ...
    //
    parameters dtox_n_<MOSFETname> = 2.7300e-09 * (0.0300 / 3 * mc_n_<MOSFETname>_tox_np)
    parameters dvth0_n_<MOSFETname> = (2.40000e-02 / 3) * mc_n_<MOSFETname>_vth0
    parameters du0_n_<MOSFETname> = (1.50000e-04 / 3) * mc_n_<MOSFETname>_u0
    parameters dvsat_n_<MOSFETname> = (0.00000e+00 / 3) * mc_n_<MOSFETname>_vsat
    parameters dwint_n_<MOSFETname> = (1.00000e-08 / 3) * mc_n_<MOSFETname>_wint
    parameters dlint_n_<MOSFETname> = (1.00000e-09 / 3) * mc_n_<MOSFETname>_lint
    ...
    //
    statistics {
    process {
    vary mc_n_<MOSFETname>_tox_np dist=gauss std=sigma/3
    vary mc_n_<MOSFETname>_cj dist=gauss std=sigma/3
    vary mc_n_<MOSFETname>_cjsw dist=gauss std=sigma/3
    vary mc_n_<MOSFETname>_cjswg dist=gauss std=sigma/3
    vary mc_p_<MOSFETname>_cj dist=gauss std=sigma/3
    vary mc_p_<MOSFETname>_cjsw dist=gauss std=sigma/3
    ...
    }

    To me sigma is a parameter which is only required for mismatch calculations of Monte Carlo analysis, am I right?


    For my circuit there is not much of variation in Process Only, but there are a lot of disappointing variation in Mismatch Only. I thought that std is in percent, so I changed it to std=0.1 and the Mismatch variations are relatively better. Can anyone tell me that my interpretation is true or not? Please!

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

    By the way, please don't post on the end of old threads (if you read the Forum Guidelines it asks you not to do this).

    These files are particular to the technology setup you're using - in many model files the statistics block contains both process and mismatch in the same model file - so the naming of the files and structure of the files is specific to that technology.

    On the vary lines, the standard deviation is not a percentage unless the percent=yes option is specified on the line (see "spectre -h montecarlo" for details on the syntax and meaning). 

    The 1/1 is a spurious unnecessary calculation - it could equally well just say 1. What is almost certainly happening is that these parameters have been normalised to be 1 sigma of variation - and then are scaled where the parameters are used in the models. The process variation is similar - these are set to be a 3rd of a parameter called "sigma" which is presumably defined elsewhere in the model file (again, it could have been "george/3" - it's just a parameter name that happens to be called "sigma").

    I have no idea why you think that sigma is a parameter that's only required for mismatch calculations. The process variation (i.e. die to die variation) is still subject to a statistical variation - so why would it only impact mismatch (instance to instance variation).

    Note that I would expect that somebody has carefully characterised the variation of the process and mismatch, so it doesn't make sense to edit these numbers if the variation is more than you like. That will not alter the reality of what actually happens in manufacturing! In small geometry processes (in particular), mismatch variation can be very large...

    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