• 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. Statistical file for Monte Carlo analysis

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 125
  • Views 11472
  • 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

Statistical file for Monte Carlo analysis

Hemaresearch
Hemaresearch over 3 years ago

Hi, 

 I am new to Monte Carlo simulations. I am trying to do the analysis for PUF using Monte Carlo simulation. I am using IC 6.1.7 version and UMC 90nm technology. I am having some basic questions, please clear it, 

I have written a spectre file for statistical analysis for varying tox and vth of pmos and nmos. My question is 

 1. What should be the parameter value that I have to give for dtox and dvtho?  If I give zero for these parameters, I can see that these values are always at zero for all runs( I checked it in the histogram). If I should not give zero what should be the value and how should I decide?

2. What should be the std deviation value one should provide? Is there is any limitation?

3. I am also getting some notice stating 

  Statistical parameter 'dvth0_n_10_sp' depends on other parameters, its nomial value will be calculated only once and then treated as a constant.

This is my spectre code. Appreciating your help in advance. Thank you.





simulator lang=spectre

library monteLib

section param


parameters dtoxp_p_10_sp=0 toxp_p_10_std=0.2
parameters dtoxp_n_10_sp=0 toxp_n_10_std=0.2
parameters dvth0_n_10_sp=0 vth0_n_10_std=0.002
parameters dvth0_p_10_sp=0 vth0_p_10_std=0.002
//parameters du0_p_10_sp=9.26e-03

parameters mtoxp_p_10_std=0.02
parameters mtoxp_n_10_std=0.02
parameters mvth0_n_10_std=0.0002
parameters mvth0_p_10_std=0.0002

endsection param

section statistics

statistics
{
process
{

vary dvth0_n_10_sp dist=gauss std=vth0_n_10_std
vary dvth0_p_10_sp dist=gauss std=vth0_p_10_std
vary dtoxp_n_10_sp dist=gauss std=toxp_n_10_std
vary dtoxp_p_10_sp dist=gauss std=toxp_p_10_std
//vary du0_p_10_sp dist=gauss std=20 percent=yes
}
mismatch
{
vary dvth0_n_10_sp dist=gauss std=mvth0_n_10_std
vary dvth0_p_10_sp dist=gauss std=mvth0_p_10_std
vary dtoxp_n_10_sp dist=gauss std=mtoxp_n_10_std
vary dtoxp_p_10_sp dist=gauss std=mtoxp_p_10_std
//vary du0_p_10_sp dist=gauss std=20 percent=yes

}
}

endsection statistics

section models

// removed by moderator as this might be revealing confidential IP


endsection models
endlibrary monteLib

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 3 years ago

    First of all, I removed the models from your post because if they are for a UMC technology, you've almost certainly broken an NDA with UMC by sharing them. We cannot have confidential information posted on the forums (that is not yours to share).

    Also, it would seem rather odd to just invent your own statistical models for a real process - I would expect the foundry to provide that data as otherwise you're just inventing meaningless statistics. So you should ask UMC for statistical models (I would expect them to be provided anyway).

    To answer your questions:

    1. The values of these parameters will depend upon the characterised value of the original parameters in the device models before you edited them to add these parameters. Nobody here can tell you this, as it depends on the actual devices in this technology.
    2. Similarly a suitable value for the standard deviation depends on how much they actually vary in the technology. Nobody can tell you that either - you either need to manufacture many lots and characterise it, or most likely the foundry will have done that already
    3. This suggests you are trying to statistically vary a parameter which is set by an equation from other parameters. That's not going to work - because it only makes sense to statistically vary parameters used in other expressions, not any expression itself (it can't be dependent upon other expressions and independently be varied - that makes no sense).

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • Hemaresearch
    Hemaresearch over 3 years ago in reply to Andrew Beckett

    Thank you, Mr. Andrew, for your immediate response.

    Still, I need some more clarification based on your point.

    1. If I have a Monte-Carlo file given by the foundry,  is that I should not go for attaching additional statistical files written by the user?

    2. If I can add additional statistical files which parameter should be considered for varying? How should I decide?

    Apart from this can you please suggest any files or links o design my own standard cell for my design, it will be of great help. Thank you in advance.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Hemaresearch
    Hemaresearch over 3 years ago in reply to Andrew Beckett

    Thank you, Mr. Andrew, for your immediate response.

    Still, I need some more clarification based on your point.

    1. If I have a Monte-Carlo file given by the foundry,  is that I should not go for attaching additional statistical files written by the user?

    2. If I can add additional statistical files which parameter should be considered for varying? How should I decide?

    Apart from this can you please suggest any files or links o design my own standard cell for my design, it will be of great help. Thank you in advance.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to Hemaresearch

    I moved this to an appropriate forum, since you'd posted it in the Feedback, Suggestions and Questions forum which is not for technical questions but for issues related to the forums themselves.

    The whole point of performing statistical analysis on device models is to capture the actual statistical variation in the process, not just to decide "what if I vary some parameter in the models by some arbitrary amount". That's why it needs to be based on information about the actual variation in the technology, not just some parameters/values that you've thought of yourself.

    So my answer to both questions would be "why would you want to do this?". There are occasionally needs (when you're experimenting) to add statistical variation to some component that maybe is not part of the technology and is part of your early architectural design before it's fully realised - and so you want to add some idea of how it might vary - but then you'd usually have some idea about the likely variation of that component. Or it might represent some external device. You can add statistical parameters in such cases. Adding additional statistical parameters to existing models is a bit of an odd thing to do if you don't have data to back it up.

    Put another way, decisions about statistical parameters and the amount of variation for a given technology are not normally a user choice.

    Andrew

    • Cancel
    • Vote Up +1 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