• 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 9806
  • 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
  • Ziyad Almohaimeed
    Ziyad Almohaimeed over 10 years ago

    It works so many thanks.. by the way I am using this version [IC 5.1.41]

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

    It works if I choose together process and mismatch variation but when I choose mismatch variations only, the standard deviation is to small in femto scale while the mean in micro. 

    Cadence (R) Virtuoso (R) Spectre (R) Circuit Simulator
    Version 7.2.0.109

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago
    I'm confused - first you say it works, then you say it doesn't. Which is it? Maybe your models don't have correct mismatch information in the models?
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Ziyad Almohaimeed
    Ziyad Almohaimeed over 10 years ago

    It works when I choose both process and mismatch. But, when I choose mismatch by itself, it doesn't. Maybe as you said, the problem on the mismatch script. How can I solve it?

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

    First of all, I would suggest looking at your device models. If you look at the model files that are included in your netlist (i.e. those referenced from ADE) and check to see if there is a statistics block in the model files. This will look something like this:

    statistics {
        process {   // process: generate random number once per MC run
            vary rshsp dist=gauss std=12 percent=yes
            vary rshpi dist=gauss std=rshpi_std // rshpi_std is a parameter
            vary xxx dist=lnorm std=12
            vary uuu dist=unif N=10 percent=yes
            truncate tr=2.0 // +/- 2 sigma
        }
        mismatch {  // mismatch: generate a random number per instance
            vary rshsp dist=gauss std=2     
            vary xisn dist=gauss std=0.5    
            vary xisp dist=gauss std=0.5    
            truncate tr=7.0 // +/- 7 sigma
        }
    }

    Probably just doing "grep statistics *.scs" would be a good start to find it. Check to see if there's a mismatch section.

    Assuming all looks OK there, the models themselves need to be subckts. Mismatch is applied to each subckt and then the models within those subckts can be unique. If the transistors you are using are just direct models (without a subckt around them), then no mismatch will be applied. Some technologies have different components for mismatch than for normal use (for strange reasons).

    Not sure if you said, but what technology are you using?

    Regards,

    Andrew.

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

    Sorry, I took from your time a lot.

    I am using 180nm, here what I find in the statistics part:

    statistics {
        process {
            vary par1_rf dist=gauss std=1/3
            vary par2_rf dist=gauss std=1/3
            vary par3_rf dist=gauss std=1/3
            vary par4_rf dist=gauss std=1/3
            vary par5_rf dist=gauss std=1/3
            }
        mismatch {
            vary vthnmis_rf dist=gauss std=1/1
            vary dlnmis_rf dist=gauss std=1/1
            vary dwnmis_rf dist=gauss std=1/1
            vary toxnmis_rf dist=gauss std=1/1
            vary vthpmis_rf dist=gauss std=1/1
            vary dlpmis_rf dist=gauss std=1/1
            vary dwpmis_rf dist=gauss std=1/1
            vary toxpmis_rf dist=gauss std=1/1
            }
    
        }
     
    include "rf018.scs" section= mos
    endsection mc

    What do you think? Does it make sense?

    Thanks again and I appreciate your help.


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

    Knowing just the process node isn't what I was after - I wanted to know the foundry too. Anyway, from what you've posted, it looks like TSMC.

    Are you using the "_mac" or "_mis" devices in your schematic (I can't remember whether they are called mac or mis in that particular technology)? I suspect not...

    TSMC had this tendency to have two different flavours of device, one which supports mismatch and one which doesn't. Most customers use the mismatch (or macro) devices all the time as changing the schematic is not really something you want to do on a regular basis - and with spectre, there's not really a disadvantage of using the subckt models. I think in newer technologies they always need to use a macro model so this isn't necessary.

    If you are not using the mac/mis devices, then monte carlo will be varying the parameters (because it has a statistics block), but they won't be consumed by the models, hence no significant variation. Process variation will still work however because that doesn't need the models to be in subckts.

    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