get nominal results from MC analysis

Discussion in 'Cadence' started by JD, Sep 19, 2007.

  1. JD

    JD Guest

    Hi,

    Although MC analysis will simulate at nominal by setting
    donominal=yes, it seems there is no way to find out the results for
    the nominal simulation.

    Is there anyway to get the simulation results for the MC nominal
    simulation?

    Thanks,


    JD
     
    JD, Sep 19, 2007
    #1
  2. Yes, you can do this. Here's a quick cut and paste of my
    experiments (with a spectreRF simulation, but that's not important):

    results() gives:
    (output "subckts-info.subckts" "element-info" "pss-td.pss" "pss-fi.pss"
    subckts instance "modelParameter-info" "pss-fd.pss" variables
    primitives designParamVals pss_td "outputParameter-info" model
    "designParamVals-info" pss_fd "mc1_pss_fi-montecarlo"
    "primitives-info.primitives"
    )

    and results(?noAlias t) gives:

    ("mc1_outputParameter-montecarlo" "subckts-info.subckts" "element-info"
    "pss-td.pss" "pss-fi.pss"
    "mc1_subckts-montecarlo" "mc1_element-montecarlo" "modelParameter-info"
    "pss-fd.pss" "variables"
    "mc1_primitives-montecarlo" "mc1_designParamVals-montecarlo"
    "mc1_pss_td-montecarlo" "outputParameter-info" "mc1_modelParameter-montecarlo"
    "designParamVals-info" "mc1_pss_fd-montecarlo" "mc1_pss_fi-montecarlo"
    "primitives-info.primitives"
    )

    so consequently, the non monte-results are:

    setof((x y) results() (results ?noAlias t) x==y)

    ("subckts-info.subckts" "element-info" "pss-td.pss" "pss-fi.pss"
    "modelParameter-info"
    "pss-fd.pss" "outputParameter-info" "designParamVals-info"
    "mc1_pss_fi-montecarlo" "primitives-info.primitives"
    )

    (actually that's probably not right - you could just do
    setof(x results(?noAlias t) !rexMatchp("^mc" x))
    to get a better list)

    So, for example, the normal PSS measurement I'm doing would
    be:

    db(harmonic(v("/IFp" ?result "pss_fd") 1))

    whereas the nominal value would be:

    db(harmonic(v("/IFp" ?result "pss-fd.pss") 1))

    Put another way, the monte-carlo results get the aliased name, but the nominal
    results don't - you need to use the direct name instead.

    Regards,

    Andrew.
     
    Andrew Beckett, Sep 20, 2007
    #2
  3. JD

    JD Guest

    Thanks very much for the answer.

    However, if I use

    export output=oceanEval(....)

    inside montecarlo loop, it seems in the mc.mcdata, there is no nominal
    output available.

    Is there a way to get the nominal output saved in mc.mcdata or some
    other file in the .raw directory?

    Thanks

    JD
     
    JD, Sep 20, 2007
    #3
  4. If you're running monte carlo either from ADE, or directly from a spectre
    netlist, the nominal value of each expression is never written into the mcdata
    (or any other ASCII file). You will however get all the PSF results of the
    noninal run, and so you can always use OCEAN to evaluate the same
    expressions again on the nominal data set. One of the main purposes
    of the nominal run is to check the expressions are OK and to abort if they're
    not - rather than running 50 sims and getting bad results for every point.

    However, if you're running standalone (perhaps you are, since you refer to the
    ..raw directory), you could use spectremdl to run the monte-carlo simulations.
    This is a rather nice flow for standalone use - there's examples in the
    SpectreMDL workshop (in <MMSIMinstDir>/tools/spectre/examples )
    of doing this. In the monte.mdl example, you can see what happens if you
    set donominal='yes - you get the result of the "0" iteration in
    the results files. In the MDL flow, it also outputs the mean and stddev and
    so on rather than you having to compute it yourself. The other difference is
    that your expressions are written in MDL rather than OCEAN - but that's not
    a massive problem.

    Regards,

    Andrew.
     
    Andrew Beckett, Nov 15, 2007
    #4
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.