Can I find out the output resistance (rds or gds) of MOSFET directly from Spectre simulation (w/o us

Discussion in 'Cadence' started by Jay Smith, Apr 13, 2004.

  1. Jay Smith

    Jay Smith Guest

    Jay Smith, Apr 13, 2004
  2. If it's a DC operating point, you can get this directly.

    If it's a transient analysis, then create a file, put:

    save M1:eek:ppoint


    save M1


    save M1:gds

    where M1 is the instance name of the component in the netlist - may be hierarchical,
    for example I1.I2.M0.

    Then specify this file as a "Model File" (they don't have to be model files - any spectre
    syntax file can be included here).

    Run the simulation, and then using the results browser, you will be able to navigate down
    to the transistor in question in the transient results, and find the gds (or any other
    operating point parameter). The exact list of parameters can be found by looking
    at "spectre -h bsim3v3" (if it is a bsim3v3 model; use the appropriate model type).


    Andrew Beckett, Apr 13, 2004
  3. Jay Smith

    Jay Smith Guest

    If that's a DC operating point, how can I get the gds(rds) directly
    (BTW, I think most of the time peopel only care the DC value of gm and
    gds for linear ckt.)? From the simulator ouput (Spectre.out), all the
    operating point info is just about voltage or current. I was using DC
    sweep and parametric analysis.
    I did choose "Save all" from "ouput" in the Analog Enviroment menu.
    thanks for your help!
    Jay Smith, Apr 13, 2004
  4. Jay Smith

    Jay Smith Guest

    Got it from psf->Run1->dcOpInfo-info
    I thought this could be directly back-annotated into the schematic.

    As you suggested method, I also successfully plotted the gds vs. Vds
    from pdf->Run1->Mn->gds. But I got some more questions (can't find
    much info about these in Cadence's cdsdoc), how is the psf tree
    organized? What exactly do dc-dc, dcOp-dc, dcOpInfo-info etc mean?
    Seems to me they act differently to mouse click...

    many thanks for your valuable time!


    p.s.: If I use Spectre (w/o the SPICE translator), all the statements
    etc in other simulation files (include file, difinition file and
    stimulus file ...) should follow native Spectre syntax, right?
    Jay Smith, Apr 13, 2004
  5. Jay,

    If you look in the netlist produced by ADE, typically it will include things

    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

    Each of these is writing out a "rawfile", and the file name will be
    called (by default) instanceName.analysisName.

    The first (dcOp.dc) will contain the DC node voltages etc.
    The next few are "info" analyses - see "spectre -h info" for more
    details. is going to contain the operating point information
    (gm, gds, vdsat etc for each device).
    I think the next few are fairly self explanatory?

    You can access this data using OCEAN functions. For example:

    pv("/M1" "gds" ?result 'dcOpInfo)

    Some will be scalar, some will be vector. For example, if you're doing a DC
    sweep, it doesn't normally save the device operating point info - but it would
    if you use the save statements I mentioned with transient - in that case, if
    you did a sweep, you can get the vector (waveform) using:

    getData("M1:gds" ?result 'dc)




    p.s. Yes, they would all be in spectre syntax. See my recent post about various
    syntaxes used by spectre.
    Andrew Beckett, Apr 14, 2004
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.