initial commit
This commit is contained in:
329
lib/sub/ADA4930-1.lib
Normal file
329
lib/sub/ADA4930-1.lib
Normal file
@@ -0,0 +1,329 @@
|
||||
* Copyright (c) 1998-2022 Analog Devices, Inc. All rights reserved.
|
||||
*
|
||||
.subckt ADA4930-1 1 2 3 4 5 6 7 8 9 10
|
||||
R11 BOOST1 N024 {Rf1} Noiseless
|
||||
C2 Clamp COM {Cfp1}
|
||||
G1 COM BOOST1 Clamp N024 1k
|
||||
C1 BOOST1 COM 1f
|
||||
C3 N024 N028 {Cboost1}
|
||||
L1 N028 N029 {Lboost1}
|
||||
R2 N029 COM {Rg1} Noiseless
|
||||
R1 BOOST1 COM 1 Noiseless
|
||||
R32 BOOST2 N025 {Rf2} Noiseless
|
||||
G24 COM BOOST2 BOOST1 N025 1k
|
||||
C22 BOOST2 COM 1f
|
||||
C23 N025 N030 {Cboost2}
|
||||
L2 N030 N031 {Lboost2}
|
||||
R33 N031 COM {Rg2} Noiseless
|
||||
R34 BOOST2 COM 1 Noiseless
|
||||
G25 COM N014 BOOST2 COM 1<>
|
||||
R35 N014 COM 1Meg Noiseless
|
||||
C4 7 COM 1p Rpar=8.3k Noiseless
|
||||
R14 COM N054 1Meg Noiseless
|
||||
C5 N054 COM {Cfp1o}
|
||||
B1 COM Zo_inp I=0.5m*(V(Avo,COM)+ V(ComAdj,COM)) Rpar=1k Cpar=0.1f
|
||||
B2 COM Zo_inn I=0.5m*V(ComAdj, Avo) Rpar=1k Cpar=0.1f
|
||||
Cinp COM N012 {Ccm}
|
||||
Cinn N017 COM {Ccm}
|
||||
R22 N012 1 {Rser} Noiseless
|
||||
Cdiff N012 N017 {Cdiff}
|
||||
R21 N017 2 {Rser} Noiseless
|
||||
R12 N012 N017 {Rdiff} Noiseless
|
||||
R13 COM N012 {Rcm} Noiseless
|
||||
R23 N017 COM {Rcm} Noiseless
|
||||
R24 Zo_outp ComSense 1Meg Noiseless
|
||||
R25 ComSense Zo_outn 1Meg Noiseless
|
||||
R7 9 3 1m Noiseless
|
||||
R26 8 4 1m Noiseless
|
||||
C6 N036 N035 {C1a_CMR}
|
||||
G9 COM N035 N050 COM {G1_CMR}
|
||||
R28 N035 COM 1 Noiseless
|
||||
R29 N036 N035 {R1a_CMR} Noiseless
|
||||
R30 N036 COM {R2a_CMR} Noiseless
|
||||
R31 N039 N040 {R1b_CMR} Noiseless
|
||||
R42 N040 COM {R2b_CMR} Noiseless
|
||||
G10 COM N041 N040 COM {G2_CMR}
|
||||
C7 N040 N039 {C1b_CMR}
|
||||
G11 COM N037 N036 COM 1
|
||||
R44 N043 COM 1 Noiseless
|
||||
R45 N043 N044 {R1c_CMR} Noiseless
|
||||
R46 N044 COM {R2c_CMR} Noiseless
|
||||
G12 COM CMR N044 COM {G3_CMR}
|
||||
C8 N044 N043 {C1c_CMR}
|
||||
R47 CMR COM 1 Noiseless
|
||||
R48 N041 N042 {R1b_CMR} Noiseless
|
||||
R49 N042 COM {R2b_CMR} Noiseless
|
||||
G13 COM N043 N042 COM {G2_CMR}
|
||||
C9 N042 N041 {C1b_CMR}
|
||||
R50 N041 COM 1 Noiseless
|
||||
C10 N038 N037 {C1a_CMR}
|
||||
R51 N037 COM 1 Noiseless
|
||||
R52 N038 N037 {R1a_CMR} Noiseless
|
||||
R53 N038 COM {R2a_CMR} Noiseless
|
||||
G14 COM N039 N038 COM {G1a_CMR}
|
||||
B4 COM N050 I=1m*((V(1,COM)+ V(2,COM))/2)
|
||||
R54 N050 COM 1k Noiseless
|
||||
G15 COM N005 IVR COM 1k
|
||||
R55 COM N005 1m Noiseless
|
||||
C11 N005 COM 1f
|
||||
G16 N006 N007 CMR COM 1m
|
||||
R56 N007 N006 1k Noiseless
|
||||
C12 N058 N057 {C1a_PSRp}
|
||||
G17 COM N057 5 6 {G1_PSRp}
|
||||
R57 N057 COM 1 Noiseless
|
||||
R58 N058 N057 {R1a_PSRp} Noiseless
|
||||
R59 N058 COM {R2a_PSRp} Noiseless
|
||||
R60 N059 N060 {R1b_PSRp} Noiseless
|
||||
R61 N060 COM {R2b_PSRp} Noiseless
|
||||
G18 COM PSR N060 COM {G2_PSRp}
|
||||
C13 N060 N059 {C1b_PSRp}
|
||||
R62 N059 COM 1 Noiseless
|
||||
R63 PSR COM 1 Noiseless
|
||||
G19 COM N059 N058 COM 1
|
||||
G20 N007 N008 PSR COM 1m
|
||||
R64 N008 N007 1k Noiseless
|
||||
R65 N004 COM 100k Noiseless
|
||||
R66 E_n COM 100k Noiseless
|
||||
A2 COM COM COM COM COM COM N004 COM OTA G=10u Iout=1m En={fA}/(freq**{M}) Vhigh=1k Vlow=-1k
|
||||
A3 COM N004 COM COM COM COM E_n COM OTA G=10u Iout=1m En={BB/2} Vhigh=1k Vlow=-1k
|
||||
G21 N008 N009 E_n COM 1m
|
||||
R67 N009 N008 1k Noiseless
|
||||
C14 BAL N061 {C1a_BAL}
|
||||
G32 COM N061 8 9 {G1_BAL}
|
||||
R70 N061 COM 1 Noiseless
|
||||
R71 BAL N061 {R1a_BAL} Noiseless
|
||||
R72 BAL COM {R2a_BAL} Noiseless
|
||||
G8 COM N047 7 COM 1k
|
||||
R27 COM N047 1m Noiseless
|
||||
C15 N047 COM 1f
|
||||
G33 N047 N046 BAL COM 1m
|
||||
R73 N046 N047 1k Noiseless
|
||||
R81 N006 N005 1k Noiseless
|
||||
B5 N005 N006 I=1m*{Vos+Drift* (Temp-27)}
|
||||
BIb N012 COM I={Ib}+{Ibd}* (Temp-27)
|
||||
BIos N017 COM I={Ib-Ios}+{Ibd}* (Temp-27)
|
||||
A6 5 6 COM COM COM COM N053 COM SCHMITT Vt={Vs_min} Vh=0 Trise=10n
|
||||
A8 5 6 COM COM COM N052 COM COM SCHMITT Vt={Vs_max} Vh=0 Trise=10n
|
||||
A9 N052 COM N053 COM _SHDN COM EN COM AND Trise={ENTon} Tfall={ENToff}
|
||||
G34 0 Vcc_Int 5 0 1k
|
||||
G35 0 Vee_Int 6 0 1k
|
||||
R18 Vcc_Int 0 1m Noiseless
|
||||
R74 Vee_Int 0 1m Noiseless
|
||||
C16 Vcc_Int 0 1<>
|
||||
C17 Vee_Int 0 1<>
|
||||
BIq 5 6 I=IF(V(EN,COM)>0.5, {Iq_on},{Iq_off})
|
||||
G36 5 6 Vimonp Vimonn 1
|
||||
R77 N051 Vcc_Int 1Meg Noiseless
|
||||
R82 N051 Vee_Int 1Meg Noiseless
|
||||
C20 N051 0 1
|
||||
C21 COM 0 1n
|
||||
E3 COM 0 N051 0 1
|
||||
R83 COM 0 1Meg Noiseless
|
||||
C32 EN COM 10p Rpar=1G
|
||||
C34 N053 COM 10p Rpar=1G
|
||||
C35 N052 COM 10p Rpar=1G
|
||||
Vimonp Zo_outp 8 0
|
||||
Vimonn Zo_outn 9 0
|
||||
R85 Vimonp COM 1k Noiseless
|
||||
F1 COM Vimonp Vimonp 1m
|
||||
C36 Vimonp COM 159f
|
||||
R86 Vimonn COM 1k Noiseless
|
||||
F2 COM Vimonn Vimonn 1m
|
||||
C37 Vimonn COM 159f
|
||||
BIpd 10 COM I=IF(V(EN,COM)>0.5, {Ipd_on},{Ipd_off})
|
||||
A7 10 6 COM COM COM COM _SHDN COM SCHMITT Vt={ENVt-10m} Vh={ENVh} Trise={ENTon} Tfall={ENToff}
|
||||
S1 COM Gain1 EN COM ENA
|
||||
S2 COM Clamp EN COM ENA
|
||||
G37 COM IVR N012 COM 1m
|
||||
R9 COM IVR 1k Noiseless
|
||||
C18 IVR COM 1f
|
||||
B10 COM CMpi I=1m*(V(5,COM)+{Vcm_max}) Cpar=1n
|
||||
G38 COM CMp CMpi COM 1k
|
||||
R10 COM CMp 1m Noiseless
|
||||
B11 COM CMni I=1m*(V(6,COM)+{Vcm_min}) Cpar=1n
|
||||
G39 COM CMn CMni COM 1k
|
||||
R87 COM CMn 1m Noiseless
|
||||
R88 CMpi COM 1k Noiseless
|
||||
R89 CMni COM 1k Noiseless
|
||||
DIP1 CMp IVR DI
|
||||
DIN1 IVR CMn DI
|
||||
C19 IVR CMn 1f
|
||||
C31 IVR CMp 1f
|
||||
Rx1 Zo_outp N021 {Rx_Zo} Noiseless
|
||||
Rdummy1 Zo_outp COM {Rdummy_Zo} Noiseless
|
||||
B12 COM N021 I=Uplim(Dnlim({G1_Zo}* V(Zo_inp,Zo_outp), {Izon}, 25m), {Izop}, 25m)
|
||||
Rx2 Zo_outn N032 {Rx_Zo} Noiseless
|
||||
Rdummy2 Zo_outn COM {Rdummy_Zo} Noiseless
|
||||
B13 COM N032 I=Uplim(Dnlim({G1_Zo}* V(Zo_inn,Zo_outn), {Izon}, 25m), {Izop}, 25m)
|
||||
B18 COM Clamp I=Uplim(Dnlim({Avo2/1Meg}*V(Gain1,COM), {Isink},1u),{Isrc},1u)
|
||||
DOP1 Vsatpp Zo_outp DO
|
||||
DON1 Zo_outp Vsatnp DO
|
||||
G2 COM Vsatpp Vsatpi COM 1k
|
||||
G3 COM Vsatnp Vsatni COM 1k
|
||||
C40 Vsatpp COM 1n
|
||||
C41 Vsatnp COM 1n
|
||||
I1 Vsatpi 5 1.62m
|
||||
R75 Vsatpi 5 1k Noiseless
|
||||
C33 Vsatpi 5 1n
|
||||
I2 6 Vsatni 180<38>
|
||||
C38 Vsatni 6 1n
|
||||
DOP2 Vsatpn Zo_outn DO
|
||||
DON2 Zo_outn Vsatnn DO
|
||||
G4 COM Vsatpn Vsatpi COM 1k
|
||||
G5 COM Vsatnn Vsatni COM 1k
|
||||
C39 Vsatpn COM 1n
|
||||
C42 Vsatnn COM 1n
|
||||
DGP1 N062 Clamp DG
|
||||
DGN1 Clamp N063 DG
|
||||
G40 COM N062 GRpi COM 1k
|
||||
G41 COM N063 GRni COM 1k
|
||||
R93 N062 COM 1m Noiseless
|
||||
R94 N063 COM 1m Noiseless
|
||||
R95 GRpi COM 1k Noiseless
|
||||
R96 GRni COM 1k Noiseless
|
||||
C43 GRni COM 10p
|
||||
C44 GRpi COM 10p
|
||||
I3 COM GRpi 20m
|
||||
I4 GRni COM 20m
|
||||
G42 COM ComAdj N054 COM 1<>
|
||||
R15 COM ComAdj 1Meg Noiseless
|
||||
C45 ComAdj COM {Cfp2o}
|
||||
G44 COM N054 Vocmi ComSense 1
|
||||
R5 Vocmi N046 1k Noiseless
|
||||
I5 N046 Vocmi {1m*Voso}
|
||||
Rpd1 COM 3 1G Noiseless
|
||||
Rpd2 COM 4 1G Noiseless
|
||||
C24 N014 COM {Cfp2}
|
||||
G6 COM N015 N014 COM 1<>
|
||||
R16 N015 COM 1Meg Noiseless
|
||||
C25 N015 COM {Cfp2}
|
||||
G22 COM N016 N015 COM 1<>
|
||||
R36 N016 COM 1Meg Noiseless
|
||||
C26 N016 COM {Cfp2}
|
||||
G23 COM Avo N016 COM 1<>
|
||||
R37 Avo COM 1Meg Noiseless
|
||||
C27 Avo COM {Cfp2}
|
||||
R39 N021 COM 1 Noiseless
|
||||
R40 N032 COM 1 Noiseless
|
||||
R41 I_np COM 100k Noiseless
|
||||
R68 I_nn COM 100k Noiseless
|
||||
G26 N012 COM I_np COM 1
|
||||
G27 N017 COM I_nn COM 1
|
||||
A1 N017 N009 COM COM COM COM Gain1 COM OTA G=100u Iout=1m Vhigh=1k Vlow=-1k
|
||||
A4 COM COM COM COM COM COM I_np COM OTA G=10u Iout=1m En={Eni} Vhigh=1k Vlow=-1k
|
||||
A5 COM COM COM COM COM COM I_nn COM OTA G=10u Iout=1m En={Eni} Vhigh=1k Vlow=-1k
|
||||
R43 N039 COM 1 Noiseless
|
||||
R69 Vsatpp COM 1m Noiseless
|
||||
R76 Vsatnp COM 1m Noiseless
|
||||
R79 Vsatni 6 1k Noiseless
|
||||
R80 Vsatnn COM 1m Noiseless
|
||||
R84 Vsatpn COM 1m Noiseless
|
||||
.param Avo2_dB = {Avo_PB-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}
|
||||
.param Isink = {Cfp1 * SRn * 1Meg}
|
||||
.param Avo_PB=63
|
||||
.param SRp=5.3k SRn={-SRp}
|
||||
.param fp1=2Meg fp2=100G
|
||||
.param Rf1=10k Boost1=2.35 f01=775k Q1=1.4
|
||||
.param Rg1={Rf1/(Boost1-1)}
|
||||
.param Rpar1={Pwr(1/Rf1+1/Rg1,-1)}
|
||||
.param Xcl1={Rpar1*Q1}
|
||||
.param Lboost1={Xcl1/(2*pi*f01)}
|
||||
.param Cboost1={1/(2*pi*f01*Xcl1)}
|
||||
.param Rf2=10k Boost2=1.4 f02=5G Q2=5
|
||||
.param Rg2={Rf2/(Boost2-1)}
|
||||
.param Rpar2={Pwr(1/Rf2+1/Rg2,-1)}
|
||||
.param Xcl2={Rpar2*Q2}
|
||||
.param Lboost2={Xcl2/(2*pi*f02)}
|
||||
.param Cboost2={1/(2*pi*f02*Xcl2)}
|
||||
.param Rf=10k
|
||||
.param Rser=1m
|
||||
.param Ccm=1p Rcm=3Meg
|
||||
.param Cdiff=1f Rdiff=150k
|
||||
.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 G1a_CMR = {1/actual1_CMR}
|
||||
.param Rej_dc_CMR=68.5
|
||||
.param R1a_CMR=10k
|
||||
.param fz1_CMR=650k
|
||||
.param fp1_CMR=800k
|
||||
.param R1b_CMR=10k
|
||||
.param fz2_CMR=4.2Meg
|
||||
.param fp2_CMR=5.6Meg
|
||||
.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=10k
|
||||
.param fz3_CMR=110Meg
|
||||
.param fp3_CMR=800Meg
|
||||
.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_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=92.73
|
||||
.param R1a_PSRp=10k
|
||||
.param fz1_PSRp=3.3Meg
|
||||
.param fp1_PSRp=100G
|
||||
.param R1b_PSRp=10k
|
||||
.param fz2_PSRp=350Meg
|
||||
.param fp2_PSRp=100G
|
||||
.param C1b_PSRp={1 / (2 * pi * R1b_PSRp * fz2_PSRp)}
|
||||
.param R2b_PSRp = {R1b_PSRp/ ((2 * pi * fp2_PSRp * C1b_PSRp
|
||||
+* R1b_PSRp) - 1)}
|
||||
.param actual2_PSRp = {R2b_PSRp / (R1b_PSRp + R2b_PSRp)}
|
||||
.param G2_PSRp= {1/actual2_PSRp}
|
||||
.param BB=140p fC=58k M=0.47 fA={BB*(fC**M)}
|
||||
.param Eni=2.8p
|
||||
.param gain_BAL = {pow(10, (-Rej_dc_BAL/20))}
|
||||
.param C1a_BAL = {1 / (2 * pi * R1a_BAL * fz1_BAL)}
|
||||
.param R2a_BAL = {R1a_BAL/ ((2 * pi * fp1_BAL * C1a_BAL
|
||||
+* R1a_BAL) - 1)}
|
||||
.param actual1_BAL = {R2a_BAL / (R1a_BAL + R2a_BAL)}
|
||||
.param G1_BAL = {gain_BAL/actual1_BAL}
|
||||
.param G1a_BAL = {1/actual1_BAL}
|
||||
.param Rej_dc_BAL=56.6
|
||||
.param R1a_BAL=1Meg
|
||||
.param fz1_BAL=99G
|
||||
.param fp1_BAL=100G
|
||||
.param Vos=-176.94u Drift=0.9u
|
||||
.param Ib=-23u Ios=99.2n Ibd=-50n
|
||||
.param Vcm_min=0.3 Vcm_max=-2.2
|
||||
.param Vs_min=3.3 Vs_max=5
|
||||
.param Iscp=30m Iscn=-30m
|
||||
.param Iq_on=34m Iq_off=1.8m
|
||||
.param Ipd_on=90n Ipd_off=97u
|
||||
.param IZop={Rx_Zo*Iscp} IZon={Rx_Zo*Iscn}
|
||||
.param ENVt=2.75 ENVh=0.25
|
||||
.param ENTon=12n ENToff=1u
|
||||
.model DI D(Vfwd=1k Vrev=0 Revepsilon=0.1 Noiseless)
|
||||
.model DG D(Vfwd=1k Vrev=0 Revepsilon=0.5 Ron=1m Noiseless)
|
||||
.model DO D(Vfwd=1k Vrev=0 Revepsilon=0.1 Ron=1m Noiseless)
|
||||
.model PD D(Ron=0.5 Epsilon=0.1 Noiseless)
|
||||
.model ENA SW(Ron=1Meg Roff=1u Vt=500m Vh=-100m Noiseless)
|
||||
.param beta_Zo=1.13
|
||||
.param Rx_Zo = {100 * Zo_max}
|
||||
.param Rdummy_Zo = {10 * Zo_max}
|
||||
.param G1_Zo={Rx_Zo/(Zo_dc*beta_Zo)}
|
||||
.param Zo_dc=100
|
||||
.param Zo_max={Zo_dc}
|
||||
.param Voso=350u
|
||||
.param fp1o=1.55k fp2o=725Meg
|
||||
.param Cfp1o={1 / (2 * pi * fp1o * 1Meg)}
|
||||
.param Cfp2o={1 / (2 * pi * fp2o * 1Meg)}
|
||||
.ends ADA4930-1
|
||||
Reference in New Issue
Block a user