ad1

Showing posts with label Monte Carlo. Show all posts
Showing posts with label Monte Carlo. Show all posts

Sunday, October 25, 2015

Check Monte Carlo Simulation Simulation Netlist in ADE (IC5141)

Get Monte Carlo simulation netlist in IC5141
The Monte Carlo portion of the netlist is shown below:
mc1 montecarlo numruns=100 seed=1 variations=mismatch donominal=yes \
    scalarfile="../monteCarlo/mcdata" paramfile="../monteCarlo/mcparam" \
    saveprocessparams=yes processparamfile="../monteCarlo/processParam" \
    processscalarfile="../monteCarlo/processData" savefamilyplots=yes \
    sampling=lhs {
        dcOp dc write="spectre.dc" maxiters=150 maxsteps=10000 annotate=status
        dcOpInfo info what=oppoint where=rawfile
        modelParameter info what=models where=rawfile
        element info what=inst where=rawfile
        outputParameter info what=output where=rawfile
        designParamVals info what=parameters where=rawfile
        primitives info what=primitives where=rawfile
        subckts info what=subckts  where=rawfile
        export noExprs=oceanEval("0")
}




Friday, October 23, 2015

Mismatch Simulation

When simulating with mismatch, spectre will generate a random value for each of the varied global parameters for each subckt instance

There is a commonly mistaken belief that you must use inline subckts for mismatch simulation. In fact, the subckt does not need to be inline, that is merely to make back-annotation of operating point data simpler because the result database does not contain an additional level of hierarchy for the inline device.

Pick a Particular Iteration from Monte Carlo Simulation Result

value(VT("/myOut")   'iteration <iterationNumberHere>)

Specifying Parameter Distributions in Spectre -- Use Statistics Blocks

Statistics block can contain:
  • One or more process blocks;
  • One or more mismatch blocks;
  • One or more correlation statements;
  • A truncate statement (for generating truncated distributions);

Process blocks:
  • sampled once per Monte Carlo run


Mismatch blocks:
  • sampled once per subcircuit instance

Correlation statements:
Two types of correlation statements that you can use:
  • Process parameter correlation statements
  • Instance or mismatch correlation statements (matched devices)




Thursday, October 22, 2015

Sample Monte Carlo Analysis

mc2 montecarlo donominal=no variations=mismatch seed=1234 numruns=200 {
      dcop2 dc
      tran2 tran start=0 stop=1u
      export slewrate=oceanEval("slewRate(v(\"vout\"),10n,t,30n,t,10,90 )"
}

Notes:
  1. Monte Carlo analysis statement applies only mismatch variations (variations=mismatch);
  2. It does not perform a nominal run (donomial=no).