The Monte Carlo analysis is a statistical analysis that performs multiple consecutive simulations by varying, at random, the value of all the components for which a tolerance value has been specified. The Monte Carlo analysis allows to study the effect that the variations of the values of the circuit elements have on the performance of the circuit.

The tolerance values of the components can be specified as follows:


To perform a Monte Carlo analysis, select Monte Carlo Analysis in the Analysis Mode box in the Setup dialog box for one of the following analyses: AC, Operating Point, Transient, Transfer Function, Noise, Distortion.


A Monte Carlo analysis can produce a large amount of data causing an excessive use of memory and a lower speed of simulation. To reduce the amount of data that is stored during a simulation it may be convenient to specify the names of only the vectors of interest, in this case only the data related to the specified vectors will be stored.

Number of Runs

The number of simulation runs you want the Simulator to perform. For example, if you specify the number 10, eleven analyses will be performed: one nominal without changing the value of the components and ten statistical analyses by varying the value of all components at each step according to the specified tolerance values. More repetitions produce a more accurate statistical result at the expense of more simulation time.


During the Monte Carlo analysis, the values of the components vary randomly using a random number generator. The value specified in this box allows you to initialize the random number generator so that it always produces the same sequence of numbers. To obtain an always different sequence of numbers you must specify the number 0.

Default Distribution

During the Monte Carlo analysis, the values of the components are randomly varied according to a specified statistical distribution. In this box you must select the default distribution type to be used for all tolerance values for which a given distribution is not specified. Three types of distributions are available: Uniform, Gaussian, and Worst Case:


Lists the categories of components for which you can specify a tolerance value. If you select a category, the Tolerances box lists all components for which a tolerance value has been specified. You can specify a tolerance value for component parameters, model parameters, and global parameters.


In this box you can set tolerance values for component parameters, model parameters and global parameters. To add a new tolerance value, click on the Add button and then select the component, model or global parameter to be changed.


The list also shows, in green, the tolerance values specified in the SPICE attributes of the components included in the schematic.


Specify the name of the component, model, or global parameter. For the following categories: resistors, capacitors, inductors, and DC generators, you can specify a default tolerance value (select *default* for the name) that will be used for all components in the specified category for which no tolerance value is specified.


Specify the parameter to which the specified tolerance values are to be applied. The term VALUE refers to the value of resistors, capacitors, inductors and DC generators as specified in the value field of the component in the schematic.


You can specify a new nominal value of the parameter, or select default to use the current value.

Tolerance values

You can specify either the DEV tolerance or the LOT tolerance or both. In the latter case, the tolerance values are calculated independently and added together. The combination of DEV and LOT tolerances is useful for situations where component variations are not completely correlated, but are not completely independent of each other either. For example, in a resistive network there may be a component related LOT tolerance and a smaller DEV tolerance related to the variations of individual resistors.

Each tolerance value is defined by the following three parameters:

Analysis results

A Monte Carlo analysis consists of a first simulation in which the values of the components assume the nominal value and in a number of statistical simulations equal to the specified number of repetitions. If the number of repetitions is limited, the result of the analysis can be reported as a set of curves each of which corresponds to a certain combination of the set tolerance values. If the number of repetitions is high then it is convenient to compress the results into a single curve. The available options are as follows:

Option Description


The result is a series of curves, each of which corresponds to a different combination of tolerance values.

Maximum Value

The result of the analysis is the nominal value curve and the maximum value curve.

Minimum Value

The result of the analysis is the nominal value curve and the minimum value curve.

Greatest Difference

The result of the analysis is the nominal value curve and the curve with the point of greatest difference from the nominal curve.

Skip tolerance values specified in the symbols

Check this box to ignore the tolerance values specified in the SPICE attributes of the components. Checking this box will cause the analysis to be performed using only the tolerance values specified in the dialog box.

See also