• 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. Making a monte carlo simulation component specific

Stats

  • Locked Locked
  • Replies 18
  • Subscribers 129
  • Views 25457
  • 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

Making a monte carlo simulation component specific

simbamford
simbamford over 12 years ago
Does anyone know how to specify that for a monte carlo mismatch simulation (presumably using spectre though I also have an ultrasim license), one or two specific transistors will not be subject to mismatch, i.e. will give nominal performance, whilst every other component will be subject to mismatch? Of course it would be convenient if this were possible through the virtuoso inferface, but any method would be useful.Any help gratefully received. 
  • Cancel
  • ShawnLogan
    ShawnLogan over 12 years ago
    Hi Simbamford,

    There is a transistor parameter mmcflag that is set to 1 when its parameters are to be statistically varied. If it is set to 0, its parameters will not vary. You can set this flag to 0 for those devices whose parameters you do not want to vary.

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

    In ADE XL (assuming you're using IC61X; there's no UI support for doing what you want in IC5141), on the "Gear" icon next to the Monte Carlo Sampling cyclic choice (also available via Run->Monte Carlo Sampling in the pulldown), there's a button at the bottom of the form called "Specify Instances/Devices". If you bring this up it allows you to specify devices for mismatch - either as an inclusion or exclusion list. It's partly used to allow the mismatch to correlate between multiple tests which have different testbenches, but can also be used for the purpose you describe.

    The mmcflag parameter that Shawn describes must be specific to a particular PDK because it's not a parameter in spectre as far as I know (certainly not for bsim4 or bsim3v3; to be honest, the mismatch variation is handled outside of the model, so I can't see how it would be done in the device model. For a PDK they might choose to multiply the mismatch variations by this flag inside their subckt models, but as I said, that would be PDK-specific).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 12 years ago
    Andrew is correct. The mmcflag is a PDK specific parameter that has existed for several technologies of CMOS/bipolar PDK from, for example TSMC. If you are using a PDK, you might explore the resulting netlist you are creating to determine if such a parameter exists with your PDK. It facilitates the ability to examine the impact of mismatch variation of a particular - or a set of particular - devices on an output parameter.

    Shawn
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • jerry124
    jerry124 over 12 years ago

    I am very new in runing mc simulations, so my question could be "strange". I am runing spectre mc from command line. I would like exclude some instances from mismatch. Is it posible to define  "Specify instances/devices --> specify instance to ignore" in my simulation file?

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

    Yes. Type "spectre -h montecarlo" and you'll see:

    10      ignore=[...]      If set, no variation is applied to specified subcircuit instances. In
                              addition, all subcircuits instantiated under this instance do not have
                              variation enabled. By default, mismatch is applied to all subcircuit
                              instances in the design and the process is applied globally.

    So you can specify on the montecarlo analysis statement ignore=[I1 I2 I3] etc.

    Andrew.

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

     Dear Andrew,

    I am using cadence 5, with UI. In this case how can one turn off the mismatches of an instance or say a particular mos. Other words, how can one see the contribution of this mos to to the total functionality under mismatch simulation.

    Br

    Arun

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

    Arun,

    There's no support for this in the IC5141 UI. 

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • MYatNEU
    MYatNEU over 6 years ago in reply to Andrew Beckett

    Hi Andrew, I have one quick question related to this: does it also apply to process variations? In IC615, we can specify the instance for mismatch in ADE XL "Run Monte Carlo Sampling", however, there's no option for process. Therefore, if I want to ignore PV for specific instances in my test bench, how can I do that? Thanks!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 6 years ago in reply to MYatNEU

    Not currently. There's a change request (CCR 2017541) related to this in the system, but it's not been implemented yet (I think spectre may have the capability - although there are some slight gaps at the moment - but it's not available through the user interface, even in the current IC618 release rather than the rather old version you're using).

    Regards,

    Andrew.

    • Cancel
    • Vote Up +2 Vote Down
    • Cancel
  • MYatNEU
    MYatNEU over 6 years ago in reply to Andrew Beckett

    Hi Andrew, thanks for the quick reply, you're amazing!

    • 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