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