In this topic:
SIMetrix features a common sweeping algorithm which is used to define the swept analysis modes: .DC, .AC, .NOISE and (now) .TF, along with multiple analyses such as Monte Carlo.
The sweep algorithm has 6 modes:
As well as providing these modes, each of the modes can sweep in four different ways. These are linear, decade, octave and list.
All the swept analysis modes use the same general syntax to specify the sweep parameters. However, to maintain compatibility with SPICE and its derivatives including earlier versions of SIMetrix, each analysis mode allows variations to this standard syntax. The general syntax is described below while the variations allowed for each analysis mode are described in the section dedicated to that analysis mode.
All of the analysis modes can optionally be entered in a similar manner to .MODEL statements i.e. as an unordered list of parameter names followed by their values. For example, the following is a perfectly legal noise analysis specification:
.noise V=vout DEVICE=V1 VN=0 F=1k LIN=(100 -10m 10m) + INSRC=V1
In the various forms of the syntax described in the following sections, some of the parameter names may be omitted as long as they are entered in a particular order. It is sometimes, however, easier to remember parameter names rather than a default order, so the method described above may be more convenient for some users.
.AC|.DC|.NOISE|.TF sweep_spec [ analysis specific parameters ]
sweep_spec: One of the following:
DEVICE device_name step_spec F frequency TEMP step_spec F frequency PARAM param_name step_spec F frequency MODEL model [PARAM] mod_param_name step_spec F frequency FREQ step_spec MONTE num_steps F frequency OUTFILE xml_logfile NOMCLOG SENS [SENSID sensid] [SPAN span] [OUTFILE sens_outfile] WC [SENSID sensid] [INFILE sens_infile] [WCID wcid] [OUTFILE wc_outfile]
Where
device_name | Name of device to be swept. The following components may be swept: Capacitors, all controlled sources, fixed current source, fixed voltage source, inductors and resistors |
param_name | Name of parameter used in expression. Expressions may be used to define an instance or model parameter and may also be used in arbitrary sources |
model | Name of model containing parameter to be swept |
mod_param_name | Name of model parameter |
num_steps | Number of steps to be performed for Monte Carlo sweep |
frequency | Specified frequency for which .NOISE, .AC and .TF analyses are to be performed. May be zero for .AC and .TF. |
sensid | Identifier for sensitivity analysis. In the SENS specification this may be any arbitrary string. This may then be used in a worst-case analysis (WC specification) to signify that the worst-case analysis should receive its sensitivity data from that analysis. The sensid value must also be included in sensitivity measurement function (.SENSMEAS) definitions. If sensid is omitted from the sweep specification, a default value will be used. This is the analysis name, TRAN for .tran, AC for .AC etc. For single step sweeps, the default name is prefixed with sweep_ |
span | Proportion of the tolerance on a component that is perturbed for sensitivity measurement. The default value is 1.0 meaning that the component will be perturbed the whole tolerance from its nominal value |
step_spec | See below |
sens_outfile | File that will receive the sensitivity data. This is an XML format file that is used to generate reports and pass data to a subsequent worst-case analysis. It is not usually necessary to specify this parameter; a default file located in the temporary data directory will be used if this parameter is omitted |
sens_infile | Specifies input data file for a worst-case analysis. This file is usually generated by a sensitivity analysis. If omitted the file specified by sens_outfile in the most recent sensitivity analysis sharing the same sensid will be used. |
wcid | Identifier for worst-case analysis. This is used to identify sensitivity measurement functions that should be called to provide data output for this analysis. If omitted, the parameter defaults to the value of sensid |
wc_outfile | Data output file for worst-case analysis |
step_spec is defined as follows:
STP start stop step LIN num_points start stop DEC num_points_decade start stop OCT num_points_octave start stop LIST val1 [ val2 ... ]
Where:
start | First value |
stop | Last value (inclusive) |
step | Interval |
num_points | Total number of points |
num_points_decade | Number of points per decade |
num_points_octave | Number of points per octave |
◄ Overview | Multi Step Analyses ▶ |