PAK412-cct-DoubleCross-CC-wingspread LTspice .asc code

Version 4
SHEET 1 4584 680
WIRE 1824 -384 560 -384
WIRE 0 -368 -64 -368
WIRE 384 -368 0 -368
WIRE -64 -352 -64 -368
WIRE -128 -304 -272 -304
WIRE -272 -288 -272 -304
WIRE 64 -256 -64 -256
WIRE 192 -256 144 -256
WIRE 384 -256 384 -368
WIRE -1056 -224 -1072 -224
WIRE -944 -224 -976 -224
WIRE -816 -224 -880 -224
WIRE -688 -224 -736 -224
WIRE -272 -208 -432 -208
WIRE -432 -192 -432 -208
WIRE -1072 -176 -1072 -224
WIRE -1072 -176 -1184 -176
WIRE 64 -176 -64 -176
WIRE 192 -176 192 -256
WIRE 192 -176 144 -176
WIRE -1184 -160 -1184 -176
WIRE -128 -128 -272 -128
WIRE 1600 -128 1520 -128
WIRE 1616 -128 1600 -128
WIRE 1520 -112 1520 -128
WIRE 1600 -112 1600 -128
WIRE -1072 -96 -1072 -176
WIRE -1056 -96 -1072 -96
WIRE -944 -96 -976 -96
WIRE -816 -96 -880 -96
WIRE -688 -96 -688 -224
WIRE -688 -96 -736 -96
WIRE -64 -64 -64 -80
WIRE 0 -64 0 -368
WIRE -1184 -48 -1184 -80
WIRE -1184 -48 -1216 -48
WIRE -688 -48 -688 -96
WIRE -672 -48 -688 -48
WIRE -432 -48 -432 -112
WIRE -432 -48 -480 -48
WIRE 192 -48 192 -176
WIRE 272 -48 192 -48
WIRE 384 -48 384 -176
WIRE 384 -48 352 -48
WIRE 432 -48 384 -48
WIRE -64 -32 0 -64
WIRE 0 -32 -64 -64
WIRE -1184 -16 -1184 -48
WIRE -64 -16 -64 -32
WIRE 432 -16 432 -48
WIRE -432 16 -432 -48
WIRE -1056 32 -1072 32
WIRE -944 32 -976 32
WIRE -816 32 -880 32
WIRE -688 32 -688 -48
WIRE -688 32 -736 32
WIRE -656 32 -688 32
WIRE -128 32 -272 32
WIRE 192 32 192 -48
WIRE 240 32 192 32
WIRE 64 80 -64 80
WIRE 192 80 192 32
WIRE 192 80 144 80
WIRE -1184 96 -1184 64
WIRE -1072 96 -1072 32
WIRE -1072 96 -1184 96
WIRE 384 96 384 -48
WIRE -432 112 -432 96
WIRE -272 112 -432 112
WIRE -272 128 -272 112
WIRE -1072 160 -1072 96
WIRE -1056 160 -1072 160
WIRE -944 160 -976 160
WIRE -816 160 -880 160
WIRE -688 160 -688 32
WIRE -688 160 -736 160
WIRE 64 160 -64 160
WIRE 192 160 192 80
WIRE 192 160 144 160
WIRE 544 160 544 -368
WIRE -576 176 -592 176
WIRE 1824 176 560 176
WIRE -272 208 -272 192
WIRE -128 208 -272 208
WIRE -64 272 -64 256
WIRE 0 272 0 -32
WIRE 0 272 -64 272
WIRE 384 272 384 176
WIRE 384 272 0 272
WIRE 544 304 544 192
WIRE 1824 320 560 320
FLAG -592 -48 0
FLAG -1216 -48 in
IOPIN -1216 -48 In
FLAG 432 -16 0
FLAG -480 -48 in
IOPIN -480 -48 In
FLAG -592 256 0
FLAG -576 176 in
IOPIN -576 176 Out
FLAG 544 192 0
FLAG 560 -384 0
FLAG 544 -368 0
FLAG 1824 176 0
FLAG 544 304 0
FLAG 544 160 0
FLAG 560 320 0
FLAG 1824 320 0
FLAG 560 176 0
FLAG 592 -272 0
FLAG 592 -352 0
FLAG 640 -224 0
FLAG 640 -304 0
FLAG 688 -176 0
FLAG 688 -256 0
FLAG 736 -128 0
FLAG 736 -208 0
FLAG 784 -80 0
FLAG 784 -160 0
FLAG 832 -32 0
FLAG 832 -112 0
FLAG 880 16 0
FLAG 880 -64 0
FLAG 928 64 0
FLAG 928 -16 0
FLAG 976 112 0
FLAG 976 32 0
FLAG 1024 160 0
FLAG 1024 80 0
FLAG 1824 -384 0
FLAG 1280 -272 0
FLAG 1280 -352 0
FLAG 1328 -224 0
FLAG 1328 -304 0
FLAG 1376 -176 0
FLAG 1376 -256 0
FLAG 1424 -128 0
FLAG 1424 -208 0
FLAG 240 32 out1
IOPIN 240 32 Out
FLAG 1472 -80 0
FLAG 1472 -160 0
FLAG -656 32 out2
IOPIN -656 32 Out
FLAG 1520 -32 0
FLAG 1616 -128 V16
IOPIN 1616 -128 Out
FLAG 1600 -32 0
SYMBOL res -720 -112 R90
WINDOW 0 0 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName Rs2
SYMATTR Value {Req2}
SYMBOL diode -944 -240 M90
WINDOW 0 0 32 VBottom 2
WINDOW 3 32 32 VTop 2
SYMATTR InstName D1
SYMATTR Value Dn
SYMBOL voltage -960 -224 M270
WINDOW 0 45 72 VLeft 2
WINDOW 3 -38 88 VLeft 2
WINDOW 123 0 0 Left 2
WINDOW 39 0 0 Left 2
SYMATTR InstName V1
SYMATTR Value {VbQ1}
SYMBOL voltage -1072 -96 R270
WINDOW 3 -40 21 VRight 2
WINDOW 123 0 0 Left 2
WINDOW 39 0 0 Left 2
WINDOW 0 47 43 VRight 2
SYMATTR Value {VbQ2}
SYMATTR InstName V2
SYMBOL diode -880 -80 M270
WINDOW 0 32 32 VTop 2
WINDOW 3 0 32 VBottom 2
SYMATTR InstName D2
SYMATTR Value Dp
SYMBOL res -832 -208 R270
WINDOW 0 32 56 VTop 2
WINDOW 3 0 56 VBottom 2
SYMATTR InstName Rs1
SYMATTR Value {Req1}
SYMBOL res -720 144 R90
WINDOW 0 0 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName Rs4
SYMATTR Value {Req4}
SYMBOL diode -944 16 M90
WINDOW 0 0 32 VBottom 2
WINDOW 3 32 32 VTop 2
SYMATTR InstName D3
SYMATTR Value Dn
SYMBOL voltage -960 32 M270
WINDOW 0 33 32 VLeft 2
WINDOW 3 -38 91 VLeft 2
WINDOW 123 0 0 Left 2
WINDOW 39 0 0 Left 2
SYMATTR InstName V3
SYMATTR Value {VbQ3}
SYMBOL voltage -1072 160 R270
WINDOW 3 -41 21 VRight 2
WINDOW 123 0 0 Left 2
WINDOW 39 0 0 Left 2
WINDOW 0 47 40 VRight 2
SYMATTR Value {VbQ4}
SYMATTR InstName V4
SYMBOL diode -880 176 M270
WINDOW 0 32 32 VTop 2
WINDOW 3 0 32 VBottom 2
SYMATTR InstName D4
SYMATTR Value Dp
SYMBOL res -832 48 R270
WINDOW 0 32 56 VTop 2
WINDOW 3 0 56 VBottom 2
SYMATTR InstName Rs3
SYMATTR Value {Req3}
SYMBOL voltage -1184 -176 R0
WINDOW 3 34 73 Left 2
WINDOW 123 0 0 Left 2
WINDOW 39 0 0 Left 2
WINDOW 0 34 35 Left 2
SYMATTR Value {VbT}
SYMATTR InstName V5
SYMBOL voltage -1184 -32 R0
WINDOW 3 34 73 Left 2
WINDOW 123 0 0 Left 2
WINDOW 39 0 0 Left 2
WINDOW 0 34 35 Left 2
SYMATTR Value {VbT}
SYMATTR InstName V6
SYMBOL res 160 -192 R90
WINDOW 0 0 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName Re2
SYMATTR Value {Re23}
SYMBOL res 48 -240 R270
WINDOW 0 32 56 VTop 2
WINDOW 3 0 56 VBottom 2
SYMATTR InstName Re1
SYMATTR Value {Re14}
SYMBOL res 256 -32 R270
WINDOW 0 32 56 VTop 2
WINDOW 3 0 56 VBottom 2
SYMATTR InstName RL1
SYMATTR Value {RL}
SYMBOL res 160 144 R90
WINDOW 0 0 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName Re4
SYMATTR Value {Re14}
SYMBOL res 48 96 R270
WINDOW 0 32 56 VTop 2
WINDOW 3 0 56 VBottom 2
SYMATTR InstName Re3
SYMATTR Value {Re23}
SYMBOL pnp2 -128 256 M180
WINDOW 0 58 32 Left 2
WINDOW 3 56 69 Left 2
SYMATTR InstName Q4
SYMBOL pnp2 -128 -80 M180
WINDOW 0 69 32 Left 2
WINDOW 3 65 66 Left 2
SYMATTR InstName Q2
SYMBOL npn2 -128 -352 R0
SYMATTR InstName Q1
SYMBOL npn2 -128 -16 R0
SYMATTR InstName Q3
SYMBOL voltage 384 -272 R0
SYMATTR InstName V13
SYMATTR Value {Vrail}
SYMBOL voltage 384 80 R0
SYMATTR InstName V14
SYMATTR Value {Vrail}
SYMBOL voltage -272 -304 R0
WINDOW 0 32 37 Left 2
WINDOW 3 29 75 Left 2
WINDOW 123 0 0 Left 2
WINDOW 39 0 0 Left 2
SYMATTR InstName Vb1
SYMATTR Value {VbQ1}
SYMBOL voltage -272 -224 R0
WINDOW 3 34 73 Left 2
WINDOW 123 0 0 Left 2
WINDOW 39 0 0 Left 2
WINDOW 0 34 35 Left 2
SYMATTR Value {VbQ2}
SYMATTR InstName Vb2
SYMBOL voltage -272 16 R0
WINDOW 0 32 37 Left 2
WINDOW 3 29 75 Left 2
WINDOW 123 0 0 Left 2
WINDOW 39 0 0 Left 2
SYMATTR InstName Vb3
SYMATTR Value {VbQ3}
SYMBOL voltage -272 96 R0
WINDOW 3 34 73 Left 2
WINDOW 123 0 0 Left 2
WINDOW 39 0 0 Left 2
WINDOW 0 34 35 Left 2
SYMATTR Value {VbQ4}
SYMATTR InstName Vb4
SYMBOL voltage -432 -208 R0
WINDOW 3 34 73 Left 2
WINDOW 123 0 0 Left 2
WINDOW 39 0 0 Left 2
WINDOW 0 34 35 Left 2
SYMATTR Value {VbT}
SYMATTR InstName Vb5
SYMBOL voltage -432 0 R0
WINDOW 3 34 73 Left 2
WINDOW 123 0 0 Left 2
WINDOW 39 0 0 Left 2
WINDOW 0 34 35 Left 2
SYMATTR Value {VbT}
SYMATTR InstName Vb6
SYMBOL voltage -592 160 R0
WINDOW 3 26 84 Left 2
WINDOW 123 -58 -191 Left 2
WINDOW 39 0 0 Left 2
WINDOW 0 31 40 Left 2
SYMATTR Value PULSE({-Vin} {Vin} 0 {2*Vin} 1u)
SYMATTR InstName Vin1
SYMBOL bi 592 -352 R0
WINDOW 3 81 -1 Left 2
SYMATTR Value I=We2((V(in,out2)+VbQ1+VbT-VkQ1)/Vt)
SYMATTR InstName B1
SYMBOL bi 640 -304 R0
WINDOW 3 81 -1 Left 2
SYMATTR Value I=We2((-V(in,out2)+VbQ2-VbT-VkQ2)/Vt)
SYMATTR InstName B2
SYMBOL bi 688 -256 R0
WINDOW 3 81 -1 Left 2
SYMATTR Value I=We2((V(in,out2)+VbQ3-VbT-VkQ3)/Vt)
SYMATTR InstName B3
SYMBOL bi 736 -208 R0
WINDOW 3 81 -1 Left 2
SYMATTR Value I=We2((-V(in,out2)+VbQ4+VbT-VkQ4)/Vt)
SYMATTR InstName B4
SYMBOL bi 784 -160 R0
WINDOW 3 81 -1 Left 2
SYMATTR Value I=1/Req1*I(B1)/(1+I(B1)) ;GmQ1
SYMATTR InstName B5
SYMBOL bi 832 -112 R0
WINDOW 3 81 -1 Left 2
SYMATTR Value I=1/Req2*I(B2)/(1+I(B2)) ;GmQ2
SYMATTR InstName B6
SYMBOL bi 880 -64 R0
WINDOW 3 81 -1 Left 2
SYMATTR Value I=1/Req3*I(B3)/(1+I(B3)) ;GmQ3
SYMATTR InstName B7
SYMBOL bi 928 -16 R0
WINDOW 3 81 -1 Left 2
SYMATTR Value I=1/Req4*I(B4)/(1+I(B4)) ;GmQ4
SYMATTR InstName B8
SYMBOL bi 976 32 R0
WINDOW 3 81 -1 Left 2
SYMATTR Value I=(I(B5)+I(B6)) +(I(B7)+I(B8)) ;Tot GmOL
SYMATTR InstName B9
SYMBOL bi 1024 80 R0
WINDOW 3 81 -1 Left 2
SYMATTR Value I=I(B9)/(1+I(B9)*RL) ;GmCL
SYMATTR InstName B10
SYMBOL bi 1280 -352 R0
WINDOW 3 81 -1 Left 2
SYMATTR Value I=Vt/Req1*I(B1)  ;Ic1
SYMATTR InstName B11
SYMBOL bi 1328 -304 R0
WINDOW 3 81 -1 Left 2
SYMATTR Value I=Vt/Req2*I(B2)  ;Ic2
SYMATTR InstName B12
SYMBOL bi 1376 -256 R0
WINDOW 3 81 -1 Left 2
SYMATTR Value I=Vt/Req3*I(B3)  ;Ic3
SYMATTR InstName B13
SYMBOL bi 1424 -208 R0
WINDOW 3 81 -1 Left 2
SYMATTR Value I=Vt/Req4*I(B4) ;Ic4
SYMATTR InstName B14
SYMBOL bi 1472 -160 R0
WINDOW 3 21 1 Left 2
WINDOW 0 22 -21 Left 2
SYMATTR Value I=(I(B11)-I(B12)) +(I(B13)-I(B14)) ;Tot IL
SYMATTR InstName B15
SYMBOL res -688 -32 R270
WINDOW 0 32 56 VTop 2
WINDOW 3 0 56 VBottom 2
SYMATTR InstName RL2
SYMATTR Value {RL}
SYMBOL bv 1520 -128 R0
WINDOW 0 29 33 Left 2
WINDOW 3 38 112 Left 2
SYMATTR InstName B16
SYMATTR Value V=I(B15)*RL  ;VL=IL*RL
SYMBOL res 1584 -128 R0
SYMATTR InstName R1
SYMATTR Value 1G
TEXT 216 -520 Right 1 ;(c) Ian Hegglun Apr 2021
TEXT -224 -360 Left 2 ;Upper pair
TEXT -208 264 Left 2 ;Lower pair
TEXT -480 -224 Left 2 ;Tension bias
TEXT 104 -64 Center 2 ;Tension \ncurrent
TEXT 168 -552 Center 5 ;DoubleCross CC Follower
TEXT -512 472 Left 2 !.model NPN ako:MJL3281Cordel NPN Is={ISn} BF={BetaN} VAF=0 VAR=0 ISE=0 Rb=0 Ikf=0 Re=0
TEXT -1248 -552 Left 2 !.options plotwinsize=0
TEXT -1248 -488 Left 2 !.param Re14=0.18  Re23=0.22
TEXT -1248 -520 Left 2 !.tran 0 {2*Vin} 5m
TEXT -1248 -456 Left 2 !.param Vin=40   Vrail=50    RL=8
TEXT -1248 -344 Left 2 !.param Kb= -0.27  KbT=3
TEXT -1256 504 Left 2 !.param VbQ1=VkQ1+Kb*Vt   VbQ2=VkQ2+Kb*Vt  VbT=KbT*Vt
TEXT -920 280 Left 2 ;.param Vt=0.02586 ;at 27C
TEXT -1248 -424 Left 2 !.param ISn=5e-12  ISp=5e-12
TEXT -1080 -32 Left 3 ;Diode equivalent circuit
TEXT -1256 312 Left 2 !.param  Req1=Re14*(BetaN+1)/BetaN  Req2=Re23*(BetaP+1)/BetaP
TEXT 568 192 Left 2 ;User Defined Functions
TEXT 568 224 Left 2 !.function Le(X) { If(U(X-450), X, Ln(1+Exp(X))) } ;Unlimited Ln(1+e^X)
TEXT 568 256 Left 2 !.function We1(X) {Le(X)*(1.0-ln(1+Le(X))/(2+Le(X)) )}  ;Unlimited W(e^X))2%
TEXT 568 288 Left 2 !.function We2(X) {If(U(X+30), We1(X-Ln(1+We1(X)+ln(We1(X))-X)),We1(X))};Unlimited 0.05%
TEXT 720 -416 Left 3 ;Equation for Ic1-4 & Gm1-4 and IL (given Vin-Vout)
TEXT -920 -344 Left 2 ;.step param Kb List -0.25 -0.27 -0.29
TEXT -568 296 Left 2 ;PULSE({-Vin} {Vin} 0 {2*Vin} 1u)
TEXT -568 272 Left 2 ;SINE(0 {Vin} {freq})
TEXT -736 -552 Left 2 !.options numdgt=7 ;double precision
TEXT -736 -448 Left 2 ;.tran 0 {2*Vin} 5m ;ramp\n.tran 0 {6/freq} {1/freq} {2m/freq} ;sine
TEXT -736 -520 Left 2 !.param freq=1k
TEXT -736 -488 Left 2 ;.Four {freq} V(out2) V(out1)
TEXT -736 -392 Left 2 ;.Step param Vin List 1 2 5 7.5 10 20 40
TEXT -1248 -392 Left 2 !.param BetaN = 100  BetaP =100
TEXT -1256 536 Left 2 !.param VbQ3=VkQ3+Kb*Vt   VbQ4=VkQ4+Kb*Vt
TEXT -512 408 Left 2 !.model Dn D (IS={ISn*ISnTF} Rs=0 N=1 Tnom=Temp)\n.model Dp D (IS={ISp*ISpTF} Rs=0 N=1 Tnom=Temp)
TEXT -1256 344 Left 2 !.param  Req3=Re23*(BetaN+1)/BetaN  Req4=Re14*(BetaP+1)/BetaP
TEXT -512 536 Left 2 ;Cordell models
TEXT -512 504 Left 2 !.model PNP ako:MJL1302Cordel PNP Is={ISp}  BF={BetaP} VAF=0 VAR=0 ISE=1e-20 Rb=0 Ikf=0 Re=0
TEXT -1256 568 Left 2 !.MODEL MJL3281Cordel npn IS=5e-12 BF=158 VAF=1000 IKF=50 ISE=2e-21 NE=1.5 NF=1 RB=3 RC=.1 CJE=11e-9 MJE=.35 VJE=.5 RE=0 CJC=1.2e-9 MJC=.5 VJC=.6 FC=.1 TF=2.7e-9  XTF=7500 VTF=3  ITF=750 TR=100e-9 BR=5 VAR=4.3 NR=1.1 EG=1.1 XCJC=1 XTB=.12 XTI=1 NC=4 ISC=.3e-12 IKR=4.4 CJS=0 VJS=0.75 MJS=.5 PTF=0 KF=0 AF=1 mfg=CA041611
TEXT -1256 600 Left 2 !.MODEL MJL1302Cordel pnp IS=7e-12 BF=114 VAF=550 IKF=30 ISE=1e-7 NE=5 NF=1 RB=3.3 RC=.1 CJE=16e-9 MJE=.45 VJE=.8 RE=0 CJC=2.3e-9 MJC=.4 VJC=.3 FC=.1 TF=3e-9 XTF=1000 VTF=2 ITF=150 TR=100e-9 BR=5 VAR=4.3 NR=1.1 EG=1.1 XCJC=1 XTB=.1 XTI=1 NC=4 ISC=.3e-12 IKR=4.5 CJS=0 VJS=.75 MJS=.5 PTF=0 KF=0 AF=1 mfg=CA041611
TEXT -1248 -296 Left 2 !.Temp 27
TEXT -920 -296 Left 2 !.Step Temp list 27 77
TEXT -1256 248 Left 2 !.param Tab=273.15  Koq=8.6171e-5  ;Boltz/q
TEXT -1256 280 Left 2 !.param Vt=Koq*(Temp+Tab)
TEXT -1256 408 Left 2 !.param VkQ2=Vt*Ln(Vt/(Isp*ISpTF*Req2)) -Isp*ISpTF*Req2
TEXT -1256 472 Left 2 !.param VkQ4=Vt*Ln(Vt/(Isp*ISpTF*Req4)) -Isp*ISpTF*Req4
TEXT -1256 376 Left 2 !.param VkQ1=Vt*Ln(Vt/(ISn*ISnTF*Req1)) -ISn*ISnTF*Req1
TEXT -1256 440 Left 2 !.param VkQ3=Vt*Ln(Vt/(ISn*ISnTF*Req3)) -ISn*ISnTF*Req3
TEXT -512 376 Left 2 !.param ISpTF=((Temp+Tab)/(Tnom+Tab))**XTI *exp(Eg/Koq*(1/(Tnom+Tab)-1/(Temp+Tab))) ;Is(Temp) scale factor
TEXT -512 344 Left 2 !.param ISnTF=((Temp+Tab)/(Tnom+Tab))**XTI *exp(Eg/Koq*(1/(Tnom+Tab)-1/(Temp+Tab))) ;Is(Temp) scale factor
TEXT -304 536 Left 2 !.param Tnom=27  XTI=1.0  Eg=1.1
LINE Normal 144 128 160 144
LINE Normal 160 144 176 128
LINE Normal 160 -240 160 144 2
LINE Normal 160 -240 160 -240 2
RECTANGLE Normal 224 -80 -320 -384 2
RECTANGLE Normal 224 288 -320 -16 2
RECTANGLE Normal -928 -320 -1248 -368 2