Post-process Netlister output

Discussion in 'Cadence' started by Raj, May 25, 2006.

  1. Raj

    Raj Guest

    Guys,

    Is there an elegant way to customize the netlist spitted out by
    hspiceD/Spectre (in ADE)? Is the only way to write a custom output
    formatter instead of using the cadence standard netlist procedures for
    these simulators? Writing a whole new formatter seems like stretch for
    what I want to do...I would prefer something like a perl script that
    will take the netlist generated by the standard netlister and
    pos-process it. I am looking for means to plug-in this perl script such
    that the final netlister output is "standard netlist +
    post-processing". It should be transparent to users...

    Motivation is, we have regular corner models which are model cards and
    statistical/mismatch models which are subcircuits. I can set up the
    simInfo to netlist out the devices with an M (say for mos devices) as
    instance prefix when users want to run the model cards...I need a way
    to replace M by X's when the netlist has to be run on mismatch models
    (I don't like the effective CDF route).

    Btw, if I have to write an output formatter, I should be looking at the
    capabilities offered by the hnl variables and access functions right??

    Any ideas?

    Thanks
    Raj
     
    Raj, May 25, 2006
    #1
  2. First of all the instance prefix is irrelevant for spectre - it is the name of
    the thing that is instantated which is important (and these can be the name of a
    model, subckt, verilog-a module or built-in primitive interchangeably).

    You should probably look at the "nl" functions which are covered in the ADE
    SKILL manual <instdir>/doc/skartistref/skartistref.pdf for more details.

    Then you can write a custom netlisting procedure which writes out either
    M or X for hspiceD depending on the situation, as you've described.

    Andrew.
     
    Andrew Beckett, May 25, 2006
    #2
  3. Raj

    Raj Guest

    Thanks Andrew. Isn't "nl" for flat netlisters? Isn't hspiceD an
    heirarchical netlister? So, you are suggesting I write a device
    specific netlistProcedure (in this case for MOS) to do this? Lets say I
    want to estimate some caps for pre-layout sims and stick it into the
    netlist at slect nodes. In this case, I would need a way to
    post-process the entire netlist, not anything device specific...is
    there a way to do that?? To post-process the netlist after the fact
    that it has been generated...a hook that would call the post-processing
    everytime?

    - Raj
     
    Raj, May 25, 2006
    #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.