Proposed netlist format extension


To ng-spice@ieee.ing.uniroma1.it
From Al Davis <aldavis@ieee.org>
Date Wed, 31 Jan 2001 15:54:25 -0800
Delivered-To mailing list ng-spice@ieee.ing.uniroma1.it
Mailing-List contact ng-spice-help@ieee.ing.uniroma1.it; run by ezmlm
Reply-To ng-spice@ieee.ing.uniroma1.it

As you know, Spice determines the type of component by the first 
letter of its instance name.  This has the obvious limit of 26 
letters, which leads to clumsy kluges when more types are added.  I 
have taken one approach in ACS, for now, but I would like for 
something to be accepted as a standard that we will all use.

The ACS extension uses the concept that any non-comment line begins 
with either the instance name or a dot.  A new field is added at the 
beginning of a line that indicates the type of device.  The old 
format is retained for backward compatibility.  Parsing is easy and 
fast.

Example:
Traditional form:
  R12  (1 2) 10k
New form:
  .resistor R12 (1 2) 10k

New component, new form:
  .vccap (C1234 (1 2 3 4)  10u
(This is a voltage controlled capacitor.)

Ultimately, general new devices could be added using this syntax.  If 
the line does not begin with a dot, the type is determined by the 
first letter as Spice always has done it.


Another possibility of the Spectre format, where the type is inserted 
later in the line:
  R12 (1 2) resistor R=10k 
  C1234 (1 2 3 4) vccap c=10p
This also adds the "R=" keys, which adds flexibility.

I chose not to use this form because it is slower to parse and is 
difficult to make it backward compatible.  As far as I know, only 
Cadence uses this format.

There is also the HSPICE form, which patches into existing elements, 
so the vccap would be:
  G1234  1 2  VCCAP  3 4  10p
Note placement of key in the middle of the node list.
Note also that the instance name begins with "G".
It is implemented as an extension of a VCCS, which is "G".

ACS accepts this form when HSPICE has the corresponding device, but I 
don't like it.  Parsing is slow and it is counter intuitive.

XSPICE picks a particular letter for its code models.  I think it is 
"A".

There are other simulators that use other formats not listed here.  
The RF/microwave simulators use another format.  The signal integrity 
simulators all seem to have their own.

I hereby propose we adopt this "dot" form.

Comments?????
Any better ideas???

al.


Partial thread listing: