simple RLC montecarlo within analog artist

Discussion in 'Cadence' started by danmc, Oct 30, 2007.

  1. danmc

    danmc Guest

    Hello,

    Is there a simple way to do a monte carlo analysis on a simple RLC
    filter from within analog artist using spectre?

    I really don't want to have to resort to creating a model file with
    subcircuits wrapping up simple things like R, L, and C along with
    statistics blocks and everything. I guess I could create my own R, L,
    and C cells that include a tolerance parameter, create spectre views,
    and a model file to go with it, but wow that seems like a lot of
    effort for what should be a really simple job. It makes me think I'm
    going about it wrong. Any suggestions?

    Thanks
    -Dan
     
    danmc, Oct 30, 2007
    #1
  2. Read the aatoolsuser.pdf and spectreref.pdf on montecarlo and you will
    see that it is not that difficult. Define the statistics blocks,
    include that file in the ADE Setup-Model Libraries and off you go. No
    need to create separate spectre views as far as I see. If you use the
    library/section paradigm, you can play around with different
    distributions and even have a corner simulation run across them. (That
    will be a little more work as you have to set up a .pcf file for the
    corner tool.
     
    Svenn Are Bjerkem, Oct 31, 2007
    #2
  3. danmc

    danmc Guest

    I know how to set up monte carlo for something like PDK elements such
    as a poly resistor or a MOS transistor. What I'm missing is what to
    do if I just want to use some analogLib components like 'res', and
    'cap'. Even the example in the aatoolsuser.pdf shows the elements
    that vary being wrapped up in an inline subcircuit. This all leads me
    to think I can't use analogLib cells but rather have to make my own R,
    L, and C cells, set up the CDF so that they netlist to something like
    "myres", "myind", "mycap", and then provide models for those in my
    model file. I can do all of this, but it seems a little wierd that
    there doesn't seem to be an easier way.

    -Dan
     
    danmc, Oct 31, 2007
    #3
  4. danmc

    JD Guest

    Hi,

    Unfortuntly, if you want use montecarlo analysis in Spectre, there is
    no easy way to do that. You must have (inline) subcircuit defined for
    the devices.

    JD
     
    JD, Oct 31, 2007
    #4
  5. Actually, you only need subckt models if you want to do mismatch. For process
    variations you can just set up a statistics block to define the process
    variations of each variable, and then reference those variables in your
    schematic - using (say) analogLib res/cap/ind components.

    If you want to have mismatch, then you need to have a parameterised subckt
    (often inline, but it doesn't have to be). Having defined such a subckt (call it
    myres, mycap, myind or whatever), you can specify the model name from the
    analogLib res/ind/cap - no need to create your own component library if you
    don't want to.

    So it's really not that much work!

    Regards,

    Andrew.
     
    Andrew Beckett, Nov 2, 2007
    #5
  6. I have several times got the question if it is possible to do what Dan
    asks here. In most cases it is the case that the user only want to
    check a silicon model vs. an ideal element to see what the difference
    is. Typically two capacitors or resistors vs. each other in an (ideal)
    opamp loop to have a reference when evaluating what the PDK says. This
    implies the need for an easy way to simulate mismatch on ideal
    elements. I was once thinking of creating my own library since it is
    most often just cap and res that the user want to vary and have a
    SKILL callback generating the mismatch block in the model file based
    on CDF parameters in the cell and automagically include that generated
    file in ADE when running. I had to postpone this work as I needed too
    much time to find out how to solve this as I am not that skilled in
    SKILL. Maybe you have an idea or two on one of your flights :) ?
     
    Svenn Are Bjerkem, Nov 3, 2007
    #6
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.