* 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
re2 14 10 3.043E3
IP 3 4 328E-6
RB2 1 101 400
vb 9 0 dc 0
r2 6 9 100.0E3
ro2 7 99 25
F6 50 99 POLY(1) V6 300U 1
VLIM 7 8 DC 0
V3 in 0 PULSE(-2 2 0 1u 1u 99u 200u)
dp 4 3 dx
rp 3 4 37.62E3
vc 3 53 dc 1.800
C5 98 15 7.9577E-14
XU1 N002 N001 +12 -12 out {M} ;pnba In+)In-)V+)V-)OUT
DE 54 8 DX
GCM 0 6 10 99 225.7E-12
G1 98 9 POLY(1) 5 6 0 9.8772E-4 0 .3459
IEE 3 10 DC 12.03E-6
V3 10 50 .635
EH 99 98 99 49 1
desd1 1 3 dx
D2 10 9 DX
RO2 7 99 25
R17 23 25 17.5
IOS 2 1 5N
RL3 22 28 100K
L3 22 28 500P
R8 99 49 60K
Q1 11 102 13 QM1
C2 6 7 30.00E-12
VE 54 4 DC .61
DLN 92 90 DX
R13 17 16 1K
V5 22 21 0.27V
D4 21 15 DX
R1 N001 out 20k
vlim 7 8 dc 0
hlim 90 0 vlim 1K
desd2 2 3 dx
DCM2 105 101 DX
G4 98 16 3 49 5.6234E-8
RC2 4 12 8.841E3
EGND 99 0 POLY(2) (3,0) (4,0) 0 .5 .5
dc 5 53 dx
VCMC 105 4 DC 0.4
ga 6 0 11 12 41.47E-6
egnd 99 0 poly(2) (3,0) (4,0) 0 .5 .5
c2 6 7 6.000E-12
R2 0 N001 10k
VB 9 0 DC 0
HLIM 90 0 VLIM 1K
rc2 4 12 24.11E3
V6 26 22 .63V
R5 98 9 101.2433MEG
q2 12 1 14 qx
de 54 5 dx
vln 0 92 dc 40
DLP 90 91 DX
R3 5 50 517
D5 26 24 DX
EOS 7 1 POLY(1) 16 49 2E-3 1
DCM1 105 102 DX
C3 98 9 200P
VC 3 53 DC 1.610
gcm 0 6 10 99 414.7E-12
V2 -12 0 -12
q1 11 2 13 qx
ree 10 99 78.65E6
Q2 6 7 4 QX
R3 in N002 5k
ro1 8 5 50
G3 98 15 9 49 1E-6
C1 11 12 8.661E-12
E1 99 23 99 15 1
fb 7 99 poly(5) vb vc ve vlp vln 0 48.23E6
Q2 12 101 14 QM2
FB 7 99 POLY(5) VB VC VE VLP VLN 0 2.475E9 -2E9 2E9 2E9 -2E9
RE2 14 10 4.519E3
RC1 4 11 8.841E3
c1 11 12 3.000E-12
I2 99 50 75U
R16 24 23 17.5
D1 9 8 DX
cee 10 99 388.6E-15
R2 6 9 100.0E3
DP 4 3 DX
GA 6 0 11 12 113.1E-6
V7 22 27 .63V
V4 20 22 0.27V
vlp 91 0 dc 40
L2 98 17 15.9M
dln 92 90 dx
C4 5 6 128.27P
dlp 90 91 dx
R1 1 3 500K
R12 98 15 1MEG
rc1 4 11 24.11E3
RE1 13 10 4.519E3
ve 54 4 dc .88
RB1 2 102 400
D3 15 20 DX
re1 13 10 3.043E3
iee 3 10 dc 2.543E-6
R4 6 50 517
RO1 8 5 80
R2 3 2 500K
R9 49 50 60K
D6 25 27 DX
VLN 0 92 DC 25
DC 8 53 DX
REE 10 99 16.63E6
V1 +12 0 12
I1 99 4 100U
V2 99 8 1.63
Q1 5 2 4 QX
VLP 91 0 DC 25
.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 voltage 480 -464 R0
SYMATTR InstName V1
SYMATTR Value 12
SYMBOL voltage 624 -464 R0
SYMATTR InstName V2
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 res 16 -304 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R3
SYMATTR Value 5k
SYMBOL res 16 -480 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R2
SYMATTR Value 10k
SYMBOL res 176 -480 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R1
SYMATTR Value 20k
SYMBOL Opamps\\opamp2 208 -400 R0
SYMATTR InstName U1
SYMATTR Value {M}
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!