• 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 simulations

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 126
  • Views 12906
  • 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 simulations

fanju
fanju over 16 years ago

Hello, all. I would like to ask a question concerning how to make a monte_carlo simulation.


In fact, I have created a component model using Verilog-A(model.va). And in the document “.scs”, I have maken some modification.


library setwei

section tm

inline subckt set_model ( d s g b )

//

parameters Cr=0.16a Cl=0.16a Cgs1=0.1a Cgs2=0.1a qe=1.6E-19 Rr=90e3 Rl=90e3 k=1.38E-23 T=300

//

set_model ( d s g b ) SETwei Cr=Cr Cl=Cl Cgs1=Cgs1 Cgs2=Cgs2 qe=qe Rr=Rr Rl=Rl k=k T=T

//

model SETwei SET_Wei

[1]

ends set_model

// ----------------------------------------------------------------------

endsection

Everything is ok to do the normal simulation to see the performance of this component (that is the model writed by verilog-a)


Now i would like to do some monte_carlo simulation. If I add some parameters in the region [1] to do monte_carlo simulations. How should I modify the verilog-a model to recogenise those parameters? or what should i do to realize the monte-carlo simulation (I know that I have to modify the document “mecanism.scs”)

  • Cancel
  • Jim McMahon
    Jim McMahon over 16 years ago

    Hi

     If you want to perform Monte Carlo simulations using spectre you  will need to add a "statistics" block to describe distribution. Unfortunately, statistics blocks cannot be added to subckts. So you will need to set the statistics block outside of the subckt definition and pass the randomly generated parameters values using different parameter names.

     For example, for the Cr parameter, I added the cr_ext parameter as shown below. One can add multiple vary lines within the process{} block for additional statistical parameters.

    library setwei

    section tm

    parameters cr_ext=0.16a // nominal value
    statistics {
            process{
                 vary cr_ext dist=gauss std=0.04a

            }
    }

    inline subckt set_model ( d s g b )

    //

    parameters Cr=cr_ext Cl=0.16a Cgs1=0.1a Cgs2=0.1a qe=1.6E-19 Rr=90e3 Rl=90e3 k=1.38E-23 T=300

    //

    set_model ( d s g b ) SETwei Cr=Cr Cl=Cl Cgs1=Cgs1 Cgs2=Cgs2 qe=qe Rr=Rr Rl=Rl k=k T=T

    //

    model SETwei SET_Wei

    [1]

    ends set_model

    // ----------------------------------------------------------------------

    endsection

    • 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