Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SPICE(1)		    General Commands Manual		      SPICE(1)

NAME
       spice - circuit simulator

SYNOPSIS
       spice [ -n ] [ -t term ]	[ -r rawfile] [	-b ] [ -i ] [ input file ... ]

DESCRIPTION
       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 -N)
	      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.

       -t term (or -T term)
	      The program is being run on a terminal with mfb name term.

       -b (or -B)
	      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 -S)
	      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 -I)
	      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 -R rawfile)
	      Use rawfile as the default file into which the  results  of  the
	      simulation are saved.

       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,  ex-
	      cept without the line numbers it recreates the input file	verba-
	      tim (except that it does not preserve case).  If the word	expand
	      is present, the circuit will be printed with all subcircuits ex-
	      panded.

       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 al-
	      ready), 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 af-
	      ter 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	begin-
	      ning  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 command 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  in-
	      clude  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
	      analysis 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'.

VMS NOTES
       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".

SEE ALSO
       nutmeg(1),  sconvert(1),	 spice(1),  mfb(3), writedata(3) SPICE3	User's
       Guide

AUTHORS
       SPICE3:	Tom Quarles (quarles@cad.berkeley.edu)
       nutmeg /	User interface:	Wayne Christopher (faustus@cad.berkeley.edu)

BUGS
       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.

CAVEATS
       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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=spice3&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help