Post-process Netlister output

R

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
 
On 24 May 2006 16:00:53 -0700, "Raj" <cokeraj@gmail.com> wrote:

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
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
Principal European Technology Leader
Cadence Design Systems, UK.
 
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
 

Welcome to EDABoard.com

Sponsor

Back
Top