using of update.s - file for spectre?

Discussion in 'Cadence' started by Frank Nitsche, Sep 30, 2003.

  1. Hi everybody,

    we changed the analog simulator from spectreS to spectre. In the past
    (when we used spectreS) we took the updates.s file for corner analysis.
    We declared a design variable named "corner" and wrote an update.s file
    with "if...then" statements to select the parameter set (models, temp
    and vdd variation) according to the variable "corner". Then we made a
    parametric analysis over the variable "corner". This worked fine in the
    past.
    Now we've changed to spectre and we found no option to use an update.s
    file. We tried to make a corner analysis in the same manner with an
    ocean script but it doesn't work. We can select a parameter set using
    the modelFile statement within a case statement but we found no
    possibility to force the paramAnalysis statement to use this selection.

    The ocean script lookes like this:

    simulator( 'spectre )
    design( "/sun35/sd3g/rundirs/CORNERtest/spectre/schematic/netlist/netl
    ist")
    resultsDir( "/sun35/sd3g/rundirs/CORNERtest/spectre/schematic" )

    desVar( "corner" 1 )
    cornerType = evalstring( desVar("corner"))
    modelle = case( cornerType
    (1 modelFile('("/home2/work/MODELL/xc06.scs" "tm")))
    (2 modelFile('("/home2/work/MODELL/xc06.scs" "ws")))
    )
    analysis('dc ?saveOppoint t )
    temp( 27 )
    paramAnalysis("corner" ?values '(1 2 ))
    paramRun()
    exit()


    The envOption( 'updateFile ...) statement doesn't work with spectre.
    How can we force the paramAnalysis statement to use the right modelFile
    selection?
    --
    Best regards
    =========================================================
    Dr. Frank Nitsche
    Technical Manager Chipdesign

    MAZeT GmbH Email: mailto:
    Göschwitzer Str. 32 Tel : (3641) 2809 0
    D-07745 Jena Fax : (3641) 2809 12
    URL: http://www.mazet.de
    =========================================================
     
    Frank Nitsche, Sep 30, 2003
    #1
  2. Frank,

    There's no such thing as an update file in the spectre direct interface. That
    was very much a cdsSpice sort of thing.

    However, you could use the corners tool to sweep through the different
    corners - this would be a clean approach.

    Alternatively, you need to use the spectre conditional statements (either
    the structural if, or the ternary condition?true_expr:false_expr) method
    to change the models used based on a spectre parameter. Note however
    that you can't do something like this:

    if (corner==1) {
    include "..." "ss"
    }

    because the if statement can only be used with instances inside (in general).

    You'll probably need to restructure your model files quite a bit if you want to
    select the corner with a design variable; doing it with the corners tool (or
    Aptivia) is rather cleaner and can then just use sections in the model file -
    like it seems you are doing.

    Sorry for the quick and undetailed answer - I'm on a plane and the battery's
    about to run out!

    Andrew.
     
    Andrew Beckett, Oct 3, 2003
    #2
  3. Frank Nitsche

    Jimmy Blue Guest

    How many years has Cadence been trying to kill off
    socket service and the SLICE (cdsSpice) command
    language, now? Too bad they can't understand
    that people cling to it because it >>worked way
    better for the designer and the device modeler<<
    than what we have now. What we have now is a
    programmer's idea of how circuit designers ought
    to want to work. But then, I'm one who thought
    everything went to hell when they ditched the
    original SDA legacy framework for DFII, so what
    could I possibly know about what makes good CAD?

    Or, maybe, too bad they do understand that cdsSpice /
    SLICE gave people for free, the ability to implement
    functionality that Cadence would much rather charge
    for. Like, with a real command language that was
    made to tolerate syntax and provide access to the
    simulator, corner models are a bone simple breeze
    and a poor man's Monte Carlo is simple data
    structures & readable, abstracted models. How
    much would Cadence rather you pay for a separate
    Monte Carlo tool license, that is no better than
    what your device modeling group used to make in
    cdsSpice?

    Seems to me that there was supposed to be this
    spiffy new simulation interface that was going to
    give back some of the capability to do scripted &
    interactive control, analysis, etc.? Forget the
    cute name now. But in 5.0 it looks like the old,
    same old - spectre locked in its ivory tower,
    ocean clumsy and tedious and playing poorly with
    the real time design system, and what designers
    really want, moldering in a locked drawer.

    All you designers who secretly yearn to be full-time
    SKILL programmers, raise your middle finger.

    I wonder whether a SmartSpice integration might
    give you a better option. From what I gather, their
    simulator language is not as limited or as brittle.
    And they seem more interested in the analog designer
    and the device engineer.
     
    Jimmy Blue, Oct 16, 2003
    #3
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.