Discussion:
Generate HSPICE subckt from OCEAN
(too old to reply)
c***@gmail.com
2013-02-07 03:52:03 UTC
Permalink
I want to create a subckt HSPICE model for a cell that I have. I have been able to get most of the way to what I want by simply using the following SKILL code:

simulator('hspiceD)
design("MyLib" "MyCell" "av_extracted")
createNetlist(?recreateAll t ?display nil)

(and then I copy the netlist from the string returned by createNetlist into another file of my choosing).

The only trouble with the procedure is that I end up with some just at the top along the lines of:

** Generated for: hspiceD
** Generated on: ...
** Design library name: MyLib
** Design cell name: MyCell
** Design view name: av_extracted
.GLOBAL vdd!
.PARAM p5vonly=0 phires=0

.TEMP 25
.OPTION
+ ARTIST=2
+ INGOLD=2
+ PARHIER=LOCAL
+ PSF=2

And then it finally goes into more or less the hspice that I want. It also has an unwanted .END at the bottom of the circuit. This all could be fairly easily handled with a simple script to strip off the top and the bottom. However, it does not create the view as a subckt, it creates the view in the local "space".

I would like something that I could essentially stuff into an Hspice text view and use instead of netlisting from scratch each time. I also want to use this with Hspice outside of cadence (direct from the command line). I know I can probably get this behavior by creating another cellview with just an instance of this circuit inside it, but I would prefer not to have to create a new cellview for each circuit just to create these netlists.
Andrew Beckett
2013-02-24 13:35:45 UTC
Permalink
Post by c***@gmail.com
I want to create a subckt HSPICE model for a cell that I have. I have
been able to get most of the way to what I want by simply using the
simulator('hspiceD)
design("MyLib" "MyCell" "av_extracted")
createNetlist(?recreateAll t ?display nil)
(and then I copy the netlist from the string returned by
createNetlist
into another file of my choosing).
Post by c***@gmail.com
The only trouble with the procedure is that I end up with some just
at
** Generated for: hspiceD
** Generated on: ...
** Design library name: MyLib
** Design cell name: MyCell
** Design view name: av_extracted
.GLOBAL vdd!
.PARAM p5vonly=0 phires=0
.TEMP 25
.OPTION
+ ARTIST=2
+ INGOLD=2
+ PARHIER=LOCAL
+ PSF=2
And then it finally goes into more or less the hspice that I want.
It
also has an unwanted .END at the bottom of the circuit. This all could
be fairly easily handled with a simple script to strip off the top and
the bottom. However, it does not create the view as a subckt, it creates
the view in the local "space".
Post by c***@gmail.com
I would like something that I could essentially stuff into an Hspice
text view and use instead of netlisting from scratch each time. I also
want to use this with Hspice outside of cadence (direct from the command
line). I know I can probably get this behavior by creating another
cellview with just an instance of this circuit inside it, but I would
prefer not to have to create a new cellview for each circuit just to
create these netlists.
You could use the file called "netlist" in the netlist directory which
doesn't contain the simulation artifacts. However, it won't put the top
level subckt info there.

I have written some code to do what you've asked (for spectre, but it
could equally well be done for hspiceD), but the problem is that it will
mess up normal ADE usage, so it would probably be best if you contact
customer support at http://support.cadence.com - you can always ask them
to contact me so I can provide the code.

Regards,

Andrew.

Loading...