Re: [ng-spice-devel] Netlist format extension


To ng-spice-devel@ieee.ing.uniroma1.it
From Al Davis <aldavis@ieee.org>
Date Wed, 7 Feb 2001 11:57:00 -0800
Delivered-To mailing list ng-spice-devel@ieee.ing.uniroma1.it
In-Reply-To <CF654D964573D311A1CA0090278A36FF4CBD7C@EDIN_EXM1 >
Mailing-List contact ng-spice-devel-help@ieee.ing.uniroma1.it; run by ezmlm
References <CF654D964573D311A1CA0090278A36FF4CBD7C@EDIN_EXM1 >
Reply-To ng-spice-devel@ieee.ing.uniroma1.it

On Wed, 07 Feb 2001, Gillespie, Alan wrote:
> At the moment, to save, for example, the collector current
> of a bipolar device, you need to ask for it in the format -
>
> ..save @qname[ic]

This syntax has always impressed me as being strange.  ACS has always 
expressed it as ic(qname).  

Why?

voltage at a node has always been:
   v(nodename)

Current through a two-terminal device has always been:
   i(devname)
(but Spice only allowed current probes on voltage sources)

In AC analysis, phase of the voltage has always been:
  vp(nodename)

Well ....  it looks like it is always:
   parameter(object)

Therefore, ACS extended probes took this form, for example:
   Isb(mname)      (source to bulk current)
or
   Cgs(mname)     (the instantaneous capacitance ....)


Later, when Spice added the ability to probe this stuff, the syntax 
changed, and it only works with some kinds of analysis, so Spice has 
two different syntaxes for expressing probes.


Anyway, ...  it is not necessary that the device type is apparent 
here.  The simulator can look up the device and find out what type it 
is, and what probes are allowed.

I suppose I should make ACS support the @object[parameter] syntax as 
an alternative to the parameter(object) syntax, for compatibility.


Regarding devices in subciruits .....

ACS has always used the syntax:
   label.subname.subname ...

For example:
   C5.Xabc
is C5 in Xabc

Looking at all of the Spice programs ....   about half do it this 
way.  The other half reverse the order.  Some of those that reverse 
the order use a kluge that separates out the first letter that 
determines the device type.  Example:
   C.Xabc.5

Partial thread listing: