* Z:\home\khalils\Downloads\files\data\raw_asc\942dc4354046_stepping_opamp_models.asc
* Generated by LTspice 26.0.1 for Windows.
* Stepping Subcircuit Models\n \nThe opamp model names must be reduced to pure numbers!\n \nPlease read the restrictions in the left side txet box!
* National Semiconductor, Inc.
*
* connections: non-inverting input
* | inverting input
* | | positive power supply
* | | | negative power supply
* | | | | output
* | | | | |
* | | | | |
*.SUBCKT LM324/NS 1 2 99 50 28
*
*Features:
*Eliminates need for dual supplies
*Large DC voltage gain = 100dB
*High bandwidth = 1MHz
*Low input offset voltage = 2mV
*Wide supply range = +-1.5V to +-16V
*
*NOTE: Model is for single device only and simulated
* supply current is 1/4 of total device current.
* Output crossover distortion with dual supplies
* is not modeled.
*
****************INPUT STAGE**************
*
*^Input offset current
*Fp2=1.2 MHz
*
***********COMMON MODE EFFECT***********
*
*^Quiescent supply current
*Input offset voltage.^
*
*********OUTPUT VOLTAGE LIMITING********
*
**************SECOND STAGE**************
*
*Fp1=7.86 Hz
*
***************POLE STAGE***************
*
*Fp=2 MHz
*
*********COMMON-MODE ZERO STAGE*********
*
*Fpcm=10 KHz
*
**************OUTPUT STAGE**************
*
*
***************MODELS USED**************
*
*
*$
* .include opampmodel.txt
* Linear Technology
*
* From ltc.lib
*
*.SUBCKT LT1013D 1 2 3 4 5
*
*
* .STEP param M list 324 1013
* We use normally .include for adding models.
* I just realized there's a problem with my\nsuggestion. You have to either make sure\nthat subcircuit nodes and subcircuit device\ncurrents aren't saved(Go to Tools=>Control\nPanel=>Save Default and uncheck all but\nthe top check box) or be sure that each\nsubcircuit has exactly the same internal\ntopology as for each step.\n \n--Mike
* LM358 operational amplifier
* "macromodel" subcircuit
*
* connections:
* 1 - non-inverting input
* 2 - inverting input
* 3 - positive power supply
* 4 - negative power supply
* 5 - output
*
*.subckt LM358/MC 1 2 3 4 5
*
*$
* .param M 358
* .STEP param M list 358 1013
* ok
* ok
* wrong without .save
* wrong without .save
* .save V(in) V(out) V(n001) V(n002) V(-12) V(+12)
* Oh, yes, sorry, now I see the problem.\nI will fix it but it's non-trivial so it might\nnot happen until next year. In the meanwhile,\nthe technique will only work if you specify\nwhat nodes you wish to save and each one\nyou specify exists in each .step run. For\nexample, your circuit will run if you add\nthe SPICE directive\n \n.save V(in) V(out) V(n001) V(n002) V(-12) V(+12)\n \nRegards,\n \n--Mike
* Use at least .save V(...) for the voltages you are interested!
+ -50E6 50E6 50E6 -50E6
V6 26 22 .63V
Q1 5 2 4 QX
VB 9 0 DC 0
C1 11 12 8.661E-12
V1 +12 0 12
R1 1 3 500K
L2 98 17 15.9M
ro2 7 99 25
de 54 5 dx
R2 0 N001 10k
c2 6 7 6.000E-12
I1 99 4 100U
RE2 14 10 4.519E3
DCM2 105 101 DX
RC1 4 11 8.841E3
DCM1 105 102 DX
C4 5 6 128.27P
R17 23 25 17.5
XU1 N002 N001 +12 -12 out {M} ;pnba In+)In-)V+)V-)OUT
GA 6 0 11 12 113.1E-6
D1 9 8 DX
rc2 4 12 24.11E3
G1 98 9 POLY(1) 5 6 0 9.8772E-4 0 .3459
egnd 99 0 poly(2) (3,0) (4,0) 0 .5 .5
dc 5 53 dx
C3 98 9 200P
RL3 22 28 100K
D3 15 20 DX
VC 3 53 DC 1.610
r2 6 9 100.0E3
R5 98 9 101.2433MEG
DLP 90 91 DX
dp 4 3 dx
VLP 91 0 DC 25
E1 99 23 99 15 1
V3 10 50 .635
vc 3 53 dc 1.800
V5 22 21 0.27V
vlp 91 0 dc 40
cee 10 99 388.6E-15
FB 7 99 POLY(5) VB VC VE VLP VLN 0 2.475E9 -2E9 2E9 2E9 -2E9
G3 98 15 9 49 1E-6
re1 13 10 3.043E3
Q2 6 7 4 QX
C2 6 7 30.00E-12
hlim 90 0 vlim 1K
ve 54 4 dc .88
IEE 3 10 DC 12.03E-6
R12 98 15 1MEG
VCMC 105 4 DC 0.4
V2 99 8 1.63
V3 in 0 PULSE(-2 2 0 1u 1u 99u 200u)
R13 17 16 1K
R3 5 50 517
REE 10 99 16.63E6
vb 9 0 dc 0
q1 11 2 13 qx
DE 54 8 DX
ree 10 99 78.65E6
D5 26 24 DX
R4 6 50 517
desd1 1 3 dx
D4 21 15 DX
GCM 0 6 10 99 225.7E-12
RB1 2 102 400
desd2 2 3 dx
VLIM 7 8 DC 0
R16 24 23 17.5
vlim 7 8 dc 0
RB2 1 101 400
IP 3 4 328E-6
Q1 11 102 13 QM1
V2 -12 0 -12
V4 20 22 0.27V
vln 0 92 dc 40
RC2 4 12 8.841E3
G4 98 16 3 49 5.6234E-8
dln 92 90 dx
F6 50 99 POLY(1) V6 300U 1
C5 98 15 7.9577E-14
D6 25 27 DX
gcm 0 6 10 99 414.7E-12
iee 3 10 dc 2.543E-6
EOS 7 1 POLY(1) 16 49 2E-3 1
EH 99 98 99 49 1
I2 99 50 75U
q2 12 1 14 qx
EGND 99 0 POLY(2) (3,0) (4,0) 0 .5 .5
R1 N001 out 20k
D2 10 9 DX
IOS 2 1 5N
fb 7 99 poly(5) vb vc ve vlp vln 0 48.23E6
R9 49 50 60K
Q2 12 101 14 QM2
DP 4 3 DX
L3 22 28 500P
V7 22 27 .63V
HLIM 90 0 VLIM 1K
VLN 0 92 DC 25
R2 3 2 500K
rp 3 4 37.62E3
DC 8 53 DX
RE1 13 10 4.519E3
dlp 90 91 dx
R8 99 49 60K
ga 6 0 11 12 41.47E-6
ro1 8 5 50
rc1 4 11 24.11E3
re2 14 10 3.043E3
R3 in N002 5k
RO2 7 99 25
DLN 92 90 DX
VE 54 4 DC .61
R2 6 9 100.0E3
c1 11 12 3.000E-12
RO1 8 5 80
.tran 0 500u 0 0.1u
.SUBCKT 324 1 2 99 50 28
.MODEL DX D(IS=1E-15)
.MODEL QX PNP(BF=1.111E3)
.ENDS
.SUBCKT 1013 1 2 3 4 5
.MODEL DX D(IS=800.0E-18)
.MODEL QM1 PNP (IS=8.000E-16 BF=3.974E+02)
.MODEL QM2 PNP (IS=8.062E-16 BF=4.027E+02)
.ENDS LT1013D
.subckt 358 1 2 3 4 5
.model dx D(Is=800.0E-18)
.model qx PNP(Is=800.0E-18 Bf=32.03)
.ends
.STEP param M list 324 1013 358
.save V(out)
.backanno
.end

