initial commit
This commit is contained in:
211
lib/sub/MAX40023.lib
Normal file
211
lib/sub/MAX40023.lib
Normal file
@@ -0,0 +1,211 @@
|
||||
* Copyright (c) 1998-2022 Analog Devices, Inc. All rights reserved.
|
||||
*
|
||||
.subckt MAX40023 1 2 3 4 5 6
|
||||
C1 Clamp MID {Cfp1}
|
||||
B1 MID Clamp I=Uplim(Dnlim({Avo2/1Meg}* V(Avo1,MID), {Isink}, 5m), {Isrc}, 5m)
|
||||
G2 0 Vcc_Int N028 0 1
|
||||
G3 0 Vee_Int N030 0 1k
|
||||
R6 Vcc_Int 0 1 Noiseless
|
||||
R7 Vee_Int 0 1m Noiseless
|
||||
Cinp MID Inp1 {Ccm}
|
||||
Cinn Inn1 MID {Ccm}
|
||||
Cdiff Inp1 Inn1 {Cdiff}
|
||||
Rinn Inn1 MID {Rcm} Noiseless
|
||||
Rinp MID Inp1 {Rcm} Noiseless
|
||||
G14 MID Inn2 Inn1 MID 1m
|
||||
R43 MID Inn2 1k Noiseless
|
||||
C12 Inn2 MID 1f
|
||||
C14 Vcc_Int 0 1n
|
||||
C15 Vee_Int 0 1n
|
||||
S3 3 N009 N009 3 ESDI
|
||||
S4 3 Inn2 Inn2 3 ESDI
|
||||
S5 N009 4 4 N009 ESDI
|
||||
S6 Inn2 4 4 Inn2 ESDI
|
||||
R1 Inp1 1 {Rser} Noiseless
|
||||
R2 Inn1 2 {Rser} Noiseless
|
||||
Rdiff Inp1 Inn1 {Rdiff} Noiseless
|
||||
S1 3 5 5 3 ESDO
|
||||
S2 5 4 4 5 ESDO
|
||||
G21 N017 N016 N022 MID 1m
|
||||
R59 N017 N016 1k Noiseless
|
||||
C27 N022 N021 {C1a_PSRp}
|
||||
G22 MID N021 Vcc_Int MID {G1_PSRp}
|
||||
R60 N021 MID 1 Noiseless
|
||||
R61 N022 N021 {R1a_PSRp} Noiseless
|
||||
R62 N022 MID {R2a_PSRp} Noiseless
|
||||
G26 MID N016 N012 MID 1k
|
||||
R72 MID N016 1m Noiseless
|
||||
G27 MID Inp2 N017 MID 1m
|
||||
R73 MID Inp2 1k Noiseless
|
||||
C30 N002 N001 {C1a_CMR}
|
||||
R58 N001 MID 1 Noiseless
|
||||
R74 N002 N001 {R1a_CMR} Noiseless
|
||||
R77 N002 MID {R2a_CMR} Noiseless
|
||||
G31 MID N001 Inp1 MID {G1_CMR}
|
||||
G32 N011 N012 N005 MID 1m
|
||||
R82 N012 N011 1k Noiseless
|
||||
G33 MID N009 Inp1 MID 1k
|
||||
R83 MID N009 1m Noiseless
|
||||
C32 N009 MID 1p
|
||||
R134 N010 N009 1k Noiseless
|
||||
B12 N009 N010 I=1m*({Vos+Drift* (Temp-27)})
|
||||
R135 N011 N010 1k Noiseless
|
||||
C19 5 MID 2f
|
||||
DGP N024 Clamp DG
|
||||
DGN Clamp N025 DG
|
||||
G28 MID N024 GRpi MID 1k
|
||||
G41 MID N025 GRni MID 1k
|
||||
R14 N024 MID 1m Noiseless
|
||||
R37 N025 MID 1m Noiseless
|
||||
R42 GRpi MID 1k Noiseless
|
||||
R48 GRni MID 1k Noiseless
|
||||
C10 GRni MID 10p
|
||||
C11 GRpi MID 10p
|
||||
C18 Clamp N024 1f
|
||||
C24 Clamp N025 1f
|
||||
DOP Vsatp N013 DO
|
||||
DON N013 Vsatn DO
|
||||
G48 MID Vsatp Satp MID 1k
|
||||
R11 Vsatp MID 1m
|
||||
G49 MID Vsatn Satn MID 1k
|
||||
R49 Vsatn MID 1m
|
||||
C56 N013 Vsatp 1f
|
||||
C57 N013 Vsatn 1f
|
||||
C59 Vsatp MID 1n
|
||||
C60 Vsatn MID 1n
|
||||
C61 Avo1 MID 1e-18
|
||||
G4 N010 N011 E_n MID 1m
|
||||
R45 Satp 3 1k
|
||||
C4 Satp 3 1n
|
||||
R46 Satn 4 1k
|
||||
C21 Satn 4 1n
|
||||
I2 Inn1 MID {Ib-Ios}
|
||||
B2 Inp1 MID I=If(Temp>=41.58, {Iba}+Temp*{Ibb}+ {Ibc}*Temp**2+ {Ibd}*Temp**3, 100f)
|
||||
G7 MID Avo1 Inp2 Inn2 100<30>
|
||||
DOI N013 5 LIM
|
||||
COI 5 N013 1p
|
||||
C8 MID 1 1f
|
||||
R24 N018 MID 1Meg Noiseless
|
||||
G5 MID N018 Clamp MID 1<>
|
||||
C13 N018 MID {Cfp2}
|
||||
G20 MID N013 N007 MID {1/Zo_dc}
|
||||
R18 N028 3 10m Noiseless
|
||||
R20 N030 4 10m Noiseless
|
||||
I3 MID GRpi {GR}
|
||||
I4 GRni MID {GR}
|
||||
A1 N028 N030 MID MID MID MID Vsmin MID SCHMITT Vt={Vsmin-80m} Trise={2*ENTon}
|
||||
A2 3 4 MID MID MID Vsmax MID MID SCHMITT Vt={Vsmax} Trise={2*ENTon} Vh=0
|
||||
A3 Vsmin MID _SHDN MID Vsmax MID EN MID AND Trise=10n
|
||||
Biq N028 N030 I=IF(V(EN,MID)>0.5, {Iq_on},{Iq_off})
|
||||
C5 EN MID 10p Rpar=1G
|
||||
C9 Vsmin MID 10p Rpar=1G
|
||||
C16 Vsmax MID 10p Rpar=1G
|
||||
C17 _SHDN MID 10p Rpar=1G
|
||||
A4 N032 MID MID MID MID MID _SHDN MID SCHMITT Vt=0.5 Vh=0.2 Trise={2*ENTonsd}
|
||||
C26 6 MID 1p Rpar=18Meg
|
||||
B4 MID N032 I=1m*(V(6,4)/ (V(3,4)+1m)) Rpar=1k Cpar=10p
|
||||
S7 MID Avo1 EN MID ENA
|
||||
S8 MID Clamp EN MID ENA
|
||||
S9 MID N013 EN MID ENZ
|
||||
R33 N007 N006 {R2x_Avo} Noiseless
|
||||
R51 N006 N008 {R1x_Avo} Noiseless
|
||||
Rx2 N019 N008 {Rx_Avo} Noiseless
|
||||
Cx2 N019 MID {Cx_Avo}
|
||||
G16 MID N007 N019 N006 1Meg
|
||||
R52 MID N007 1 Noiseless
|
||||
R53 N008 MID 1 Noiseless
|
||||
G29 MID N008 N018 MID 1
|
||||
R21 N003 N004 {R1b_CMR} Noiseless
|
||||
R22 N004 MID {R2b_CMR} Noiseless
|
||||
G6 MID N005 N004 MID {G2_CMR}
|
||||
C23 N004 N003 {C1b_CMR}
|
||||
R23 N003 MID 1 Noiseless
|
||||
G8 MID N003 N002 MID 1
|
||||
R29 N005 MID 1 Noiseless
|
||||
A5 MID Inp1 MID MID MID MID MID MID OTA G=0 In={In}
|
||||
A6 MID Inn1 MID MID MID MID MID MID OTA G=0 In={In}
|
||||
A7 MID MID MID MID MID MID E_n MID OTA G=10u Iout=1m Vhigh=1k Vlow=-1k En=Table(freq, 0.1, 1n, 1, 100n, 1.03, 129n, 1.97, 100n, 2.62, 86.3n, 5.1, 67.5n, 10.8, 59.6n, 19.8, 49.3n, 30.6, 49n, 43.6, 45.8n, 109, 41.2n, 238, 38.9n, 467, 33.7n, 775, 31.8n, 2.01k, 31.8n, 6.44k, 29.8n, 17k, 31.6n, 21.2k, 33.1n, 29.9k, 39.6n, 47.2k, 56.2n)
|
||||
R4 E_n MID 100k Noiseless
|
||||
R5 N026 Vcc_Int 1Meg Noiseless
|
||||
R8 N026 Vee_Int 1Meg Noiseless
|
||||
C2 N026 0 1
|
||||
E1 MID 0 N026 0 1
|
||||
R9 MID 0 1Meg Noiseless
|
||||
C6 MID 0 1n
|
||||
I1 Satp 3 11.3<EFBFBD>
|
||||
I5 4 Satn 11.3<EFBFBD>
|
||||
B3 N028 N030 I=I(DOI)
|
||||
D1 CMp Inp2 DO
|
||||
D2 Inp2 CMn DO
|
||||
I6 3 CMp {1k*Vcm_max}
|
||||
R3 3 CMp 1m
|
||||
C3 3 CMp 1n
|
||||
I7 4 CMn {1k*Vcm_min}
|
||||
R10 4 CMn 1m
|
||||
C20 4 CMn 1n
|
||||
C22 2 MID 1f
|
||||
.param Vos=109u Drift=1u
|
||||
.param Ib=0.1p Ios=0.5p
|
||||
.param Iba=-966f Ibb=-238f
|
||||
.param Ibc=-6.6e-17 Ibd=1.54e-16
|
||||
.param Vcm_min=-0.1 Vcm_max=-0.1
|
||||
.param Iscp=10m Iscn={-Iscp}
|
||||
.param Iq_on=17u Iq_off=55n
|
||||
.param Vsmin=1.6 Vsmax=4
|
||||
.param ENTon=50u ENTonsd=30u
|
||||
.param In=10f
|
||||
.model LIM D(Vfwd=1n Vrev=1n Ron=1m Roff=1m Ilimit={Iscp} Revilimit={-Iscn} Epsilon=1u Noiseless)
|
||||
.model DO D(Vfwd=1k Vrev=0 Revepsilon=0.1 Ron=1m Noiseless)
|
||||
.model DG D(Vfwd=8k Vrev=0 Revepsilon=0.5 Ron=1m Noiseless)
|
||||
.model ENA SW(Ron=1Meg Roff=1u Vt=500m Vh=-100m Noiseless)
|
||||
.model ENZ SW(Ron={Zo_dc} Roff=1u Vt=500m Vh=-100m Noiseless)
|
||||
.model ESDI SW(Ron=50 Roff=1T Vt=0.5 Vh=-0.1 Vser=0.1 Noiseless)
|
||||
.model ESDO SW(Ron=50 Roff=1G Vt=0.5 Vh=-0.1 Vser=0.6 Ilimit=4m Lser=1n Noiseless)
|
||||
.param gain_PSRp = {pow(10, (-Rej_dc_PSRp/20))}
|
||||
.param C1a_PSRp = {1 / (2 * pi * R1a_PSRp * fz1_PSRp)}
|
||||
.param R2a_PSRp = {R1a_PSRp/ ((2 * pi * fp1_PSRp * C1a_PSRp
|
||||
+* R1a_PSRp) - 1)}
|
||||
.param actual1_PSRp = {R2a_PSRp / (R1a_PSRp + R2a_PSRp)}
|
||||
.param G1_PSRp = {gain_PSRp/actual1_PSRp}
|
||||
.param Rej_dc_PSRp=100
|
||||
.param R1a_PSRp=100k
|
||||
.param fz1_PSRp=2
|
||||
.param fp1_PSRp=100k
|
||||
.param Avo=113.32
|
||||
.param SRp=65m SRn=-33m
|
||||
.param fp1=0.4 fp2=150k
|
||||
.param Rser=110m
|
||||
.param Ccm=1p Rcm=15T
|
||||
.param Cdiff=1f Rdiff=1T
|
||||
.param Avo2_dB = {Avo-40+1}
|
||||
.param Avo2 = {pwr(10, (Avo2_dB)/20)}
|
||||
.param Cfp1={1 / (2 * pi * fp1 * 1Meg)}
|
||||
.param Cfp2={1 / (2 * pi * fp2 * 1Meg)}
|
||||
.param Isrc = {Cfp1 * SRp * 1Meg} Isink = {Cfp1 * SRn * 1Meg}
|
||||
.param Zo_dc=1k
|
||||
.param Rx_Avo=1k
|
||||
.param R2x_Avo=10k
|
||||
.param fpx_Avo=99G
|
||||
.param fzx_Avo=200k
|
||||
.param Cx_Avo={1/(2*pi*Rx_Avo*fpx_Avo)}
|
||||
.param R1x_Avo={(fzx_Avo*R2x_Avo)/fpx_Avo}
|
||||
.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=91.5
|
||||
.param R1a_CMR=100Meg
|
||||
.param fz1_CMR=30
|
||||
.param fp1_CMR=1.4k
|
||||
.param R1b_CMR=1Meg
|
||||
.param fz2_CMR=21k
|
||||
.param fp2_CMR=65k
|
||||
.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 GR=15m
|
||||
.ends MAX40023
|
||||
Reference in New Issue
Block a user