AN9523: Evaluation Programs for SPICE Op Amp Models

Evaluation Programs for SPICE Op Amp Models
Application Note
Introduction
There is no consistent method for evaluating SPICE models
in the industry, so it is hard to reproduce a specific manufacturer’s results or to compare models between manufacturers.
Furthermore, many of the SPICE models available from vendors do not correlate the vendor’s data sheet for the corresponding op amp; hence, there is confusion about the
validity of the model, the evaluation program, and/or the data
sheet. This paper includes a collection of SPICE programs
that have been used to evaluate some of the latest Intersil
Corporation current feedback op amps. The programs illustrated here will be used to evaluate new Intersil op amp
designs, both current and voltage feedback, so they will
serve as a standard until modified by common agreement.
These programs have several advantages: they are written,
they have been debugged, macros exist to eliminate the plotting effort, they cover the pertinent parameters, and they
contain equations to normalize the output for “Bode” type
plots.
January 1996
AN9523
Unless the output is normalized the vertical scale will have to
be large enough to accommodate the difference in gains, so
small effects such as peaking may be hard to discern or
measure. The program configures the load resistor as a voltage divider, and the output is taken at the voltage divider
output. If the op amp gain is 10 the load resistor gain will be
0.1. If a load resistor is not required by the data sheet enter a
large value such as 1000GΩ; the large resistor will not affect
the circuit operation while the normalization feature is
retained. Now the three curves will plot on top of each other
similar to the GBW curves shown in most data books.
11 RF11
RG11
IN
VIN
12
+
RA11
OUT1
CL111
RB11
21
Six programs which cover 13 parameters including: inverting
gain, non-inverting gain, positive power supply current, negative power supply current, positive input bias current, negative input bias current,offset current, positive offset voltage,
negative offset voltage, differential offset voltage, non-inverting common-mode voltage, transient response, and
enable/disable response are used to evaluate the op amp.
These thirteen parameters are displayed in eight plots which
have seventeen curves.
Printed copies of these programs are given here, and
electronic copies are available on the “Intersil CorporationAnalog SPICE Macromodels” disk dated January 1996 or
later.
AC Transfer Function For An Inverting
Op Amp
RG21
RF21
-
22
RA21
OUT2
+
CL21
RB21
31
RG31
RF31
-
32
RA31
OUT3
+
CL31
RB31
FIGURE 1. SCHEMATIC OF INVERTING OP AMP
The first program (see Figures 1, 2, and 3) is named
cfaig.cir, and it simulates the AC transfer function for an
inverting op amp. This program uses three op amps so it
computes the transfer function for three different gains in one
pass. The program requires the user to supply the feedback
resistance values for each gain, the gain settings, the load
resistance, the load capacitance, and the power supply voltage in volts. The program assumes that the op amp is run off
two power supplies of equal and opposite polarity each of
which is referenced to ground, so it applies the entered voltage to the op amp as a positive and negative supply with
equal magnitudes. If a single supply op amp is to be evaluated with these programs just enter half the power supply
voltage, and the analysis will be equivalent.
1
1-888-INTERSIL or 321-724-7143 | Copyright
© Intersil Corporation 1999
Application Note 9523
*This program simulates the AC transfer function for an inverting op amp.
*It has three op amps; each with a gain that is specified by the
*user with a .param statement. The user must specify the load RL, CL, the
*feedback resistors RF1, RF2, RF3 and the corresponding gains G1, G2, G3.
*The power supply voltage is set by the parameter “vsupply”. The load resistors
*are automatically split into voltage dividers to normalize the gain plot,
*and the gains can be plotted in dB by calling the macros G1, G2, and G3.
*The inputs are tied together, and the outputs are called OUT1, OUT2, and
*OUT3 corresponding to the respective gains. The op amp model is entered with
*a .lib statement. The model in the subcircuit call (x statement) must correspond to the model
*called in the .lib statement (3 times).
.param CL=10pf
.param RL=400
.param RF1=750
.param RF2=750
.param RF3=750
.param G1=1
.param G2=2
.param G3=3
.param vsupply=5
.lib b:ha502x.cir
x1 0 11 3 4 12 3 ha502x
x2 0 21 3 4 22 3 ha502x
x3 0 31 3 4 32 3 ha502x
VIN in 0 ac 1
RF11 11 12 {RF1}
RF21 21 22 {RF2}
RF31 31 32 {RF3}
RG11 in 11 {RF1/abs(G1) }
RG21 in 21 {RF2/abs(G2) }
RG31 in 31 {RF3/abs(G3) }
RA11 12 OUT1 {RL* (abs(G1)-.99999) /abs(G1) }
RA21 22 OUT2 {RL* (abs(G2)-.99999) /abs(G2) }
RA31 32 OUT3 {RL* (abs(G3)-.99999) /abs(G3) }
RB11 0 OUT1 {RL/abs(G1) }
RB21 0 OUT2 {RL/abs(G2) }
RB31 0 OUT3 {RL/abs(G3) }
CL11 0 12 {CL}
CL21 0 22 {CL}
CL31 0 32 {CL}
VCC 3 0 {vsupply}
VEE 4 0 {-1*vsupply}
.ac dec 50 1meg 3000meg
.probe
.end
FIGURE 2. INVERTING OP AMP AC TRANSFER FUNCTION PROGRAM
2
Application Note 9523
VCC
6.0
+
-
NORMALIZED GAIN IN dB
4.0
RA11
3
OUT1
4
RB11
VEE
2.0
11
RG11
VIN
0
RF11
12
CL11
VCC
-2.0
IN
G1
G2
G3
-4.0
-
3
10
30
FREQUENCY (MHz)
RA21
3
OUT2
4
RB21
VEE
-6.0
1
+
100
21
300
RG21
RF21
22
CL21
FIGURE 3. INVERTING OP AMP AC TRANSFER FUNCTION PLOT
VCC
AC Transfer Function for a Non-Inverting
Op Amp
Unless the output is normalized the vertical scale will have to
be large enough to accommodate the difference in gains, so
small effects such as peaking may be hard to discern or
measure. The program configures the load resistor as a voltage divider, and the output is taken at the voltage divider
output. If the op amp gain is 10, the load resistor gain will be
0.1. If a load resistor is not required by the data sheet enter a
large value such as 1000GΩ; the large resistor will not affect
the circuit operation while the normalization feature is
retained. Now the three curves will plot on top of each other
similar to the GBW curves shown in most data books.
3
-
3
RA31
OUT3
4
RB31
VEE
31
RG31
32
RF31
CL31
FIGURE 4. NON-INVERTING OP AMP SCHEMATIC
6.0
4.0
NORMALIZED GAIN IN dB
The second program (see Figures 4, 5, and 6) is named
cfanig.cir, and it simulates the AC transfer function for a noninverting op amp. This program uses three op amps so it can
compute the transfer function for three different gains in one
pass. The program requires the user to supply the feedback
resistance values for each gain, the gain settings, the load
resistance, the load capacitance, and the power supply voltage in volts. The program assumes that the op amp is run off
two power supplies of equal and opposite polarity each of
which is referenced to ground, so it applies the entered voltage to the op amp as a positive and negative supply with
equal magnitudes. If a single supply op amp needs to be
evaluated just enter half the power supply voltage, and the
analysis will be equivalent.
+
2.0
0
G1
-2.0
G2
G3
-4.0
-6.0
1
3
10
30
FREQUENCY (MHz)
100
FIGURE 5. NON-INVERTING OP AMP AC TRANSFER
FUNCTION PLOT
300
Application Note 9523
*This program simulates the transfer function for a non-inverting op amp.
*It has three op amps; each with a gain that is specified by the user
*with a .param statement. The user must specify the load RL, CL, the
*feedback resistors RF1, RF2, RF3 and the corresponding gains G1, G2, G3.
*The power supply voltage is set by the parameter “vsupply”. The load resistors
*are automatically split into voltage dividers to normalize the gain plot,
*and they can be plotted in dB by calling the macros G1, G2 and G3.
*The inputs are tied together, and the outputs are called OUT1, OUT2, and
*OUT3 corresponding to the respective gains. The op amp model is entered with
*a .lib statement. The model in the subcircuit call (x statement) must correspond to the model
*called in the .lib statement (3 times).
.param CL=10pf
.param RL=400
.param RF1=1000
.param RF2=681
.param RF3=383
.param G1=1
.param G2=2
.param G3=10
.param vsupply=5
.lib b:ha502x.cir
x1 in 11 3 4 12 3 ha502x
x2 in 21 3 4 22 3 ha502x
x3 in 31 3 4 32 3 has02x
vin in 0 ac 1
RF11 11 12 {RF1}
RF21 21 22 {RF2}
RF31 31 32 {RF3}
RG11 0 11 {RF1/(G1-.99999) }
RG21 0 21 {RF2/(G2-.99999) }
RG31 0 31 {RF3/(G3-.99999) }
RA11 12 OUT1 {RL*(G1-.99999)/G1}
RA21 22 OUT2 {RL*(G2-.99999)/G2}
RA31 32 OUT3 {RL*(G3-.99999)/G3}
RB11 0 OUT1 {RL-(RL*(G1-.99999)/G1) }
RB21 0 OUT2 {RL-(RL*(G2-.99999)/G2) }
RB31 0 OUT3 {RL-(RL*(G3-.99999)/G3) }
CL11 0 12 {CL}
CL21 0 22 {CL}
CL31 0 32 {CL}
VCC 3 0 {vsupply}
VEE 4 0 {-1*vsupply}
.ac dec 50 1meg 3000meg
.probe
.end
FIGURE 6. NON-INVERTING OP AMP AC TRANSFER FUNCTION PROGRAM
4
Application Note 9523
DC Parameters For a Non-Inverting
Op Amp
The input signal to the op amp is a DC sweep. The sweep
input enables a data analysis at VIN = 0V which is often a
data book point, and the parameters can be evaluated at
various other points of interest. The input currents can be
examined by plotting the currents through the feedback
resistor, RF, and the input resistor, RI . The difference
between these currents is the input offset current. When the
voltage is swept through zero the offset voltage for zero input
voltage can be calculated. Either input offset voltage can be
plotted by selecting the correct node voltage, or the differential input voltage can be plotted be selecting V(11)-V(13).
The supply currents are plotted by selecting I(VEE) or I(VCC)
for the negative and positive power supplies respectively.
The third program (see Figures 7 through 11) is named
cfadc.cir, and it simulates the salient DC parameters for a
non-inverting op amp. The program requires the user to supply the feedback resistance values, the load resistance, and
the power supply voltage in volts. The program assumes that
the op amp is run off two power supplies of equal and opposite polarity each of which is referenced to ground, so it
applies the entered voltage to the op amp as a positive and
negative supply with equal magnitudes. If a single supply op
amp needs to be evaluated just enter half the power supply
voltage, and the analysis will be equivalent.
INPUT CURRENT (µA)
10
RF
11
-
OUT
13 + 4
3
RI
IN
VIN
5
I(RF) - I(RI)
I(RF)
0
I(RI)
-5
RL
VEE
VCC
-10
-10
FIGURE 7. NON-INVERTING OP AMP SCHEMATIC (DC)
0
VIN (mV)
5
10
FIGURE 8. NON-INVERTING OP AMP INPUT CURRENT PLOT
10
10
5
SUPPLY CURRENT (mA)
INPUT VOLTAGE (mV)
-5
V(11)
V(13)
0
V(11) - V(13)
-5
I(VEE)
5
0
-5
I(VCC)
-10
-10
-10
-5
0
VIN (mV)
5
FIGURE 9. NON-INVERTING OP AMP INPUT OFFSET
VOLTAGE PLOT
5
10
-10
-5
0
VIN (mV)
5
FIGURE 10. NON-INVERTING OP AMP POWER SUPPLY
CURRENT PLOT
10
Application Note 9523
*This program simulates the salient DC parameters for a non-inverting op amp.
*The user must specify the feedback and load resistance with a .param
*statement. The power supply voltage is set by the parameter “vsupply”. Input
*currents are measured as IRI, the non-inverting input current, IRF, the
*inverting input current, and (IRF-IRI) the offset current. The offset
*voltage is calculated with the equation Vos=v(13)-v(11). The power supply
*currents can be determined by looking at the parameter ICC and IEE. The
*model is entered with a .lib statement. The model in the subcircuit call (x statement)
*must correspond to the model called in the .lib statement.
.param RF = 1000
.param RL = 400
.param vsupply = 5
.lib b:ha502x.cir
x1 13 11 3 4 out 3 ha502x
VIN in 0
RF1 11 out {RF}
RI in 13 {RF}
RL1 0 out {RL}
VCC 3 0 {vsupply}
VEE 4 0 {-1*vsupply}
.dc VIN -.1 .1 .001
.probe
.end
FIGURE 11. NON-INVERTING OP AMP DC TRANSFER FUNCTION PROGRAM
CMRR For A Non-Inverting Op Amp
The fourth program (see Figures 12, 13, and 14) is called
cfacmrr.cir, and it simulates the common mode rejection ratio
for a non-inverting op amp. The program uses two identical
non-inverting op amps to implement the equation CMRR =
change in input offset voltage divided by the common mode
input voltage change. The CMRR equation is shown in
circuit parameters in Figure 12. Referring to Figure 13, it is
seen that the common mode difference voltage is 2V. The
input is a square wave so the measurement should be made
in an area which has settled out. Notice that the worse
common-mode input voltage is negative so that value of
-1.3mV was used in the calculation. Using a square wave
rather than a DC signal enables the inspection of both
quadrants prior to calculating the CMRR. The program
requires the user to supply the feedback resistance value,
the load resistance, and the power supply voltage in volts.
RF1 = 1K
RF2 = 1K
VCC
11
-
+
IN1
3
21
OUT1
4
VEE
VIN1
VCC
RL1
IN2
VIN2
-
+
3
OUT2
4
VEE
RL2
∆V IO
( V ( IN1 ) – V ( 11 ) ) – ( V ( IN2 ) – V ( 21 ) )
CMMR = DB -------------------------------------------------------------------------------------------------- = DB ---------------( V ( IN2 ) – V ( IN1 ) )
∆V CM
FIGURE 12. SCHEMATIC AND EQUATION FOR COMMON-MODE REJECTION CIRCUIT
6
Application Note 9523
*This program simulates the common-mode rejection ratio for a non-inverting op
*amp. The equation recommended for the calculation is
*CMRR=dB((V(IN1)-V(11)) -(V(IN2)-V(21)))/(V(IN2)-(VIN1)) and this program uses
*two identical op amps to obtain the calculation data. The user
*must specify the feedback resistance, RF, and the load resistance, RL.
*The power supply voltage is set by the parameter “vsupply”. The op amp model
*is entered with a .lib statement. The model in the subcircuit call (x statement) must
*correspond to the model in the .lib statement (2 times).
.param RF=1K
.param RL=400
.param vsupply=5
.lib b:ha502x.cir
x1 IN1 11 3 4 OUT1 3 ha502x
x2 IN2 21 3 4 OUT2 3 ha502x
VIN1 IN1 0 pulse (0 1m .1ns .1ns .1ns 100ns 200ns)
VIN2 IN2 0 pulse (0 2.001 .1ns .1ns.1ns 100ns 200ns)
RF1 11 OUT1 {RF}
RF2 21 OUT2 {RF}
RI1 OUT1 0 {RL}
RL2 OUT2 0 {RL}
VCC 3 0 {vsupply}
VEE 4 0 {-1*vsupply
.tran 20ns 420ns
.probe
.end
FIGURE 13. COMMON-MODE REJECTION PROGRAM
3.0
OUTPUT VOLTAGE (mV)
2.0
1.0
0
-1.0
-1.3mV
-2.0
–3
– 1.3
CMMR = 20LOG --------------10
= 63.7dB
2
-3.0
0
50
100
TIME (ns)
150
200
FIGURE 14. PLOT OF COMMON-MODE REJECTION PROGRAM OUTPUT
7
Application Note 9523
Transient Response For A Non-Inverting
Op Amp
The fifth program (see Figures 15, 16, and 17) is called
cfatran.cir, and it simulates the transient response for a noninverting op amp. If the input signal is small, about 100mv as
shown in Figure 16, the analysis will be small signal. Larger
input signals will yield a large signal analysis. The program
requires the user to supply the feedback resistance, the load
resistance, the input resistance, and the power supply voltage in volts. The program assumes that the op amp is run off
two power supplies of equal and opposite polarity each of
which is referenced to ground, so it applies the entered voltage to the op amp as a positive and negative supply with
equal magnitudes. If a single supply op amp needs to be
evaluated just enter half the power supply voltage, and the
analysis will be equivalent. The rise time, fall time, slew rate,
and delay time can be read off the plot shown in Figure 16.
120
80
VCC
IN
11
RI1
50
40
+
OUT
-
VEE
RF1
RL1
0
VIN
-40
1K
VOUT
-80
-120
0
50
100
150
TIME (ns)
FIGURE 15. TRANSIENT RESPONSE CIRCUIT SCHEMATIC
FIGURE 16. TRANSIENT RESPONSE PROGRAM OUTPUT PLOT
*This program simulates the time domain response for a non-inverting op amp.
*The response will be small signal or large signal depending on the amplitude
*of the input signal. The user must specify the load resistance, RL, the
*feedback resistance, RF, and the input resistance, RI. The power supply
*voltage is set by the parameter “vsupply”. The op amp model is entered with
*a .lib statement. The model in the x statement must correspond to the
*model called in the .lib statement.
.param RI = 50
.param RF = 1K
.param RL = 100
.param vsupply=5
.lib b:ha502x.cir
x1 in 11 3 4 out 3 ha502x
VIN1 in 0 PULSE (-.1 .1 .1ns .1ns .1ns 100ns 200ns)
RF1 11 out {RF}
RL1 out 0 {RL}
RI1 0 in {RI}
VCC 3 0 {vsupply}
VEE 4 0 [-1*vsupply}
.tran 20ns 420ns
.probe
.end
FIGURE 17. TRANSIENT RESPONSE PROGRAM
8
Application Note 9523
Enable Response For A Non-Inverting Op Amp
prior to modification. The program requires the user to supply
the feedback resistance, the load resistance, the input resistance, and the power supply voltage in volts. The program
assumes that the op amp is run off two power supplies of equal
and opposite polarity each of which is referenced to ground, so
it applies the entered voltage to the op amp as a positive and
negative supply with equal magnitudes. If a single supply op
amp needs to be evaluated just enter half the power supply
voltage, and the analysis will be equivalent. The enable
response times can be read off of Figure 19.
The Sixth program (see Figures 18, 19, and 20) is called
cfaenabl.cir, and it computes the response of a non-inverting op
amp to an enable control signal. A 2VDC excitation is applied to
the positive op amp input, and a square wave is applied to the
enable input. The enable signal swings from ground to the positive power supply rail, thus simulating an open collector driver.
This signal can be modified as required, but it must be disconnected from the supply voltage by removing the {vsupply} term
5.0
4.0
RF
(V)
3.0
VCC
- 3
+
ENA
4
11
IN
VIN
RI
2.0
OUT
ENABLE/
DISABLE
1.0
RL
VEE
0
0
FIGURE 18. ENABLE RESPONSE CIRCUIT SCHEMATIC
0.5
1.0
1.5
3.0
3.5
4.0
4.5
FIGURE 19. ENABLE RESPONSE PROGRAM OUTPUT PLOT
*This program simulates the time response of the enable/disable function of
*the non-inverting op amp. The response is obtained with a 2VDC
*input signal, while the voltage on the enable pin swings from VCC to ground.
*The user must specify the load resistance, RL, the feedback resistance, RF,
*and the input resistance, RI. The power supply voltage is set by a parameter
*“vsupply”. The op amp model is entered with a .lib statement. The model in the subcircuit call
*(x statement) must correspond to the model called in the .lib statement. If
*the rise and fall times of the enable signal are too fast the program may
*not converge (10ns is optimal).
.param RI = 50
.param RF = 1K
.param RL = 100
.param vsupply=5
.lib b:ha502x.cir
x1 in 11 3 4 out ena ha502x
VIN in 0 2
vena ena 0 PULSE ({vsupply} 0 0ns 10ns 10ns 2000ns 4000ns)
RF1 11 out {RF}
RL1 out 0 {RL}
RI1 0 in {RI}
VCC 3 0 {vsupply}
VEE 4 0 {-1*vsupply}
.tran 20ns 4020ns
.probe
.end
FIGURE 20. ENABLE RESPONSE PROGRAM
9
2.0
2.5
TIME (µs)
Application Note 9523
Summary
Six programs which compute and plot the response of an op
amp are described here. These programs make it easy to
complete the SPICE analysis, and by using them the results
may be compared to new Intersil Corporation data sheets.
This approach gives the minimum data required to evaluate
the model, but the actual evaluation must be made by the
design engineer. If the model indicates 2dB peaking at the
-3dB point while the data sheet shows 3dB peaking at the
same point, which does the engineer believe? Since the
model is an approximation, the data sheet should be more
correct than the model, but because the data sheet is based
on “typicals” their curves are sometimes hard to reproduce.
This vague area must be resolved through the experience of
the design engineer coupled with laboratory data. There is
no substitute for accurate measurements! When the data
sheet curves, the model curves and the lab curves all fit
within a reasonable tolerance the design engineer can begin
to trust the models. Keep testing though, because models
have been known to be very unpredictable.
Any comments, deletions or additions should be directed to
one of the authors for inclusion in revisions on this document.
All Intersil semiconductor products are manufactured, assembled and tested under ISO9000 quality systems certification.
Intersil semiconductor products are sold by description only. Intersil Corporation reserves the right to make changes in circuit design and/or specifications at any time without notice. Accordingly, the reader is cautioned to verify that data sheets are current before placing orders. Information furnished by Intersil is believed to be accurate and
reliable. However, no responsibility is assumed by Intersil or its subsidiaries for its use; nor for any infringements of patents or other rights of third parties which may result
from its use. No license is granted by implication or otherwise under any patent or patent rights of Intersil or its subsidiaries.
For information regarding Intersil Corporation and its products, see web site www.intersil.com
Sales Office Headquarters
NORTH AMERICA
Intersil Corporation
P. O. Box 883, Mail Stop 53-204
Melbourne, FL 32902
TEL: (321) 724-7000
FAX: (321) 724-7240
10
EUROPE
Intersil SA
Mercure Center
100, Rue de la Fusee
1130 Brussels, Belgium
TEL: (32) 2.724.2111
FAX: (32) 2.724.22.05
ASIA
Intersil (Taiwan) Ltd.
7F-6, No. 101 Fu Hsing North Road
Taipei, Taiwan
Republic of China
TEL: (886) 2 2716 9310
FAX: (886) 2 2715 3029