Spice is unable to accommodate asymmetric tolerances for worstcase analysis. However, the DISTRIBUTION statement available in Monte Carlo analysis can accommodate asymmetric tolerances by creating histogram bins. Asymmetric tolerances can easily occur for any component with temperature drift in unbalanced temperature environments. They also can occur in some capacitors.
The QBasic program shown will create 20 bins of Gaussian distribution with symmetric or asymmetric tolerances (Listing 1). The program will print out the .DISTRIBUTION statement with bins for easy import to a Spice net list. The example problem is a component with −10% and +2% tolerances. The asymmetry is somewhat extreme, but it clearly illustrates the use of the program.
The program assumes 500 samples to ensure a reasonably accurate Gaussian curve. The output of the program is given (Listing 2).
The program assumes the component is a resistor. For a capacitor, change the .MODEL statement as follows:
.MODEL CA CAP (C=1 DEV/ASYM=10%)
and correspondingly for an inductor. The output text file is placed in the root directory C:\ with the name “qbout.txt.”
A histogram for this example is shown (see the figure).