Run Command

Runs a simulation on specified netlist.

        [/check] [/an <analysis-spec>] [/options <options-string>] [/optforce <options-string>] [/list <list-file>]
        [/local] [/nolist] [/force] [/label <division-label] [/append <group-name>] [/pauseAt <pause-time>]
        [/noData] [/noStatus] [/sweep start|continue|finish] [/cd <directory>]  [/extraLine <extra-line>] netlist [datafile]



If specified, any analysis controls (e.g .TRAN, .AC etc.) in the netlist are ignored and the statement in analysis-spec is executed instead.


Append data created to group-name which would always be the data group created by the first run in the sequence. '/sweep continue' or '/sweep finish' must also be specified for this to function. The data is appended by adding new divisions to existing vectors so creating or extending a multi-division vector.


Simulator process current working directory is set to directory . If not specified the current working directory is set to the location of netlist


Performs a check on the netlist for syntax errrors but does not run the simulation


Adds extra-line to the end of the netlist. Use .include to append multiple lines


datafile will be overwritten if it already exists. Otherwise an error message will be displayed.


Used with /sweep to name the division of a linked run.


Override default name for list file with list-file . For multi-core multi-step runs, this is applied only to the primary list file


Save data using simulator local process. Normally data is sent through the front end.


Simulation automatically enters pause state after this time. If pause is not allowed, the simulation will terminate


Only data explicitly specified by .PRINT or .KEEP controls will be output. Usually all top level data is saved. Equivalent to placing ".KEEP /nov /noi /nodig" in netlist.


Disables fixed probe history feature. Equivalent to adding separateCurves=true to the .GRAPH statement


Inhibits creation of list file.


Similar to /check but proceeds further into the simulation run sequence but stop short of starting the run. Will output message 'User aborted analysis'


Inhibits update of the GUI status box. Use in conjunction with /nofocus to run a hidden simulation


Optimiser command file. If present, all analysis and optimiser definitions are read from this file. Any such lines found in main netlist will be ignored


Same as /options but overrides any .OPTIONS setting in the netlist


Pauses simulation at first time point after pause-time . Applied only to primary process in multi-core multi-step run.


May be set to 'start', 'continue' or 'finish'. This is used to create linked runs that save their data to the same group using multi-division vectors. The first run in such a sequence should specify '/sweep start' while the final run should specify '/sweep finish'. All intermediate runs should specify '/sweep continue'. All runs except the first must also specify '/append'


Forces a transient analysis with specified stop time. Uses other parameters from .tran line in netlist if present. Single step only


Input netlist filename


Specifies path name of file to receive simulation data. If omitted, the data is placed in a temporary data file.


The Run command does not run a simulation on the currently open schematic but on the specified netlist. Normally a run is initiated using the Simulator > Run menu item. This annotates the schematic then generates the netlist using the Netlist command. Run is then executed specifying the new netlist. The Run command may also be used to run a simulation on a netlist generated by hand or by another schematic editor. Linking Runs The data from multiple runs may be linked together in the same manner as multi-step runs such as Monte Carlo. This makes it possible to develop customised multi-step runs using the script language. Simple multi-step runs may be defined using the simulator's built in features which cover a wide range of applications. The simulator's multi-step features allow the stepping of a single component or a parameter which can define several components. But it doesn't allow, for example, a complete model to be changed, or any kind of topological changes. The script language may be used to control multiple runs of a circuit with no limit as to the changes that may be performed between each run. In such situations it is useful to be able to organise the data in the same way that the native multi-step facilities use. This can be done by linking runs using one of two methods. The tradiontal method compatible with version 8.1 and earlier is to by using the /sweep, /append and /label switches. From 8.2 a newer and simpler method is to use the OpenLinkedRun and CloseLinkedRun commands. By running simulations in this manner, the data generated by the simulator will be organised using multi-division vectors which are similar to 2 dimensional arrays. Care must be taken when making topological changes between runs. Names of nodes that are of interest must always be preserved otherwise the data generated for their voltage may be lost of mixed up with other nodes. Note also that the data for new nodes created since the first run will not be available. The same problems arise for device pin currents. Note that the netlist for a linked run must specify a single analysis only. E.g. a single.TRAN or .AC but not both. Also, do not add .OP lines to the netlist. Linked Run Example using OpenLinkedRun/CloseLinkedRun
** Open liked Run

Run /label "Run=1" changes to netlist

** second run
Run /label "Run=2" changes to netlist

** third run
Run /label "Run=3" changes to netlist

** fourth and final run
Run /label "Run=4"

In the above, the /label switches are not actually necessary as "Run=n" labels will be generated automatically. Any label, preferably in the form name=value may be used. Linked Run Example using /sweep and /append This is the old method. The newer OpenLinkedRun/CloseLinkedRun is simpler.
** First run
Run /sweep start /label "Run=1"
** save group name
Let grp1 = (Groups())[0]... changes to netlist
** second run
Run /sweep continue /label "Run=2" /append {grp1} changes to netlist

** third run
Run /sweep continue /label "Run=3" /append {grp1} changes to netlist
** fourth and final run
Run /sweep finish /label "Run=4" /append {grp1}