In this topic:
SIMetrix produces a list file by default. This receives all text output except for the Monte Carlo log. This includes operating point results, model parameters, noise analysis results, sensitivity analysis results, pole-zero analysis results and tabulated vectors specified by .PRINT.
The list file is generated in the same directory as the netlist. It has the same name as the netlist but with the extension .OUT.
There are a number of options that control the list file output.
Option name | Description | ||||||||
PARAMLOG |
Valid values:
|
||||||||
EXPAND | Flag. If specified, the netlist with all sub-circuits expanded will be output to the list file | ||||||||
EXPANDFILE | String. If specified the expand netlist will be output to the specified file rather than the list file | ||||||||
NOMOD | Same as PARAMLOG=none. Model parameters will not be output | ||||||||
WIDTH | Page width in number of characters. (The list file is formatted assuming that it will be read or printed using a fixed width font such as Courier.) The default is 80 but any value may be used not just 80 and 132 as in SPICE 2. | ||||||||
OPINFO | If set DC operating point info file is created for all analyses (except .SENS). Normally it is created only for .OP analyses |
The simulation data is stored in a binary data file. The format is proprietary to SIMetrix and is not compatible with SPICE 'raw' files.
The name and location of the binary file depends on configuration settings and in what mode the simulator is run. Usually, the file is located in the directory specified by the TEMPDATADIR configuration setting (see Configuration Settings) and is named according to the analysis type and appended with the extension .sxdat. E.g.tran1.sxdat, ac2.sxdat, dc3.sxdat etc. The name and location can be overridden at the program command line if operated in non-GUI mode or at the front end Run command line if run in GUI mode.
Only the SIMetrix front end can read the simulator's binary data file. When run in GUI mode, the file is automatically loaded and in fact it is not usually necessary to know anything about it except perhaps when it grows very large and fills up your disk. If the simulator is run in non-GUI mode, it becomes necessary to explicitly load the data into the front end when the run is complete. This can be done with the command shell menu User's Manual/Graphs,Probes and Data Analysis/Saving Data/Restoring Simulation Data for further details.
. After the data is loaded, the results can be plotted in the usual manner. SeeFor transient, DC and AC analyses, SIMetrix calculates and stores the circuit's node voltages and device pin currents and these are all given unique names. If using probing techniques with the front end's schematic editor you don't usually need to know anything about the names used. However there are situations where it is necessary or helpful to know how these names are derived. An example is when compiling an expression relating voltages and currents to be used in a .PRINT statement. Another is when plotting results created by simulating a netlist that was not generated using the schematic editor. The names used are documented in the following notes.
The vector names used for node voltages at the top level (i.e. not in a subcircuit) are simply the name of the node used in the netlist. If using the schematic editor the name of any node can be fixed using a Terminal symbol. See menu
.For nodes within a subcircuit, the name is prefixed with the subcircuit reference and a '.'. For example:
X1 N1 N2 N3 SubName X2 N4 N5 N6 SubName .SUBCKT 1 2 3 SubName X3 N1 2 N3 SubName2 R1 VIN 0 1k ... .ENDS .SUBCKT 1 2 3 SubName2 V1 VCC 0 5 ... .ENDS
The internal node VIN in definition SubName referenced by X1 would be called X1.VIN. The same node referenced by X2 would be called X2.VIN. The node VCC defined in subcircuit SubName2 would be named X1.X3.VCC and X2.X3.VCC for X1 and X2 respectively.
A non-standard node name is one that begins with a digit or which contains one or more of the characters:
\ " % & + - * / ^ < > [ ] ' @ { }
These are legal but introduce problems when accessing the voltage data that they carry. The above characters can be used in arithmetic expressions so cause a conflict if used as a node name. In order to access the voltage data on a node so named, use the Vec() function:
Vec('node_name')
Example with .PRINT and node called V+
.PRINT TRAN {Vec('V+')}
A similar syntax is required when using the front end plotting commands.
Device pin currents are named in the following form:
device_name#pin_name
For primitive devices (i.e. not sub-circuits) pin_name must comply with the table in Device Lines. For example the current into the collector of Q23 would be Q23#c.
The pin names for sub-circuits depend on whether the pinnames: specifier (see Subcircuit Instance) is included in the netlist entry for the device. If it is the pin current name will be the name listed after pinnames:. If it isn't then they are numbered in sequence starting from 1. The order is the same as the order they appear in the netlist device line. For example, if the subcircuit line is:
X$U10 N1 N2 N3 N4 N5 LM324 pinnames: VINP VINN VP VN VOUT
The current into the last pin (connected to N5) would be U10#VOUT
(Note that 'X$' is stripped off as explained above in Device Lines).
If the netlist line is:
X$U10 N1 N2 N3 N4 N5 LM324
The same current would be U10#5
Some devices have internal nodes or sources and the voltages or currents associated with these may be output by the simulator. These are named in a similar manner to pin currents i.e.
device_name#internal_name
The internal_name depends on the device. For example, bipolar transistors create an internal node for each terminal that specifies a corresponding resistance parameter. So if the RE parameter is specified an internal node will be created called emitter.
Note that internal device values are only output if explicitly enabled using the ".KEEP /INTERNAL" statement. See .KEEP.
◄ Netlist Format | Data Handling - Controlling Data Saved ▶ |