An Historical note on spice netlist format
Hi all,
I am reading the netlist issue for a simulator and would like to give a
small historical contribution:
The spice netlist format (spice deck) was conceived in a world where
programs were written on punch-cards. One of the most time consuming
task was reordering the deck (which contitued the program) after
it fell on the gorund and cards went all over the floor. If you
look at it, there is no need of order in a deck (well, spice 3 differ a
bit: the first line is the title).
Nowadays, punch-card reader are almost disappeared (do you have one to
giveaway ?), and since we all use file on disks or on printed paper
sheets, the nelist format can be ordered in sections. This will ease the
parser (I think) and will make the nelist more readable. To convert a
spice netlist format to ACS/ngspice/whateversimulator, a perl script
can be sufficient.
Example:
TitleSection {
title = "My circuit title";
author = "I'm the author";
version = 2.6.7;
}
Circuit_Description {
resistance <node1> <node 2> model=<modelname> param=value ....;
capacitor <node1> <node 2> model=simplecapacitor c=1uF ...;
bjt <node1> <node 2> ... <node k> model=bsim1 param=....;
}
Control {
OP
...
...
}
This is only a rough idea.
Bye,
Paolo
Partial thread listing: