How to tolerance a resistor, capacitor, or inductor for a Monte Carlo analysis?
The parameters that may be toleranced for these components are those that are within model statements. Resistors will be toleranced in the following examples. Each resistor that you want to tolerance must have a model name defined for its MODEL attribute. Each tolerance value that you want to use may be defined by one model statement each. For example, if you want to place a 5% tolerance on some resistors and a 10% tolerance on others, you would need a minimum of two model statements. The following two model statements could be used:
.model RMOD5 RES (R=1 LOT=5%)
.model RMOD10 RES (R=1 LOT=10%)
All resistors with a 5% tolerance could use RMOD5 as their model statement, and all resistors with a 10% tolerance could use RMOD10 as their model statement. The R parameter is a multiplier which will multiply the resistance of any resistor that references the model statement. For the RMOD10 model, any resistor that references the model will have its resistance multiplied by a value within the range .9 to 1.1 when a Monte Carlo analysis is performed.
The LOT statement above defines an absolute tolerance. The model statements above produce resistors with perfect tracking. This means that any resistors that reference the same model statement will use the same variation. For example, if two 10k resistors and one 20k resistor reference the RMOD10 model statement, and the R parameter is toleranced to a value of 1.05, all three resistors will use this value. Their resulting values would be 10.5K, 10.5K, and 21K. This is only true if the PRIVATEANALOG option in the Global Setting is disabled (enabled is the default state).
To have each resistor toleranced individually without having to use multiple model statements, use the DEV statement as follows or enable the PRIVATEANALOG Global Setting:
.model RMOD5 RES (R=1 DEV=5%)
.model RMOD10 RES (R=1 DEV=10%)
The DEV value specifies the relative percentage variation. Each resistor will have a private set of parameters that are toleranced individually. A combination of LOT and DEV statements may also be used.
To tolerance multiple components at one time, use the Tolerances command under the Change section in the Edit menu.
This method is also applicable for capacitors and inductors.