Wolfgang Buesser wrote:
Hi everybody,
probaly this is a stupid question, but I am having difficulties
generating a hierachical spice netlist: I have tried to follow the
instructions in the manual and ended up with the following netlist:
*******************************
* Begin .SUBCKT model *
* spice-sdb ver 12.27.2005 *
*******************************
.SUBCKT Amp
*============== Begin SPICE netlist of main design ============
MX1/M1 X1/N1 NN X1/GND X1/GND NMOS l=1.2 w=2.2
V1 NIN 0 VIN
X1/C1 NOUT X1/N1 Ccomp
R2 NN NOUT RR2
R1 NIN NN RR1
MX1/M2 NOUT X1/N1 X1/GND X1/GND NMOS l=1.2 w=2.2
.ENDS Amp
*******************************
while I was hoping to get something like:
.SUBCKT Amp IN OUT
*============== Begin SPICE netlist of main design ============
MX1/M1 X1/N1 NN X1/GND X1/GND NMOS l=1.2 w=2.2
X1/C1 NOUT X1/N1 Ccomp
MX1/M2 NOUT X1/N1 X1/GND X1/GND NMOS l=1.2 w=2.2
.ENDS Amp
V1 NIN 0 VIN
R2 NN NOUT RR2
R1 NIN NN RR1
X1 NN NOUT Amp
i.e. I would prefer a hierarchical netlist rather than an expanded one.
Any hints on what I skewed up are welcome.
You tried this year instead of next year ;)
Currently gnetlist flattens the netlist upon reading in the design. You
can try gnetman which is a seperate 3rd party tool which does
hierarchical netlisting. Improving gnetlist to fully support hierarchy
is up there on my wish list but I have too many other project underway
that I want to finish up first. Any contributions in this area would be
most appreciated!
In case anyone feels like working on this, it would probably be very
worthwhile to read over the database schema that Bill Cox came up with
for gnetman. We may want to implement that in gnetlist and then provide
the appropriate scheme functions to work with that database.
We'd also need a way for each backend to specify if it wanted
hierarchical mode or not since we don't want to break 27 backends at
once by changing the core.
-Dan