User Tools

Site Tools



This shows you the differences between two versions of the page.

Link to this comparison view

geda:ngspice_mp [2012/02/20 15:14]
geda:ngspice_mp [2012/02/20 15:14] (current)
Line 1: Line 1:
 +====== ngspice man-page ======
 +<​code>​SPICE(1)  ​     SPICE(1)
 +       spice - circuit simulator
 +       spice [ -n ] [ -t term ] [ -r rawfile] [ -b ] [ -i ] [ input file ... ]
 +       This manual page describes the commands available for  interactive ​ use
 +       of SPICE3. For details of circuit descriptions and the process of simu-
 +       ​lating a circuit, see the SPICE3 User’s Manual. The commands available
 +       are a superset of those available for nutmeg - only the additional com-
 +       mands available in SPICE3 are described here.  You should ​ be  familiar
 +       with the manual page for nutmeg(1) before reading this manual page.
 +       ​Arguments are:
 +       -n (or --no-spiceinit)
 +       Don’t try to source the file "​.spiceinit"​ upon startup. Normally
 +       SPICE3 tries to find the file in the current directory, ​ and  if
 +       it is not found then in the user’s home directory.
 +       -q (or --completion)
 +       Enable command completion.
 +       -t term (or --term=term)
 +       The program is being run on a terminal with mfb name term.
 +       -b (or --batch)
 +       Run  in  batch  mode. SPICE3 will read the standard input or the
 +       specified input file and do the simulation. ​ Note that  if  the
 +       standard input ​ is not a terminal, SPICE3 will default to batch
 +       mode, unless the -i flag is given.
 +       -s (or --server)
 +       Run in server mode. This is like batch mode, except that a  tem-
 +       porary ​ rawfile is used and then written to the standard output,
 +       preceded by a line with a single "​@",​ after  the simulation ​ is
 +       done. This mode is used by the spice daemon.
 +       -i (or --interactive)
 +       Run in interactive mode. This is useful if the standard input is
 +       not a terminal but interactive mode is desired. Command ​ comple-
 +       tion  is not available unless the standard input is a terminal,
 +       however.
 +       -r rawfile (or --rawfile=file)
 +       Use rawfile as the default file into which the  results ​ of  the
 +       simulation are saved.
 +       -c circuitfile (or --circuitfile=circuitfile)
 +       Use circuitfile as the default input deck.
 +       -h (or --help)
 +       Display ​ a  verbose ​ help on the arguments available to the pro-
 +       gram.
 +       -v (or --version)
 +       Display a version number and copyright information of  the  pro-
 +       gram.
 +       ​Further arguments ​ are taken to be SPICE3 input decks, which are read
 +       and saved. (If batch mode is requested then they are run immediately.)
 +       ​SPICE3 ​ will  accept ​ any  SPICE2 ​ input decks, and output ascii plots,
 +       ​fourier analyses, and node printouts as specified in .plot, .four, ​ and
 +       ​.print cards. ​ If a out parameter is given on a .width card, the effect
 +       is the same as set width = .... Since SPICE3 ascii plots  do  not  use
 +       ​multiple ranges, however, if vectors together on a .plot card have dif-
 +       ​ferent ranges they will not provide as much information as  they would
 +       ​in ​ SPICE2. The output of SPICE3 is also much less verbose than SPICE2,
 +       in that the only data printed is that requested by the above cards.
 +       ​Vector names are the same as in nutmeg, with this addition: a name such
 +       ​as ​ @name[param],​ where name is either the name of a device instance or
 +       ​model,​ denotes the value of the param parameter of the device or model.
 +       ​See ​ the SPICE3 User’s Manual for details of what parameters are avail-
 +       able. The value is a vector of length 1. This function is also avail-
 +       ​able ​ with the show command, and is available with variables for conve-
 +       ​nience for command scripts.
 +       ​SPICE3 commands are as follows (these are only those commands not  also
 +       ​available ​ in  nutmeg ​ - consult ​ the nutmeg manual page for more com-
 +       ​mands):​
 +       ​setcirc [circuit name]
 +       Change the current circuit. The current circuit is the one  that
 +       is  used for ​ the  simulation commands below. When a circuit is
 +       loaded with the source command (see below) it becomes ​ the  cur-
 +       rent circuit.
 +       op [.op card args]
 +       Do an operating point analysis.
 +       tran [.tran card args]
 +       Do a transient analysis.
 +       ac [.ac card args]
 +       Do an ac analysis.
 +       dc [.dc card args]
 +       Do a dc transfer curve analysis.
 +       ​listing [logical] [physical] [deck] [expand]
 +       Print  a listing of the current circuit. If the logical argument
 +       is given, the listing is with all continuation ​ lines  collapsed
 +       into  one line, and if the physical argument is given the lines
 +       are printed out as they were found in the file. The  default ​ is
 +       logical. A ​ deck listing ​ is  just  like the physical listing,
 +       except without the line numbers it recreates the input file ver-
 +       batim  (except ​ that  it does ​ not preserve case). ​ If the word
 +       expand is present, the circuit will be printed with all  subcir-
 +       cuits expanded.
 +       edit [file]
 +       Print the current SPICE3 deck into a file, call up the editor on
 +       that file and allow the user to modify it, and then read it back
 +       in,  replacing ​ the  origonal deck. If a filename is given, then
 +       edit that file and load it, making the circuit the current ​ one.
 +       ​resume Resume a simulation after a stop.
 +       ​show ​  Show a device parameter.
 +       ​alter ​ Alter a device parameter.
 +       ​state ​ Print  the state of the circuit. (This command is largely unim-
 +       plemented.)
 +       save [all] [output ...] or .save [all] [output ...]
 +       Save a set of outputs, discarding the rest. If a node  has  been
 +       mentioned in a save command, it will appear in the working plot
 +       after a run has completed, or in the rawfile if spice is run  in
 +       batch  mode.  If a node is traced or plotted (see below) it will
 +       also be saved. For backward compatibility,​ if there are no  save
 +       commands given, all outputs are saved.
 +       stop [ after n] [ when something cond something ] ...
 +       Set a breakpoint. The argument after n means stop after n itera-
 +       tion number n, and the argument when  something ​ cond  something
 +       means  stop  when the  first something is in the given relation
 +       with the second something, the possible relations being eq or  =
 +       (equal ​ to), ne or <> (not equal to), gt or > (greater than), lt
 +       or < (less than), ge or >= (greater than or equal to), and le or
 +       <=  (less than or equal to).  IO redirection is disabled for the
 +       stop command, since the relational operations conflict ​ with  it
 +       (it  doesn’t ​ produce ​ any output anyway). ​ The somethings above
 +       may be node names in the running circuit, or  real  values. ​  If
 +       more than one condition is given, e.g.  stop after 4 when v(1) >
 +       4 when v(2) < 2, the conjunction of the conditions is implied.
 +       trace [ node ...]
 +       Trace nodes. Every iteration the value of the node is printed to
 +       the standard output.
 +       iplot [ node ...]
 +       Incrementally plot the values of the nodes while SPICE3 runs.
 +       step [number]
 +       Iterate number times, or once, and then stop.
 +       ​status Display all of the traces and breakpoints currently in effect.
 +       ​delete [debug number ...]
 +       Delete ​ the  specified breakpoints and traces. The debug numbers
 +       are those shown by the status command. (Unless you do  status ​ >
 +       file, in which case the debug numbers aren’t printed.)
 +       ​reset ​ Throw  out  any  intermediate ​ data in the circuit (e.g, after a
 +       breakpoint ​ or  after  one  or  more  analyses ​ have  been  done
 +       already), and re-parse the deck. The circuit can then be re-run.
 +       (Note: this command used to be end in SPICE 3a5 and earlier ver-
 +       sions  -- end is now used for control structures.) ​ The run com-
 +       mand will take care  of  this  automatically, ​ so this  command
 +       should not be necessary...
 +       run [rawfile]
 +       Run the simulation as specified in the input file. If there were
 +       any of the control cards .ac, .op, .tran, or .dc, they are  exe-
 +       cuted. The output is put in rawfile if it was given, in addition
 +       to being available interactively.
 +       ​source file
 +       Read the SPICE3 input file file. Nutmeg and SPICE3 commands ​ may
 +       be  included in the file, and must be enclosed between the lines
 +       .control and .endc. ​ These  commands ​ are executed ​ immediately
 +       after  the  circuit ​ is loaded, so a control line of ac ... will
 +       work the same as the corresponding .ac card.  The first line  in
 +       any  input  file is ​ considered a title line and not parsed but
 +       kept as the name of the circuit. The exception to this  rule  is
 +       the  file .spiceinit. ​ Thus, a SPICE3 command script must begin
 +       with a blank line and then with a .control line. Also, any line
 +       beginning with  the characters *# is considered a control line.
 +       This makes it possible to imbed commands in SPICE3 ​ input files
 +       that  will  be  ignored ​ by earlier versions of SPICE. ​ Note: in
 +       spice3a7 and before, the .control ​ and  .endc  lines  were  not
 +       needed, and any line beginning with the name of a front-end com-
 +       mand would be executed.
 +       ​linearize vec ...
 +       Create a new plot with all of the vectors in the current plot,
 +       or only those mentioned if arguments are given. ​ The new vectors
 +       will be interpolated onto a linear time scale, which  is deter-
 +       mined by the values of tstep, tstart, and tstop in the currently
 +       active transient analysis. ​  The currently ​ loaded ​ deck  must
 +       include a transient analysis (a tran command may be run interac-
 +       tively before the last reset, alternately),​ and the current plot
 +       must  be from ​ this transient analysis. This command is needed
 +       because SPICE3 doesn’t output the results from a transient anal-
 +       ysis in the same manner that SPICE2 did.
 +       ​There ​ are  several set variables that SPICE3 uses but nutmeg does not.
 +       They are:
 +        ​editor
 +        The editor to use for the edit command.
 +        ​modelcard
 +        The name of the model card (normally .model).
 +        ​noaskquit
 +        Do not check to make sure that there  are  no  circuits
 +        ​suspended ​ and  no plots unsaved. ​ Normally SPICE3 will
 +        warn the user when he tries to  quit  if this  is  the
 +        case.
 +        ​nobjthack
 +        ​Assume that BJT’s have 4 nodes.
 +        ​noparse
 +        ​Don’t ​ attempt ​ to  parse  decks when they are read in
 +        ​(useful for debugging). Of course, they cannot ​ be  run
 +        if they are not parsed.
 +        ​nosubckt
 +        ​Don’t expand subcircuits.
 +        ​renumber
 +        ​Renumber input lines when a deck has .include’s.
 +        ​subend
 +        The card to end subcircuits (normally .ends).
 +        ​subinvoke
 +        The prefix to invoke subcircuits (normally x).
 +        ​substart
 +        The card to begin subcircuits (normally .subckt).
 +       ​There ​ are  a number of rusage parameters available, in addition to the
 +       ones available in nutmeg:
 +       If there are subcircuits in the input file, SPICE3 expands instances of
 +       ​them. ​  ​A ​ subcircuit ​ is  delimited by the cards .subckt and .ends, or
 +       ​whatever the value of the variables substart ​ and  subend ​ is,  respec-
 +       ​tively. An ​ instance of a subcircuit is created by specifying a device
 +       with type ’x’ - the device line is written
 +       xname node1 node2 ... subcktname
 +       where the nodes are the node names that replace the  formal ​ parameters
 +       ​on ​ the .subckt line. All ​ nodes  that are not formal parameters are
 +       ​prepended with the name given to the instance and a  ’:​’, ​ as  are  the
 +       ​names ​ of  the  devices in the subcircuit. If there are several nested
 +       ​subcircuits,​ node and device names look like  subckt1:​subckt2:​...:​name.
 +       ​If ​ the variable ​ subinvoke is set, then it is used as the prefix that
 +       ​specifies instances of subcircuits,​ instead of ’x’.
 +       The standard suffix for rawspice files in VMS is "​.raw"​.
 +       You may have to redefine the value EDITOR if you wish to use  the  edit
 +       ​command,​ since the default for VMS is "​vi"​.
 +       ​nutmeg(1), ​ sconvert(1),​ spice(1), ​ mfb(3), writedata(3) SPICE3 User’s
 +       Guide
 +       ​SPICE3:​ Tom Quarles (
 +       ​nutmeg / User interface: Wayne Christopher (
 +       ​SPICE3 will recognise all the notations used in SPICE2 .plot cards, and
 +       will translate vp(1) into ph(v(1)), and so forth. However, if there are
 +       ​spaces in these names it won’t work. Hence v(1, 2) and (-.5, .5) aren’t
 +       ​recognised.
 +       ​BJT’s ​ can  have either 3 or 4 nodes, which makes it difficult for the
 +       ​subcircuit expansion routines to decide what to rename. If  the fourth
 +       ​parameter ​ has  been  declared as a model name, then it is assumed that
 +       there are 3 nodes, otherwise it is considered a node. To disable ​ this
 +       ​kludge,​ you can set the variable "​nobjthack",​ which will force BJT’s to
 +       have 4 nodes (for the purposes of subcircuit expansion, at least).
 +       The @name[param] notation might not work with trace, iplot, etc.   yet.
 +       ​The ​ first  line of  a command file (except for the .spiceinit file)
 +       ​should be a comment. ​ Otherwise SPICE ​ may  create ​ an empty ​ circuit
 +       ​structure.
 +       ​SPICE3 files specified on the command line are read in before the .spi-
 +       ​ceinit file is read. Thus if you define aliases there that you call  in
 +       ​a ​ SPICE3 ​ source ​ file mentioned ​ on  the command line, they won’t be
 +       ​recognised.
 +4th Berkeley Distribution 20 March 1986  ​     SPICE(1)
geda/ngspice_mp.txt · Last modified: 2012/02/20 15:14 (external edit)