label
|
Optional label that will be included in every violation report. You can use the following symbolic values in this label:
%INST% - substituted with the instance name that violated the specification. This is only meaningful if MODEL or INST are specified. (See below)
%MODEL% - substituted with the model name that violated the specification. Only meaningful if MODEL is specified. (See below)
%EXPR% - substituted with the expression that violated the specification.
%SUBCKT% - applicable if the .SETSOA command is located within a .SUBCKT definition. Value is substituted with the subcircuit instance reference.
|
modelname
|
If specified the expression or expressions supplied in expr1 etc. are applied to every instance belonging to modelname. In this case the expression may refer to node voltages and pin currents for each instance processed. See details under expr1, expr2...
|
instname
|
If specified the expression or expressions supplied in expr1 etc. are applied to the specified instance (e.g. Q23, M10, R56). In this case the expression may refer to node voltages and pin currents of the specified instance. See details under expr1, expr2...
|
device
|
If INST or MODEL is specified using a wildcard specification, only instances of the specified device type will be processed. For example:
.SETSOA INST=* DEVICE=resistor...
will be applied to all resistors in the circuit. See List of All Simulator Devices for a list of device names.
|
derating
|
Derates limit specification by specified factor. Default is 1.0 which means no derating. Value must be greater than 0. An expression containing values defined using .PARAM may be used. |
expr1, expr2...
|
Expression to be evaluated and compared against minimum and maximum specs. This expression can access simulation results using access variables. The format and scope of these variables depends on whether MODEL, INST or neither is specified.
If neither is specified, the expression can use the global access variables defined below:
\hline
Syntax
|
Function
|
Example
|
\hline
nodename
|
Voltage on node |
VOUT - voltage on node VOUT |
n(nodename)
|
Voltage on node |
n(VOUT) - voltage on node VOUT |
instname#param
|
Instance parameter |
M2#vdsat - vdsat value for M2
Q23#c - current in collector of Q23
|
paramname
|
Parameter defined using .PARAM |
|
If there is a clash between a paramname and nodename, that is if the same name could refer to either a node or a parameter, then the parameter name takes precedence. To access the node in this case, use the n(nodename) syntax.
|
|
Use the following values if MODEL or INST is specified. In each case (excepting the global access variable) the variable accesses a quantity for the instance being processed. With INST this will be the single instance specified by instname. With MODEL all instance belonging to the model specified by modelname will be processed.
\hline
Syntax
|
Function
|
Example
|
\hline
pinname
|
Current in pin |
c - current in collector of transistor |
Ipinname
|
Current in pin |
Ic - current in collector of transistor |
Ipinname_m
|
Current in pin scaled according to multiplier (e.g. M parameter). Equivalent to Ipinname/M
|
Ic_m - current in collector of transistor scaled by multiplier. |
Vpinname
|
Voltage on pin |
Vc - voltage on collector of transistor |
n(pinname)
|
Voltage on pin |
n(c) - voltage on collector of transistor |
Vxy
Where x = pin name 1, y= pin name 2. Both x and y must be single letters
|
Voltage between x and y. |
Vbc - voltage from base to collector |
pow
|
Power in device |
|
pow_m
|
Power in device scaled according to multiplier. Equivalent to pow/M |
|
param
|
Readback parameter |
vdsat - 'vdsat' for MOSFET |
#global_name
|
Global node voltage or pin current |
#VOUT - voltage on net called VOUT
#q23#c - current in collector of q23
|
paramname
|
Parameter defined using .PARAM |
|
Note that currently the use of V() and I() is not accepted and will result in an error message being displayed.
|
min, max
|
Minimum and maximum values respectively. A violation message will be produced if the value of the associated expression is less than min or greater than max. Use '*' if the limit is to be ignored. E.g. (*, 15) will test a maximum value of 15 but the minimum value will not be tested. min and max values may be scaled using the .OPTIONS SOADERATING.
These values may be entered as expressions containing variables defined using .PARAM.
|
xwindow
|
Optional value specifies a minimum window that must be surpassed before limit violations are registered. For example if 10u is specified for xwindow for a transient analysis, then the limit must be exceeded continuously for at least 10uS before the violation is recorded.
This value may be entered as an expression containing variables defined using .PARAM.
|
ALLOWUNUSED
|
If INST or MODEL are specified, an error will result if no instances to be processed are found. If INST is specified the error will occur if instname doesn't exist. If MODEL is specified, the error will occur if there are no instances using modelname even if modelname itself is valid.
This error will be inhibited if ALLOWUNUSED is specified
|
ALLOWWILD
|
If specified, wildcards can be used for modelname and instname. In this case SIMetrix will search for all devices that match the wildcard specification. Use '*' to match any sequence of characters and '?' to match a single character.
|
MEAN
|
If specified all tests will be on the mean of the test expression over the whole simulation run. |