initial commit
This commit is contained in:
244
lib/sub/MAX41400.lib
Normal file
244
lib/sub/MAX41400.lib
Normal file
@@ -0,0 +1,244 @@
|
||||
* Copyright (c) 1998-2023 Analog Devices, Inc. All rights reserved.
|
||||
*
|
||||
.subckt MAX41400 1 2 3 4 5 6 7 8 9 10
|
||||
R1 A1O A1N 20k Noiseless
|
||||
R3 A1N N008 R=V(RG,4)
|
||||
A1 N015 4 4 4 4 4 G2 4 SCHMITT Vt=0.5 Vh=0.2 Trise=100n
|
||||
C3 G2 4 10p Rpar=1G
|
||||
C4 G1 4 10p Rpar=1G
|
||||
C5 G0 4 10p Rpar=1G
|
||||
C2 GainInd 4 1p Rpar=1k Noiseless
|
||||
G1 4 GainInd G0 4 1m
|
||||
G2 4 GainInd G1 4 2m
|
||||
G3 4 GainInd G2 4 4m
|
||||
A2 N018 4 4 4 4 4 G1 4 SCHMITT Vt=0.5 Vh=0.2 Trise=100n
|
||||
A3 N023 4 4 4 4 4 G0 4 SCHMITT Vt=0.5 Vh=0.2 Trise=100n
|
||||
A4 N014 N022 4 4 4 4 Vsmin 4 SCHMITT Vt={Vsmin-100m} Trise=10n
|
||||
A6 N014 4 4 4 4 Vsmax 4 4 SCHMITT Vt={Vsmax} Trise=10n Vh=0
|
||||
A7 Vsmax 4 Vsmin 4 _SHDN 4 EN 4 AND Trise={2*ENTon} Tfall={2*ENToff}
|
||||
Biq N014 N022 I=IF(V(EN,4)>0.5, V(Iq,4),{Iq_off})
|
||||
C13 EN 4 10p Rpar=1G
|
||||
C15 Vsmin 4 10p Rpar=1G
|
||||
C16 Vsmax 4 10p Rpar=1G
|
||||
C7 N016 4 1p Rpar=1G
|
||||
C8 N019 4 1p Rpar=1G
|
||||
C9 N024 4 1p Rpar=1G
|
||||
C6 _SHDN 4 10p Rpar=1G
|
||||
A5 N028 4 4 4 4 4 _SHDN 4 SCHMITT Vt=0.5 Vh=0.2 Trise=10n
|
||||
C10 N027 4 1p Rpar=100Meg
|
||||
C11 N014 4 1p Rpar=1G
|
||||
R2 A2O A2N 20k Noiseless
|
||||
R6 N006 N005 20k Noiseless
|
||||
R7 A3O N010 20k Noiseless
|
||||
R15 N031 4 1Meg Noiseless
|
||||
G7 4 N031 N030 4 1<>
|
||||
G8 4 N030 N029 4 {Avo2_in/1Meg}
|
||||
G9 4 N029 A1P A1N 100<30>
|
||||
C20 N029 4 1e-18
|
||||
R17 A1O 4 {Zo_dc_in}
|
||||
G11 4 A1O N031 4 {1/Zo_dc_in}
|
||||
R19 N035 4 1Meg Noiseless
|
||||
G4 4 N035 N034 4 1<>
|
||||
G12 4 N034 N036 4 {Avo2_in/1Meg}
|
||||
G13 4 N036 A2P A2N 100<30>
|
||||
C23 N036 4 1e-18
|
||||
R21 A2O 4 {Zo_dc_in}
|
||||
G15 4 A2O N035 4 {1/Zo_dc_in}
|
||||
R23 A3Oi 4 1Meg Noiseless
|
||||
G5 4 A3Oi Clamp 4 1<>
|
||||
G17 4 Avo3 A3P A3N 100<30>
|
||||
C26 Avo3 4 1e-18
|
||||
C17 N030 N032 Q=x*Table(V(GainInd,4), 0, 1.59u, 1, 1.59u, 2, 455n, 3, 455n, 4, 1.77u, 5, 1.77u, 6, 1.61u)
|
||||
R29 N032 4 1m
|
||||
R30 N033 4 1m
|
||||
R16 N037 4 1m
|
||||
R31 N038 4 1m
|
||||
R20 N040 4 1m
|
||||
R24 N039 4 1m
|
||||
C18 A3Oi N040 Q=x*Table(V(GainInd,4), 1, 1.59p, 2, 3.98p, 3, 3.98p, 4, 159f)
|
||||
C12 N034 N037 Q=x*Table(V(GainInd,4), 0, 1.59u, 1, 1.59u, 2, 455n, 3, 455n, 4, 1.77u, 5, 1.77u, 6, 1.61u)
|
||||
C19 N031 N033 Q=x*Table(V(GainInd,4), 3, 5.31p, 4, 4.68p, 5, 4.68p, 6, 3.18p)
|
||||
C21 N035 N038 Q=x*Table(V(GainInd,4), 3, 5.31p, 4, 4.68p, 5, 4.68p, 6, 3.18p)
|
||||
C14 Clamp N039 Q=x*Table(V(GainInd,4), 3, 723n, 4, 455n)
|
||||
B7 4 Clamp I=Uplim(Dnlim({Avo2_out/1Meg}* V(Avo3,4), {Isink}, 1m), {Isrc}, 1m)
|
||||
S1 4 N029 EN 4 ENA
|
||||
S2 4 N030 EN 4 ENA
|
||||
S3 4 N036 EN 4 ENA
|
||||
S4 4 N034 EN 4 ENA
|
||||
S5 4 Avo3 EN 4 ENA
|
||||
S6 4 Clamp EN 4 ENA
|
||||
S7 4 A3O EN 4 ENZ
|
||||
DREF 10 N006 DO
|
||||
C28 N006 10 1f
|
||||
R12 N057 N056 1k Noiseless
|
||||
B10 N056 N057 I=1m*({Vos+TCVos* (Temp-27)})
|
||||
I1 N011 4 {Ib-Ios}
|
||||
I2 N002 4 {Ib}
|
||||
G18 4 N056 6 4 1k
|
||||
R13 4 N056 1m Noiseless
|
||||
C34 N056 4 1p
|
||||
G20 4 A1P N060 4 1m
|
||||
R14 4 A1P 1k Noiseless
|
||||
DIP1 10 A1P DIP
|
||||
DIN1 A1P 4 DIN
|
||||
G22 4 A2P 5 4 1m
|
||||
R22 4 A2P 1k Noiseless
|
||||
DIP2 10 A2P DIP
|
||||
DIN2 A2P 4 DIN
|
||||
R25 E_n 4 100k Noiseless
|
||||
A8 4 4 4 4 4 4 E_n 4 OTA G=10u Iout=1m En=57n+table(Freq, 1k, 0, 10k, 5n, 49k, 35n, 50k, 400n, 51k, 40n, 80k, 33n, 100k, 210n) Vhigh=1k Vlow=-1k
|
||||
R26 N058 N057 1k Noiseless
|
||||
G23 N057 N058 E_n 4 1m
|
||||
C36 N042 N041 {C1a_CMR}
|
||||
G26 4 N041 N047 4 {G1_CMR}
|
||||
R36 N041 4 1 Noiseless
|
||||
R38 N042 N041 {R1a_CMR} Noiseless
|
||||
R39 N042 4 {R2a_CMR} Noiseless
|
||||
R40 N043 N044 {R1b_CMR} Noiseless
|
||||
R41 N044 4 {R2b_CMR} Noiseless
|
||||
G27 4 N045 N044 4 {G2_CMR}
|
||||
C37 N044 N043 {C1b_CMR}
|
||||
R42 N043 4 1 Noiseless
|
||||
G28 4 N043 N042 4 1
|
||||
R43 N045 4 1 Noiseless
|
||||
R44 N045 N046 {R1c_CMR} Noiseless
|
||||
R45 N046 4 {R2c_CMR} Noiseless
|
||||
G29 4 CMR N046 4 {G3_CMR}
|
||||
C38 N046 N045 {C1c_CMR}
|
||||
R46 CMR 4 1 Noiseless
|
||||
R27 N059 N058 1k Noiseless
|
||||
G31 N058 N059 CMR 4 1m
|
||||
B12 4 N047 I=500u*(V(6,4)+V(5,4)) Rpar=1k Cpar=1p
|
||||
C40 N049 N048 {C1a_PSR}
|
||||
G32 4 N048 10 4 {G1_PSR}
|
||||
R48 N048 4 1 Noiseless
|
||||
R49 N049 N048 {R1a_PSR} Noiseless
|
||||
R50 N049 4 {R2a_PSR} Noiseless
|
||||
R51 N050 N051 {R1b_PSR} Noiseless
|
||||
R52 N051 4 {R2b_PSR} Noiseless
|
||||
G33 4 N052 N051 4 {G2_PSR}
|
||||
C41 N051 N050 {C1b_PSR}
|
||||
R53 N054 4 1 Noiseless
|
||||
G34 4 N050 N049 4 1
|
||||
R54 N050 4 1 Noiseless
|
||||
R55 N052 N053 {R1b_PSR} Noiseless
|
||||
R56 N053 4 {R2b_PSR} Noiseless
|
||||
G35 4 N054 N053 4 {G2_PSR}
|
||||
C42 N053 N052 {C1b_PSR}
|
||||
R57 N052 4 1 Noiseless
|
||||
R58 PSR 4 1 Noiseless
|
||||
R59 N054 N055 {R1b_PSR} Noiseless
|
||||
R60 N055 4 {R2b_PSR} Noiseless
|
||||
G36 4 PSR N055 4 {G2_PSR}
|
||||
C43 N055 N054 {C1b_PSR}
|
||||
R62 N010 A3N {Rge}
|
||||
R63 N005 A3P {Rge}
|
||||
A9 GainInd 4 4 4 4 4 R2 4 SCHMITT Vt=2.5 Tau=1u
|
||||
C25 R2 4 10p Rpar=1G Noiseless
|
||||
R4 A2N N008 1.599k Noiseless
|
||||
B6 4 RG I=1m*Table(V(GainInd,4), 0, 8.187k, 1, 2.76k, 2, 467, 3, 3.992k, 4, 2.749k, 5, 1.192k, 6, 451.8, 7, 16.5) Rpar=1k Cpar={Csw}
|
||||
B5 4 Iq I=1m*({Iqm}* V(10,4)+{Iqb})
|
||||
R5 Iq 4 1k
|
||||
C22 Iq 4 1n
|
||||
S10 A1O A3P R2 4 R2
|
||||
S11 A2O A3N R2 4 R2
|
||||
R10 N060 N059 1k Noiseless
|
||||
G6 N059 N060 PSR 4 1m
|
||||
B1 4 N015 I=1m*(V(3,4)/ (V(10,4)+1m)) Rpar=1k Cpar=10p
|
||||
B2 4 N018 I=1m*(V(2,4)/ (V(10,4)+1m)) Rpar=1k Cpar=10p
|
||||
B3 4 N023 I=1m*(V(1,4)/ (V(10,4)+1m)) Rpar=1k Cpar=10p
|
||||
B4 4 N028 I=1m*(V(9,4)/ (V(10,4)+1m)) Rpar=1k Cpar=10p
|
||||
A10 N002 4 4 4 4 4 4 4 OTA G=0 In=100f
|
||||
A11 4 N011 4 4 4 4 4 4 OTA G=0 In=100f
|
||||
B8 4 A3O I=Uplim(Dnlim(V(A3Oi,4)/{Zo_dc_out},-V(Vsat), 1m), V(Vsat), 1m)
|
||||
B11 0 Vsat I=V(10,4)/100 Rpar=1 Cpar=1n
|
||||
R71 N002 6 1<>
|
||||
R72 N011 5 1<>
|
||||
R73 N014 10 1<>
|
||||
R74 N022 4 1<>
|
||||
R75 N027 9 1<>
|
||||
R8 8 N006 1<>
|
||||
R9 7 A3O 1<>
|
||||
R61 3 N016 1<>
|
||||
R64 2 N019 1<>
|
||||
R65 1 N024 1<>
|
||||
.param Vos=418.9u TCVos=5n
|
||||
.param Ib=10p Ios=10.001p
|
||||
.param Vcm_min=0.1 Vcm_max=-0.1
|
||||
.param Iscp=25m Iscn={-Iscp}
|
||||
.param Iq_on=65u Iq_off=0.1u
|
||||
.param Vsmin=1.7 Vsmax=3.6
|
||||
.param ENToff={ENTon} ENTon=80u
|
||||
.param NORM=Table({PGIA_gain}, 10, 100m, 20, 50m,
|
||||
+40, 25m, 80, 12.5m, 100, 10m, 150, 6.67m, 200, 5m, 250, 4m)
|
||||
.param Vdd=1.8
|
||||
.param PGIA_gain=10
|
||||
.param G0=Table({PGIA_gain}, 10, 0, 20, {Vdd}, 40, 0, 80, {Vdd}, 100, 0, 150, {Vdd}, 200, 0, 250, {Vdd})
|
||||
.param G1=Table({PGIA_gain}, 10, 0, 20, 0, 40, {Vdd}, 80, {Vdd}, 100, 0, 150, 0, 200, {Vdd}, 250, {Vdd})
|
||||
.param G2=Table({PGIA_gain}, 10, 0, 20, 0, 40, 0, 80, 0, 100, {Vdd}, 150, {Vdd}, 200, {Vdd}, 250, {Vdd})
|
||||
.param Csw=2p
|
||||
.param Avo_in=120
|
||||
.param Avo2_dB_in={Avo_in-40}
|
||||
.param Avo2_in = {pwr(10, (Avo2_dB_in)/20)}
|
||||
.param Zo_dc_in=100
|
||||
.param Avo_out=120
|
||||
.param Avo2_dB_out={Avo_out-40}
|
||||
.param Avo2_out = {pwr(10, (Avo2_dB_out)/20)}
|
||||
.param Isink={-Isrc} Isrc=59.7m
|
||||
.param Zo_dc_out=100
|
||||
.model DCHRG D(Vfwd=20m Epsilon=10m Ron=1u Roff=1G Noiseless)
|
||||
.model DIP D(Vfwd=100 Vrev={Vcm_max} Revepsilon=0.1 Noiseless)
|
||||
.model DIN D(Vfwd=100 Vrev={-Vcm_min} Revepsilon=0.1 Noiseless)
|
||||
.model DO D(Vfwd=1k Vrev=0 Revepsilon=0.1 Ron=1m Noiseless)
|
||||
.model ENA SW(Ron=1Meg Roff=1u Vt=500m Vh=-100m Noiseless)
|
||||
.model ENZ SW(Ron={Zo_dc_out} Roff=1u Vt=500m Vh=-100m Noiseless)
|
||||
.model QP SW(Ron={Zo_dc_out} Roff=1Meg Vt=0 Vh=-0.1) ; Vser=16.1m Noiseless) ;Ilimit={Iscp} Noiseless)
|
||||
.model QN SW(Ron={Zo_dc_out} Roff=1Meg Vt=0 Vh=-25.8m) ; Vser=0 Noiseless) ;Ilimit={Iscp} Noiseless)
|
||||
.model R2 SW(Ron=2k Roff=10k Vt=500m Vh=-100m Noiseless)
|
||||
.param gain_CMR = {pow(10, (-Rej_dc_CMR/20))}
|
||||
.param C1a_CMR = {1 / (2 * pi * R1a_CMR * fz1_CMR)}
|
||||
.param R2a_CMR = {R1a_CMR/ ((2 * pi * fp1_CMR * C1a_CMR
|
||||
+* R1a_CMR) - 1)}
|
||||
.param actual1_CMR = {R2a_CMR / (R1a_CMR + R2a_CMR)}
|
||||
.param G1_CMR = {gain_CMR/actual1_CMR}
|
||||
.param Rej_dc_CMR=120
|
||||
.param R1a_CMR=100Meg
|
||||
.param fz1_CMR=0.15
|
||||
.param fp1_CMR=1
|
||||
.param R1b_CMR=1Meg
|
||||
.param fz2_CMR=3
|
||||
.param fp2_CMR=18
|
||||
.param C1b_CMR={1 / (2 * pi * R1b_CMR * fz2_CMR)}
|
||||
.param R2b_CMR = {R1b_CMR/ ((2 * pi * fp2_CMR * C1b_CMR
|
||||
+* R1b_CMR) - 1)}
|
||||
.param actual2_CMR = {R2b_CMR / (R1b_CMR + R2b_CMR)}
|
||||
.param G2_CMR= {1/actual2_CMR}
|
||||
.param R1c_CMR=1Meg
|
||||
.param fz3_CMR=80
|
||||
.param fp3_CMR=1.6k
|
||||
.param C1c_CMR={1 / (2 * pi * R1c_CMR * fz3_CMR)}
|
||||
.param R2c_CMR = {R1c_CMR/ ((2 * pi * fp3_CMR * C1c_CMR
|
||||
+* R1c_CMR) - 1)}
|
||||
.param actual3_CMR = {R2c_CMR / (R1c_CMR + R2c_CMR)}
|
||||
.param G3_CMR= {1/actual3_CMR}
|
||||
.param gain_PSR = {pow(10, (-Rej_dc_PSR/20))}
|
||||
.param C1a_PSR = {1 / (2 * pi * R1a_PSR * fz1_PSR)}
|
||||
.param R2a_PSR = {R1a_PSR/ ((2 * pi * fp1_PSR * C1a_PSR
|
||||
+* R1a_PSR) - 1)}
|
||||
.param actual1_PSR = {R2a_PSR / (R1a_PSR + R2a_PSR)}
|
||||
.param G1_PSR = {gain_PSR/actual1_PSR}
|
||||
.param Rej_dc_PSR=115.5
|
||||
.param R1a_PSR=1Meg
|
||||
.param fz1_PSR=100
|
||||
.param fp1_PSR=800k
|
||||
.param R1b_PSR=1Meg
|
||||
.param fz2_PSR=20k
|
||||
.param fp2_PSR={fp1_PSR}
|
||||
.param C1b_PSR={1 / (2 * pi * R1b_PSR * fz2_PSR)}
|
||||
.param R2b_PSR = {R1b_PSR/ ((2 * pi * fp2_PSR * C1b_PSR
|
||||
+* R1b_PSR) - 1)}
|
||||
.param actual2_PSR = {R2b_PSR / (R1b_PSR + R2b_PSR)}
|
||||
.param G2_PSR= {1/actual2_PSR}
|
||||
.param Rge=1m
|
||||
.param Iqm=2.19u Iqb=61.8u
|
||||
.ends MAX41400
|
||||
Reference in New Issue
Block a user