* LTspice schematic (.asc):
Version 4
SHEET 1 2808 2316
WIRE 208 -368 208 -384
WIRE 208 -304 208 -288
WIRE 240 -336 288 -336
WIRE 176 -352 144 -352
WIRE 176 -320 112 -320
WIRE 144 -352 144 -496
WIRE 144 -496 192 -496
WIRE 144 -496 112 -496
WIRE 288 -336 288 -496
WIRE 288 -336 336 -336
WIRE 288 -496 272 -496
WIRE 32 -496 0 -496
WIRE 480 -368 480 -336
WIRE 624 -368 624 -336
WIRE 624 -448 624 -480
WIRE 480 -448 480 -480
WIRE 32 -320 -16 -320
WIRE -16 -320 -16 -272
WIRE -16 -192 -16 -160
WIRE -16 -352 -16 -320
IOPIN 336 -336 Out
IOPIN -16 -352 Out
SYMBOL res 176 -480 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R1
SYMATTR Value 20k
SYMBOL voltage 480 -464 R0
SYMATTR InstName V1
SYMATTR Value 12
SYMBOL voltage -16 -288 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V3
SYMATTR Value PULSE(-2 2 0 1u 1u 99u 200u)
SYMBOL voltage 624 -464 R0
SYMATTR InstName V2
SYMATTR Value -12
SYMBOL res 16 -304 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R3
SYMATTR Value 5k
SYMBOL Opamps\\opamp2 208 -400 R0
SYMATTR InstName U1
SYMATTR Value {M}
SYMBOL res 16 -480 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R2
SYMATTR Value 10k
FLAG 0 -496 0
FLAG 208 -384 +12
FLAG 208 -288 -12
FLAG 480 -336 0
FLAG 624 -336 0
FLAG 480 -480 +12
FLAG 624 -480 -12
FLAG -16 -160 0
FLAG 336 -336 out
FLAG -16 -352 in
TEXT -16 -600 Left 0 !.tran 0 500u 0 0.1u
TEXT -24 -1136 Left 0 ;Stepping Subcircuit Models\n \nThe opamp model names must be reduced to pure numbers!\n \nPlease read the restrictions in the left side txet box!
TEXT 776 -872 Left 0 !* National Semiconductor, Inc.  \n*\n* connections:      non-inverting input\n*                   |   inverting input\n*                   |   |   positive power supply\n*                   |   |   |   negative power supply\n*                   |   |   |   |   output\n*                   |   |   |   |   |\n*                   |   |   |   |   |\n*.SUBCKT LM324/NS    1   2  99  50  28\n.SUBCKT  324    1   2  99  50  28\n*\n*Features:\n*Eliminates need for dual supplies\n*Large DC voltage gain =             100dB\n*High bandwidth =                     1MHz\n*Low input offset voltage =            2mV\n*Wide supply range =        +-1.5V to +-16V\n*\n*NOTE: Model is for single device only and simulated\n*      supply current is 1/4 of total device current.\n*      Output crossover distortion with dual supplies\n*      is not modeled.\n*\n****************INPUT STAGE**************\n*\nIOS 2 1 5N\n*^Input offset current\nR1 1 3 500K\nR2 3 2 500K\nI1 99 4 100U\nR3 5 50 517\nR4 6 50 517\nQ1 5 2 4 QX\nQ2 6 7 4 QX\n*Fp2=1.2 MHz\nC4 5 6 128.27P\n*\n***********COMMON MODE EFFECT***********\n*\nI2 99 50 75U\n*^Quiescent supply current\nEOS 7 1 POLY(1) 16 49 2E-3 1\n*Input offset voltage.^\nR8 99 49 60K\nR9 49 50 60K\n*\n*********OUTPUT VOLTAGE LIMITING********\nV2 99 8 1.63\nD1 9 8 DX\nD2 10 9 DX\nV3 10 50 .635\n*\n**************SECOND STAGE**************\n*\nEH 99 98 99 49 1\nG1 98 9 POLY(1) 5 6 0 9.8772E-4 0 .3459\n*Fp1=7.86 Hz\nR5 98 9 101.2433MEG\nC3 98 9 200P\n*\n***************POLE STAGE***************\n*\n*Fp=2 MHz\nG3 98 15 9 49 1E-6\nR12 98 15 1MEG\nC5 98 15 7.9577E-14\n*\n*********COMMON-MODE ZERO STAGE*********\n*\n*Fpcm=10 KHz\nG4 98 16 3 49 5.6234E-8               \nL2 98 17 15.9M\nR13 17 16 1K\n*\n**************OUTPUT STAGE**************\n*\nF6 50 99 POLY(1) V6 300U 1\nE1 99 23 99 15 1\nR16 24 23 17.5\nD5 26 24 DX\nV6 26 22 .63V\nR17 23 25 17.5\nD6 25 27 DX\nV7 22 27 .63V\nV5 22 21 0.27V\nD4 21 15 DX\nV4 20 22 0.27V\nD3 15 20 DX\nL3 22 28 500P\nRL3 22 28 100K\n*\n***************MODELS USED**************\n*\n.MODEL DX D(IS=1E-15)\n.MODEL QX PNP(BF=1.111E3)\n*\n.ENDS\n*$
TEXT -16 -648 Left 0 ;.include  opampmodel.txt
TEXT -24 88 Left 0 !* Linear Technology\n*\n* From ltc.lib\n*\n*.SUBCKT LT1013D    1 2 3 4 5\n.SUBCKT 1013   1 2 3 4 5\n*\nC1 11 12 8.661E-12\nC2 6 7 30.00E-12\nDC 8 53 DX\nDE 54 8 DX\nDLP 90 91 DX\nDLN 92 90 DX\nDP 4 3 DX\nEGND 99 0 POLY(2) (3,0) (4,0) 0 .5 .5\nFB 7 99 POLY(5) VB VC VE VLP VLN 0 2.475E9 -2E9 2E9 2E9 -2E9\nGA 6 0 11 12 113.1E-6\nGCM 0 6 10 99 225.7E-12\nIEE 3 10 DC 12.03E-6\nHLIM 90 0 VLIM 1K\nQ1 11 102 13 QM1\nQ2 12 101 14 QM2\nRB1 2 102 400\nRB2 1 101 400\nDCM1 105 102 DX\nDCM2 105 101 DX\nVCMC 105 4 DC 0.4\nR2 6 9 100.0E3\nRC1 4 11 8.841E3\nRC2 4 12 8.841E3\nRE1 13 10 4.519E3\nRE2 14 10 4.519E3\nREE 10 99 16.63E6\nRO1 8 5 80\nRO2 7 99 25\nIP 3 4 328E-6\nVB 9 0 DC 0\nVC 3 53 DC 1.610\nVE 54 4 DC .61\nVLIM 7 8 DC 0\nVLP 91 0 DC 25\nVLN 0 92 DC 25\n.MODEL DX D(IS=800.0E-18)\n.MODEL QM1 PNP (IS=8.000E-16 BF=3.974E+02)\n.MODEL QM2 PNP (IS=8.062E-16 BF=4.027E+02)\n.ENDS LT1013D\n*
TEXT -16 -920 Left 0 ;.STEP param M list 324 1013
TEXT -16 -680 Left 0 ;We use normally  .include   for adding models.
TEXT -600 -1008 Left 0 ;I just realized there's a problem with my\nsuggestion. You have to either make sure\nthat subcircuit nodes and subcircuit device\ncurrents aren't saved(Go to Tools=>Control\nPanel=>Save Default and uncheck all but\nthe top check box) or be sure that each\nsubcircuit has exactly the same internal\ntopology as for each step.\n \n--Mike
TEXT -664 72 Left 0 !* LM358 operational amplifier\n* "macromodel" subcircuit\n*\n* connections:\n*    1 -  non-inverting input\n*    2 -  inverting input\n*    3 -  positive power supply\n*    4 -  negative power supply\n*    5 -  output\n*\n*.subckt LM358/MC  1 2 3 4 5\n.subckt 358  1 2 3 4 5\n*\n  c1   11 12 3.000E-12\n  c2    6  7 6.000E-12\n  cee  10 99 388.6E-15\n  dc    5 53 dx\n  de   54  5 dx\n  dlp  90 91 dx\n  dln  92 90 dx\n  dp    4  3 dx\n  egnd 99  0 poly(2) (3,0) (4,0) 0 .5 .5\n  fb    7 99 poly(5) vb vc ve vlp vln 0 48.23E6\n+ -50E6 50E6 50E6 -50E6\n  ga    6  0 11 12 41.47E-6\n  gcm   0  6 10 99 414.7E-12\n  iee   3 10 dc 2.543E-6\n  hlim 90  0 vlim 1K\n  q1   11  2 13 qx\n  q2   12  1 14 qx\n  r2    6  9 100.0E3\n  rc1   4 11 24.11E3\n  rc2   4 12 24.11E3\n  re1  13 10 3.043E3\n  re2  14 10 3.043E3\n  ree  10 99 78.65E6\n  ro1   8  5 50\n  ro2   7 99 25\n  rp    3  4 37.62E3\n  vb    9  0 dc 0\n  vc    3 53 dc 1.800\n  ve   54  4 dc .88\n  vlim  7  8 dc 0\n  vlp  91  0 dc 40\n  vln   0 92 dc 40\n  desd1  1  3 dx\n  desd2  2  3 dx\n.model dx D(Is=800.0E-18)\n.model qx PNP(Is=800.0E-18 Bf=32.03)\n.ends\n*$
TEXT -16 -960 Left 0 ;.param M 358
TEXT -16 -880 Left 0 ;.STEP param M list 358 1013
TEXT -16 -848 Left 0 !.STEP param M list 324 1013 358
TEXT 408 -960 Left 0 ;ok
TEXT 408 -920 Left 0 ;ok
TEXT 408 -880 Left 0 ;wrong without .save
TEXT 408 -848 Left 0 ;wrong without .save
TEXT -16 -736 Left 0 ;.save V(in) V(out) V(n001) V(n002) V(-12) V(+12)
TEXT -608 -608 Left 0 ;Oh, yes, sorry, now I see the problem.\nI will fix it but it's non-trivial so it might\nnot happen until next year.  In the meanwhile,\nthe technique will only work if you specify\nwhat nodes you wish to save and each one\nyou specify exists in each .step run.  For\nexample, your circuit will run if you add\nthe SPICE directive\n \n.save V(in) V(out) V(n001) V(n002) V(-12) V(+12)\n \nRegards,\n \n--Mike
TEXT -16 -768 Left 0 !.save V(out)
TEXT -16 -800 Left 0 ;Use at least .save V(...)  for the voltages you are interested!