This shows you the differences between two versions of the page.
— |
geda:ngspice_mp [2012/02/20 15:14] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== ngspice man-page ====== | ||
+ | <code>SPICE(1) 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 --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’. | ||
+ | |||
+ | 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) | ||
+ | </code> |