RE: [ng-spice-devel] An Historical note on spice netlist format


To ng-spice-devel@ieee.ing.uniroma1.it
From Charles Cook <chuckc@aitfl.com>
Date Wed, 7 Feb 2001 07:50:05 -0500
Delivered-To mailing list ng-spice-devel@ieee.ing.uniroma1.it
Mailing-List contact ng-spice-devel-help@ieee.ing.uniroma1.it; run by ezmlm
Reply-To ng-spice-devel@ieee.ing.uniroma1.it

The punch card reader is not gone!  We still use it 
here in Florida to count votes!  :)

Chuck

-----Original Message-----
From: Paolo Nenzi [mailto:pnenzi@ieee.ing.uniroma1.it]
Sent: Wednesday, February 07, 2001 6:56 AM
To: 'ng-spice-devel@ieee.ing.uniroma1.it'
Subject: [ng-spice-devel] 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: