Home > Community > Forums > Custom IC Design > Monte_Carlo simulations

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 Monte_Carlo simulations 

Last post Wed, Feb 25 2009 12:08 AM by Jim McMahon. 1 replies.
Started by fanju 17 Feb 2009 09:02 AM. Topic has 1 replies and 1325 views
Page 1 of 1 (2 items)
Sort Posts:
  • Tue, Feb 17 2009 9:02 AM

    • fanju
    • Not Ranked
    • Joined on Tue, Feb 17 2009
    • Posts 1
    • Points 20
    Monte_Carlo simulations Reply

    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”)

    • Post Points: 20
  • Wed, Feb 25 2009 12:08 AM

    • Jim McMahon
    • Top 500 Contributor
    • Joined on Fri, Feb 20 2009
    • San Jose, CT
    • Posts 21
    • Points 355
    Re: Monte_Carlo simulations Reply

    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

    • Post Points: 5
Page 1 of 1 (2 items)
Sort Posts:
Started by fanju at 17 Feb 2009 09:02 AM. Topic has 1 replies.