12826 lines
442 KiB
Plaintext
12826 lines
442 KiB
Plaintext
****************************************************************************
|
|
*
|
|
* WARNING : please consider following remarks before usage
|
|
*
|
|
* 1) All models are a tradeoff between accuracy and complexity (ie. simulation
|
|
* time).
|
|
*
|
|
* 2) Macromodels are not a substitute to breadboarding, they rather confirm the
|
|
* validity of a design approach and help to select surrounding component values.
|
|
*
|
|
* 3) A macromodel emulates the NOMINAL performance of a TYPICAL device within
|
|
* SPECIFIED OPERATING CONDITIONS (ie. temperature, supply voltage, etc.).
|
|
* Thus the macromodel is often not as exhaustive as the datasheet, its goal
|
|
* is to illustrate the main parameters of the product.
|
|
*
|
|
* 4) Data issued from macromodels used outside of its specified conditions
|
|
* (Vcc, Temperature, etc) or even worse: outside of the device operating
|
|
* conditions (Vcc, Vicm, etc) are not reliable in any way.
|
|
*
|
|
****************************************************************************
|
|
|
|
*=========================
|
|
*=========================
|
|
*
|
|
*OP-AMPS
|
|
*
|
|
*=========================
|
|
*=========================
|
|
|
|
** Standard Linear Ics Macromodels, 1993.
|
|
** CONNECTIONS :
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT LFXXX 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=5.306587E-14 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 1.130435E+00
|
|
RIN 15 16 1.130435E+00
|
|
RIS 11 15 2.476554E-01
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 2.300000E-04
|
|
CPS 11 15 4.091333E-08
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 3.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 0.000000E+00
|
|
FCP 4 5 VOFP 6.096957E+00
|
|
FCN 5 4 VOFN 6.096957E+00
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 8.217391E+02
|
|
FIN 5 19 VOFN 8.217391E+02
|
|
RG1 19 5 1.112645E+06
|
|
RG2 19 4 1.112645E+06
|
|
CC 19 29 1.300000E-08
|
|
HZTP 30 29 VOFP 7.743183E+02
|
|
HZTN 5 30 VOFN 7.743183E+02
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 3.750000E+03
|
|
VIPM 28 4 1.500000E+02
|
|
HONM 21 27 VOUT 3.750000E+03
|
|
VINM 5 27 1.500000E+02
|
|
EOUT 26 23 19 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 9.384786E+01
|
|
COUT 3 5 1.000000E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 3.259753E+00
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 3.259753E+00
|
|
.ENDS LFXXX
|
|
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT LMX01A 2 1 4 5 3
|
|
********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=1.025862E-15 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 1.625000E+01
|
|
RIN 15 16 1.625000E+01
|
|
RIS 11 15 7.476714E+01
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0.000000E+00
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 1.600000E-05
|
|
CPS 11 15 2.5E-09
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 0.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 0.000000E+00
|
|
FCP 4 5 VOFP 1.115000E+02
|
|
FCN 5 4 VOFN 1.115000E+02
|
|
FIBP 2 5 VOFP 1.875000E-04
|
|
FIBN 5 1 VOFN 1.875000E-04
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 9.375000E+02
|
|
FIN 5 19 VOFN 9.375000E+02
|
|
RG1 19 5 9.981802E+05
|
|
RG2 19 4 9.981802E+05
|
|
CC 19 29 3.000000E-08
|
|
HZTP 30 29 VOFP 5.535733E+02
|
|
HZTN 5 30 VOFN 5.535733E+02
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 5.000000E+03
|
|
VIPM 28 4 1.500000E+02
|
|
HONM 21 27 VOUT 5.000000E+03
|
|
VINM 5 27 1.500000E+02
|
|
EOUT 26 23 19 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 200
|
|
COUT 3 5 1.000000E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.480450E+00
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 1.480450E+00
|
|
.ENDS LMX01A
|
|
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT LMX48 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=2.298361E-15 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 1.857143E+01
|
|
RIN 15 16 1.857143E+01
|
|
RIS 11 15 1.225212E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 1.400000E-05
|
|
CPS 11 15 4.797971E-10
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 3.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 3.000000E+00
|
|
FCP 4 5 VOFP 3.685714E+01
|
|
FCN 5 4 VOFN 3.685714E+01
|
|
FIBP 2 5 VOFP 4.285714E-03
|
|
FIBN 5 1 VOFN 4.285714E-03
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 1.178571E+02
|
|
FIN 5 19 VOFN 1.178571E+02
|
|
RG1 19 5 1.306798E+07
|
|
RG2 19 4 1.306798E+07
|
|
CC 19 29 3.000000E-09
|
|
HZTP 30 29 VOFP 1.422562E+03
|
|
HZTN 5 30 VOFN 1.422562E+03
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 6.000000E+03
|
|
VIPM 28 4 1.500000E+02
|
|
HONM 21 27 VOUT 6.000000E+03
|
|
VINM 5 27 1.500000E+02
|
|
EOUT 26 23 19 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 200
|
|
COUT 3 5 1.000000E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 2.550978E+00
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 2.550978E+00
|
|
.ENDS LMX48
|
|
|
|
** CONNECTIONS :
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT LMXXXX_ESD 2 1 4 5 3
|
|
***************************
|
|
.MODEL MDTH D IS=1E-8 KF=3.104131E-15 CJO=10F
|
|
D1A 1 4 MDTH 400E-12
|
|
D1B 5 1 MDTH 400E-12
|
|
D2A 2 4 MDTH 400E-12
|
|
D2B 5 2 MDTH 400E-12
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 2.600000E+01
|
|
RIN 15 16 2.600000E+01
|
|
RIS 11 15 2.003862E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 1.000000E-05
|
|
CPS 11 15 3.783376E-09
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 0.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 2.000000E+00
|
|
FCP 4 5 VOFP 3.400000E+01
|
|
FCN 5 4 VOFN 3.400000E+01
|
|
FIBP 2 5 VOFN 2.000000E-03
|
|
FIBN 5 1 VOFP 2.000000E-03
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 3.600000E+02
|
|
FIN 5 19 VOFN 3.600000E+02
|
|
RG1 19 5 3.652997E+06
|
|
RG2 19 4 3.652997E+06
|
|
CC 19 5 6.000000E-09
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 7.500000E+03
|
|
VIPM 28 4 1.500000E+02
|
|
HONM 21 27 VOUT 7.500000E+03
|
|
VINM 5 27 1.500000E+02
|
|
EOUT 26 23 19 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 20
|
|
COUT 3 5 1.000000E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 2.242230E+00
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 7.922301E-01
|
|
.ENDS LMXXXX_ESD
|
|
|
|
** Standard Linear Ics Macromodels, 1993.
|
|
** CONNECTIONS :
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT LMXXXX 2 1 4 5 3
|
|
***************************
|
|
.MODEL MDTH D IS=1E-8 KF=3.104131E-15 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 2.600000E+01
|
|
RIN 15 16 2.600000E+01
|
|
RIS 11 15 2.003862E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 1.000000E-05
|
|
CPS 11 15 3.783376E-09
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 0.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 2.000000E+00
|
|
FCP 4 5 VOFP 3.400000E+01
|
|
FCN 5 4 VOFN 3.400000E+01
|
|
FIBP 2 5 VOFN 2.000000E-03
|
|
FIBN 5 1 VOFP 2.000000E-03
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 3.600000E+02
|
|
FIN 5 19 VOFN 3.600000E+02
|
|
RG1 19 5 3.652997E+06
|
|
RG2 19 4 3.652997E+06
|
|
CC 19 5 6.000000E-09
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 7.500000E+03
|
|
VIPM 28 4 1.500000E+02
|
|
HONM 21 27 VOUT 7.500000E+03
|
|
VINM 5 27 1.500000E+02
|
|
EOUT 26 23 19 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 20
|
|
COUT 3 5 1.000000E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 2.242230E+00
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 7.922301E-01
|
|
.ENDS LMXXXX
|
|
|
|
** Standard Linear Ics Macromodels, 1993.
|
|
** CONNECTIONS :
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT LM833 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=2.286238E-16 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.200000E-11
|
|
CIN 1 5 1.200000E-11
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 2.363636E+00
|
|
RIN 15 16 2.363636E+00
|
|
RIS 11 15 1.224040E+01
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 1.100000E-04
|
|
CPS 11 15 2.35E-09
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 1.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 1.000000E+00
|
|
FCP 4 5 VOFP 1.718182E+01
|
|
FCN 5 4 VOFN 1.718182E+01
|
|
FIBP 2 5 VOFN 4.545455E-03
|
|
FIBN 5 1 VOFP 4.545455E-03
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 9.545455E+02
|
|
FIN 5 19 VOFN 9.545455E+02
|
|
CC 19 29 1.500000E-08
|
|
HZTP 30 29 VOFP 1.523529E+02
|
|
HZTN 5 30 VOFN 1.523529E+02
|
|
DOPM 51 22 MDTH 400E-12
|
|
DONM 21 52 MDTH 400E-12
|
|
HOPM 22 28 VOUT 5.172414E+03
|
|
VIPM 28 4 1.500000E+02
|
|
HONM 21 27 VOUT 4.054054E+03
|
|
VINM 5 27 1.500000E+02
|
|
DBIDON1 19 53 MDTH 400E-12
|
|
V1 51 53 0.68
|
|
DBIDON2 54 19 MDTH 400E-12
|
|
V2 54 52 0.68
|
|
RG11 51 5 3.04E+05
|
|
RG12 51 4 3.04E+05
|
|
RG21 52 5 0.6072E+05
|
|
RG22 52 4 0.6072E+05
|
|
E1 50 40 51 0 1
|
|
E2 40 39 52 0 1
|
|
EDEC1 38 39 4 0 0.5
|
|
EDEC2 0 38 5 0 0.5
|
|
DOP 51 25 MDTH 400E-12
|
|
VOP 4 25 1.474575E+00
|
|
DON 24 52 MDTH 400E-12
|
|
VON 24 5 1.474575E+00
|
|
RAJUS 50 5 1E12
|
|
GCOMP 5 4 4 5 8.1566068E-04
|
|
RPM1 5 80 1E+06
|
|
RPM2 4 80 1E+06
|
|
GAVPH 5 82 50 80 3.26E-03
|
|
RAVPHGH 82 4 613
|
|
RAVPHGB 82 5 613
|
|
RAVPHDH 82 83 1000
|
|
RAVPHDB 82 84 1000
|
|
CAVPHH 4 83 0.159E-09
|
|
CAVPHB 5 84 0.159E-09
|
|
EOUT 26 23 82 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 4.780354E+01
|
|
COUT 3 5 1.000000E-12
|
|
.ENDS LM833
|
|
|
|
****************************************************************************
|
|
****
|
|
*** LMV3x Spice macromodel subckt
|
|
***
|
|
*** Version 2.0 (March 2011)
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT LMV3X VP VM VCCP VCCN VS
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET216 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
V_OUTVLIM_LOW NET208 NET209 DC {Vd_compensazione}
|
|
V_OUTVLIM_HIGH NET233 NET211 DC {Vd_compensazione}
|
|
VREADIO NET273 VS DC 0
|
|
VVLIM_LOW_VB NET214 NET215 DC -770m
|
|
VOS NET216 VP DC 0
|
|
VPROT_IN_P_VCCP NET218 NET247 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_enhance}
|
|
VVLIM_HIGH_VB NET237 NET223 DC -770m
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_enhance}
|
|
VPROT_IN_M_VCCN NET226 NET398 DC {V_DPROT}
|
|
VPROT_IN_P_VCCN NET228 NET229 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET386 NET239 DC {V_DPROT}
|
|
D_OUTVLIM_HIGH NET276 NET233 DIODE_NOVd
|
|
D_OUTVLIM_LOW NET209 NET235 DIODE_NOVd
|
|
DVLIM_HIGH_VB VB NET237 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET239 DIODE_VLIM
|
|
DVLIM_LOW_VB NET215 VB DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET226 VM DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
DPROT_IN_P_VCCP NET216 NET247 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCN NET228 NET216 DIODE_VLIM
|
|
C_RO2_1 VB_2 VREF 500p
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 30p
|
|
CCOMP VB VB_2 {Ccomp}
|
|
E_RO1 VB_3 NET273 VALUE={IF(I(VreadIo)>0,
|
|
+V(Ro1_Voh)*I(VreadIo),V(Ro1_Vol)*I(VreadIo))}
|
|
|
|
* Eldo:
|
|
* E_VOHNORL NET276 VB_3 PWL(1) VCCP VCCN ( 1.8 , 16m ) ( 3.0 , 21m ) (
|
|
* +5.0 , 28.5m )
|
|
* E_RO1_VOH RO1_VOH 0 PWL(1) VCCP VCCN ( 1.8 , 60 ) ( 3.0 , 57 ) ( 5.0 ,
|
|
* +41 )
|
|
* E_RO1_VOL RO1_VOL 0 PWL(1) VCCP VCCN ( 1.8 , 38 ) ( 3.0 , 60 ) (
|
|
* +5.0 , 42 )
|
|
* E_VOLNORL VB_3 NET235 PWL(1) VCCP VCCN ( 1.8 , 24m ) ( 3.0 , 26m ) ( 5.0 ,
|
|
* +32m )
|
|
* PSpice:
|
|
* E_VOHNORL NET276 VB_3 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 16m , 3.0 , 21m ,
|
|
*+5.0 , 28.5m )}
|
|
E_VOHNORL NET276 VB_3 POLY(1) VCCP VCCN 0.00779687499999999
|
|
+0.0047916666666666715 -1.3020833333333404E-4
|
|
*E_RO1_VOH RO1_VOH 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 60 , 3.0 , 57 , 5.0 ,
|
|
*+41 )}
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 55.21875 5.75 -1.71875
|
|
*E_VOLNORL VB_3 NET235 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 24m , 3.0 , 26m ,
|
|
*+5.0 , 32m )}
|
|
E_VOLNORL VB_3 NET235 POLY(1) VCCP VCCN 0.02325
|
|
+-3.3333333333334427E-4 4.166666666666681E-4
|
|
*E_RO1_VOL RO1_VOL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 38 , 3.0 , 60 , 5.0 ,
|
|
*+42 )}
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN -41.125 59.33333333333332
|
|
+-8.541666666666664
|
|
|
|
E50 NET211 0 VCCP 0 1.0
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 3.9739130434782604E-5
|
|
+5.652173913043478E-6
|
|
E51 NET208 0 VCCN 0 1.0
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN 0
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E64 IO_VAL 0 VALUE={I(VreadIo)}
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ (217.76086956521732 +
|
|
+4.347826086956525*V(Vccp,Vccn)) -5000*I(VreadIo) }
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
EVLIM_HIGH_VB NET223 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( -217.76086956521732
|
|
+-4.347826086956525*V(Vccp,Vccn) ) -5000*I(VreadIo)}
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
EVLIM_LOW_VB NET214 0 VCCN 0 1.0
|
|
E2_REF NET400 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET394 0 1.0
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 1.2204347826086958E-4
|
|
+7.3913043478260745E-6
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E1_REF NET368 0 VCCP 0 1.0
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.5869565217391304 + 0.0826086956521739*V(Vccp,Vccn) )}
|
|
R1 VB VREF {R1}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
RO2_1 VB_2 VREF {Ro2_1}
|
|
RIN_DIFF VP VM {RIN_DIFF}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RPROT_IN_P_VCCP NET218 VCCP {RPROT_VCCP}
|
|
RPROT_IN_M_VCCP VCCP NET386 {RPROT_VCCP}
|
|
RO2_2 VB_3 VB_2 {Ro2_2}
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
R1_REF NET368 NET394 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET398 {RPROT_VCCN}
|
|
R2_REF NET394 NET400 1Meg
|
|
RPROT_IN_P_VCCN NET229 VCCN {RPROT_VCCN}
|
|
|
|
*Eldo:
|
|
* G_IIB_VM VREF VM TABLE {V(Vccp,Vccn)} = (+2.7 10n) (+5.0 16n)
|
|
* G_IIB_VP VREF VP TABLE {V(Vccp,Vccn)} = (+2.7 10n) (+5.0 16n)
|
|
*PSpice:
|
|
* G_IIB_VM VREF VM VALUE={TABLE( V(VCCP,VCCN) , +2.7 , 10n , +5.0 , 16n)}
|
|
* G_IIB_VP VREF VP VALUE={TABLE( V(VCCP,VCCN) , +2.7 , 10n , +5.0 , 16n)}
|
|
G_IIB_VM VREF VM POLY(1) VCCP VCCN 2.956521739130429E-9
|
|
+2.6086956521739144E-9
|
|
G_IIB_VP VREF VP POLY(1) VCCP VCCN 2.956521739130429E-9
|
|
+2.6086956521739144E-9
|
|
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_I_IO VB_2 VREF VALUE={IF(abs(V(Io_val))<50m , V(VB_Vref)*GB*(
|
|
+abs(V(Io_val))/3m ) , V(VB_Vref)*GB*( 50m/3m ) )}
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
IEE VEE_N VCCN_ENHANCED {IEE}
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high) , 0)}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
|
|
*Eldo:
|
|
* G_I_VB VB_2 VREF TABLE {V(VB_Vref)} = (-2.7 {-2.7*GB*3}) (-2.0
|
|
*+{-2.0*GB*2.5}) (-1.5 {-1.5*GB*2.2}) (-0.69 {-0.69*GB*2}) (-0.65
|
|
*+{-0.65*GB*1.0}) (-0.15 {-0.15*GB*1}) (-0.050 {-0.050*GB*1}) (-0.015
|
|
*+{-0.015*GB*1}) (-0.0001 {-0.0001*GB*1}) (0 0) (+0.0001 {0.0001*GB*1})
|
|
*+(+0.015 {+0.015*GB*1}) (+0.050 {+0.050*GB*1}) (+0.15 {+0.15*GB*1}) (+0.65
|
|
*+{0.65*GB*1.0}) (+0.69 {0.69*GB*2}) (+1.5 {1.5*GB*2.2}) (+2.0
|
|
*+{2.0*GB*2.5}) (+2.7 {2.7*GB*3})
|
|
*PSpice:
|
|
* G_I_VB VB_2 VREF VALUE={TABLE( V(VB,Vref) , -2.7 , -2.7*GB*3 , -2.0 ,
|
|
*+ -2.0*GB*2.5 , -1.5 , -1.5*GB*2.2 , -0.69 , -0.69*GB*2 , -0.65 ,
|
|
*+ -0.65*GB*1.0 , -0.15 , -0.15*GB*1 , -0.050 , -0.050*GB*1 , -0.015 ,
|
|
*+ -0.015*GB*1 , -0.0001 , -0.0001*GB*1 , 0 , 0 , +0.0001 , 0.0001*GB*1 ,
|
|
*+ +0.015 , +0.015*GB*1 , +0.050 , +0.050*GB*1 , +0.15 , +0.15*GB*1 , +0.65,
|
|
*+ 0.65*GB*1.0 , +0.69 , 0.69*GB*2 , +1.5 , 1.5*GB*2.2 , +2.0 ,
|
|
*+ 2.0*GB*2.5 , +2.7 , 2.7*GB*3 ) }
|
|
G_I_VB VB_2 VREF POLY(1) VB_VREF 0 2.0955964330729256E-18
|
|
+0.0064704243141362125 -2.1354856438578985E-18 0.003032922143165251
|
|
+1.7832794554106567E-19 -1.99845853108853E-4
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by LMV3x subckt:
|
|
*
|
|
|
|
.PARAM RINCM=6.4777e+7
|
|
.PARAM CINCM=1.4646e-11
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RINDIFF=2.3412e+5
|
|
.PARAM CINDIFF=9.2768e-12
|
|
.PARAM RIN_DIFF={(2*RINCM*RINDIFF)/(2*RINCM - RINDIFF)}
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM A0 = 1.0597e+006
|
|
.PARAM Ro = 6.5024e+004
|
|
.PARAM Ccomp=5.4p
|
|
.PARAM IEE=3u
|
|
.PARAM W=1.37u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=4.536705600382889e-05
|
|
.PARAM GB=6m
|
|
.PARAM Ro1=50
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={Ro - Ro2_2 - Ro1}
|
|
.PARAM R1={A0/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM RPROT_VCCP=100
|
|
.PARAM RPROT_VCCN=15k
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
*Eldo:
|
|
*.MODEL MOS_N NMOS LEVEL=1 MODTYPE=ELDO VTO=+0.65 KP=500E-6
|
|
*.MODEL DIODE_NOVd D LEVEL=1 MODTYPE=ELDO IS=10E-15 N=0.001
|
|
*.MODEL DIODE_VLIM D LEVEL=1 MODTYPE=ELDO IS=0.8E-15
|
|
*.MODEL DIODE_ILIM D LEVEL=1 MODTYPE=ELDO IS=0.8E-15
|
|
*PSpice:
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS LMV3X
|
|
*** End of subcircuit definition.
|
|
|
|
****************************************************************************
|
|
****
|
|
*** November 2011
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT LMVXXL VP VM VCCP VCCN VS
|
|
LOUT VZOUT 0 {Lout}
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET194 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
VREADI_R1 VB NET0258 DC 0
|
|
VVLIM_LOW_VB NET192 NET193 DC -770m
|
|
VOS NET194 VP DC 0
|
|
VPROT_IN_P_VCCP NET196 NET229 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_enhance}
|
|
VREADIO NET0329 VS DC 0
|
|
VVLIM_HIGH_VB NET217 NET203 DC -770m
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_enhance}
|
|
V_OUTVLIM_LOW NET206 NET207 DC {Vd_compensazione}
|
|
VPROT_IN_M_VCCN NET208 NET360 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET235 NET211 DC {Vd_compensazione}
|
|
VPROT_IN_P_VCCN NET212 NET213 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET348 NET219 DC {V_DPROT}
|
|
DVLIM_HIGH_VB VB NET217 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET219 DIODE_VLIM
|
|
DVLIM_LOW_VB NET193 VB DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET208 VM DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D_OUTVLIM_LOW NET207 VB_3 DIODE_NOVd
|
|
DPROT_IN_P_VCCP NET194 NET229 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCN NET212 NET194 DIODE_VLIM
|
|
D_OUTVLIM_HIGH VB_3 NET235 DIODE_NOVd
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
COUT2 VZOUT 0 {Cout2}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
C_RO2_1 VB_2 VREF 5p
|
|
COUT NET0410 0 {Cout}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 18p
|
|
CCOMP VB VB_2 {Ccomp}
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 136.08695652173913
|
|
+-15.217391304347831
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 4.260869565217392
|
|
+-0.6521739130434785
|
|
EZOUT_IOUT_COEFF NET0295 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
EZOUT VB_3 NET0329
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.6891304347826086 + 0.062173913043478246*V(Vccp,Vccn) )}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 0
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN 3.3730434782608675E-4
|
|
+4.1739130434782646E-5
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 103.39130434782608
|
|
+-13.47826086956522
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -183.1086956521739 +
|
|
+106.5217391304348*V(Vccp,Vccn) ) -5000*I(VreadIo)}
|
|
EVLIM_HIGH_VOUT NET211 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
EVLIM_LOW_VOUT NET206 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo) +
|
|
+V(VOL_noRL) }
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
EVLIM_HIGH_VB NET203 0 VCCP 0 1.0
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E_R1 NET0258 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
EVLIM_LOW_VB NET192 0 VCCN 0 1.0
|
|
E2_REF NET362 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET356 0 1.0
|
|
E_VOL_NORL VOL_NORL 0 POLY(1) VCCP VCCN 0.0608695652173913
|
|
+-0.002173913043478261
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E1_REF NET326 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( -29.71739130434781
|
|
+-36.95652173913044*V(Vccp,Vccn) ) -5000*I(VreadIo)}
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET0295 50
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RIN_DIFF VP VM {RIN_DIFF}
|
|
ROUT NET0410 VZOUT {Rout}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RO2_2 VB_3 VB_2 {Ro2_2}
|
|
RPROT_IN_P_VCCP NET196 VCCP 100
|
|
RPROT_IN_M_VCCP VCCP NET348 100
|
|
RO2_1 VB_2 VREF {Ro2_1}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
R1_REF NET326 NET356 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET360 15K
|
|
R2_REF NET356 NET362 1Meg
|
|
RPROT_IN_P_VCCN NET213 VCCN 15K
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 11*( 1 -
|
|
+exp(-abs(V(v_Io_val))/6m )) ) }
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_IIB_VM VREF VM VALUE={27n}
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 1.0444086956521737E-4
|
|
+4.3478260869565205E-6
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
G_IIB_VP VREF VP VALUE={27n}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSV851 subckt:
|
|
*
|
|
.PARAM RINCM=4.3598E+08
|
|
.PARAM CINCM=4.9396E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RINDIFF=8.7288E+08
|
|
.PARAM CINDIFF=2.3471E-12
|
|
.PARAM RIN_DIFF=1T
|
|
.PARAM CIN_DIFF=1f
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=3.4m
|
|
.PARAM Ro = 85.35k
|
|
.PARAM A0_source = 25118864
|
|
.PARAM A0_sink = 0.9e+6
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=5.5p
|
|
.PARAM IEE=3.86u
|
|
.PARAM W=1.6u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=5.561e-05
|
|
.PARAM Lout = 5u
|
|
.PARAM Rout = 890
|
|
.PARAM Cout = 0.03n
|
|
.PARAM Cout2 = 4p
|
|
.PARAM Zout_Iout_coeff_MIN= 0.04
|
|
.PARAM Iout_dc_tau__source = 0.9m
|
|
.PARAM Iout_dc_tau__sink = 0.03m
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2}
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS LMVXXL
|
|
|
|
|
|
|
|
|
|
|
|
****************************************************************************
|
|
****
|
|
*** LMV82X (WITHOUT STAND-BY) Spice macromodel subckt
|
|
***
|
|
*** November 2011
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT LMV82X VP VM VCCP VCCN VS
|
|
LOUT VZOUT 0 {Lout}
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET194 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
VREADI_R1 VB NET0258 DC 0
|
|
VVLIM_LOW_VB NET192 NET193 DC -770m
|
|
VOS NET194 VP DC 0
|
|
VPROT_IN_P_VCCP NET196 NET229 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_enhance}
|
|
VREADIO NET0329 VS DC 0
|
|
VVLIM_HIGH_VB NET217 NET203 DC -770m
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_enhance}
|
|
V_OUTVLIM_LOW NET206 NET207 DC {Vd_compensazione}
|
|
VPROT_IN_M_VCCN NET208 NET360 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET235 NET211 DC {Vd_compensazione}
|
|
VPROT_IN_P_VCCN NET212 NET213 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET348 NET219 DC {V_DPROT}
|
|
DVLIM_HIGH_VB VB NET217 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET219 DIODE_VLIM
|
|
DVLIM_LOW_VB NET193 VB DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET208 VM DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D_OUTVLIM_LOW NET207 VB_3 DIODE_NOVd
|
|
DPROT_IN_P_VCCP NET194 NET229 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCN NET212 NET194 DIODE_VLIM
|
|
D_OUTVLIM_HIGH VB_3 NET235 DIODE_NOVd
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
COUT2 VZOUT 0 {Cout2}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
C_RO2_1 VB_2 VREF 10p
|
|
COUT NET0410 0 {Cout}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 6.8p
|
|
CCOMP VB VB_2 {Ccomp}
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 2.08695652173913
|
|
+-0.21739130434782608
|
|
EZOUT_IOUT_COEFF NET0295 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
EZOUT VB_3 NET0329
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 0
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 47.217391304347814
|
|
+-3.0434782608695645
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN -1.0782608695652169E-5
|
|
+2.8695652173913046E-4
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 59.695652173913025
|
|
+-6.7391304347826075
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -183.1086956521739 +
|
|
+106.5217391304348*V(Vccp,Vccn) ) -5000*I(VreadIo)}
|
|
EVLIM_HIGH_VOUT NET211 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
EVLIM_LOW_VOUT NET206 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo) +
|
|
+V(VOL_noRL) }
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
EVLIM_HIGH_VB NET203 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( -29.71739130434781
|
|
+-36.95652173913044*V(Vccp,Vccn) ) -5000*I(VreadIo)}
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E_R1 NET0258 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
EVLIM_LOW_VB NET192 0 VCCN 0 1.0
|
|
E2_REF NET362 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET356 0 1.0
|
|
E_VOL_NORL VOL_NORL 0 POLY(1) VCCP VCCN 0.0608695652173913
|
|
+-0.002173913043478261
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E1_REF NET326 0 VCCP 0 1.0
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.8260869565217391 + 0.03478260869565213*V(Vccp,Vccn) )}
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET0295 50
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RIN_DIFF VP VM {RIN_DIFF}
|
|
ROUT NET0410 VZOUT {Rout}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RO2_2 VB_3 VB_2 {Ro2_2}
|
|
RPROT_IN_P_VCCP NET196 VCCP 100
|
|
RPROT_IN_M_VCCP VCCP NET348 100
|
|
RO2_1 VB_2 VREF {Ro2_1}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
R1_REF NET326 NET356 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET360 15K
|
|
R2_REF NET356 NET362 1Meg
|
|
RPROT_IN_P_VCCN NET213 VCCN 15K
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 11*( 1 -
|
|
+exp(-abs(V(v_Io_val))/6m )) ) }
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_IIB_VM VREF VM VALUE={60n}
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 1.155869565217391E-4
|
|
+3.478260869565218E-5
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
G_IIB_VP VREF VP VALUE={60n}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by LMV82X subckt:
|
|
*
|
|
.PARAM RINCM=2.1315E+08
|
|
.PARAM CINCM=4.9414E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RINDIFF=8.7288E+08
|
|
.PARAM CINDIFF=2.3471E-12
|
|
.PARAM RIN_DIFF=1T
|
|
.PARAM CIN_DIFF=1f
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=6.3m
|
|
.PARAM Ro = 48.89k
|
|
.PARAM A0_source = 25118864
|
|
.PARAM A0_sink = 0.9e+6
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=5.5p
|
|
.PARAM IEE=10.5u
|
|
.PARAM W=6.915u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=1.9071e-04
|
|
.PARAM Lout = 1.3u
|
|
.PARAM Rout = 430
|
|
.PARAM Cout = 0.04n
|
|
.PARAM Cout2 = 4p
|
|
.PARAM Zout_Iout_coeff_MIN= 0.04
|
|
.PARAM Iout_dc_tau__source = 5m
|
|
.PARAM Iout_dc_tau__sink = 0.5m
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2}
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS LMV82X
|
|
|
|
|
|
|
|
****************************************************************************
|
|
****
|
|
*** LMV82X_SHDN (WITH STAND-BY) Spice macromodel subckt
|
|
***
|
|
*** November 2011
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | | STAND-BY
|
|
**** | | | | | |
|
|
.SUBCKT LMV82X_SHDN VP VM VCCP VCCN VS STB
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
LOUT VZOUT 0 {Lout}
|
|
S_SW_OUT VS_STB VS VSTB_CTRL 0 SW_OUT
|
|
S_SW_LEAK VS 0 VSTB_CTRL 0 SW_LEAK
|
|
S_SW_VB2_VS VB_2 NET0220 VSTB_CTRL 0 SW_VB2_VS
|
|
S_SW_VB_VREF VB NET0224 VSTB_CTRL 0 SW_VB_VREF
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 11*( 1 -
|
|
+exp(-abs(V(v_Io_val))/6m )) ) }
|
|
G_IEE_STB VEE_N VCCN_ENHANCED POLY(2) VSTB_CTRL 0 IEE_val 0 0 0 0 0 1
|
|
G_ICC_STB VCCP VCCN POLY(2) VSTB_CTRL 0 Icc_val 0 0 0 0 0 1
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
G2_ICC_STB VCCP VCCN VALUE={ICC_STB*( 1-V(VSTB_ctrl) )}
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high)*V(VSTB_ctrl), 0)}
|
|
G_IIB_VP VP VREF POLY(2) VSTB_CTRL 0 Iib_VP_val 0 0 0 0 0 1
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low)*V(VSTB_ctrl) , 0)}
|
|
G_ISTB 0 STB VALUE={ Iil_STB*(1-V(VSTB_one)) -Iih_STB*V(VSTB_one)}
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_IIB_VM VM VREF POLY(2) VSTB_CTRL 0 Iib_VM_val 0 0 0 0 0 1
|
|
RIN_DIFF VP VM {RIN_DIFF}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
R1_REF NET287 NET247 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET243 15K
|
|
R2_REF NET247 NET241 1Meg
|
|
ROUT NET0584 VZOUT {Rout}
|
|
RPROT_IN_P_VCCN NET406 VCCN 15K
|
|
RSTB_CTRL VSTB_CTRL VSTB_ONE {RSTB_ctrl}
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
RO2_2 VB_3 VB_2 {Ro2_2}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RPROT_IN_M_VCCP VCCP NET253 100
|
|
RPROT_IN_P_VCCP NET421 VCCP 100
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET0363 50
|
|
RO2_1 VB_2 VREF {Ro2_1}
|
|
E_VOL_NORL VOL_NORL 0 POLY(1) VCCP VCCN 0.0608695652173913
|
|
+-0.002173913043478261
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 59.695652173913025
|
|
+-6.7391304347826075
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 47.217391304347814
|
|
+-3.0434782608695645
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN -1.0782608695652169E-5
|
|
+2.8695652173913046E-4
|
|
EZOUT VB_3 NET0242
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
EVLIM_LOW_VOUT NET411 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo) +
|
|
+V(VOL_noRL) }
|
|
E_VIL VIL_STB_VAL 0 POLY(1) VCCP VCCN 0.2851851847826086
|
|
+-0.03703703695652173
|
|
E_IIB_VM_VAL IIB_VM_VAL 0 VALUE={-60n}
|
|
EVLIM_HIGH_VOUT NET408 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
EREAD_VS NET0220 0 VS 0 1.0
|
|
ESTB VSTB_ONE 0 VALUE={IF( (V(STB,Vccn)/V(Vccp,Vccn)) >=
|
|
+V(VIH_STB_val) , 1 , V(VSTB_zero) )}
|
|
EREAD_VREF NET0224 0 VREF 0 1.0
|
|
E_VIH VIH_STB_VAL 0 POLY(1) VCCP VCCN 0.7148148130434779
|
|
+0.03703703739130437
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 0
|
|
E0 VSTB_ZERO 0 VALUE={IF( (V(STB,Vccn)/V(Vccp,Vccn)) <=
|
|
+V(VIL_STB_val) , 0 , 0.5 )}
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E2_REF NET241 0 VCCN 0 1.0
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_R1 NET311 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
EZOUT_IOUT_COEFF NET0363 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
EVLIM_LOW_VB NET425 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET247 0 1.0
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.8260869565217391 + 0.03478260869565213*V(Vccp,Vccn) )}
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_IIB_VP_VAL IIB_VP_VAL 0 VALUE={-60n}
|
|
E_ICC ICC_VAL 0 POLY(1) VCCP VCCN 1.155869565217391E-4
|
|
+3.478260869565218E-5
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -183.1086956521739 +
|
|
+106.5217391304348*V(Vccp,Vccn) ) -5000*I(VreadIo)}
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
EVLIM_HIGH_VB NET416 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( -29.71739130434781
|
|
+-36.95652173913044*V(Vccp,Vccn) ) -5000*I(VreadIo)}
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 2.08695652173913
|
|
+-0.21739130434782608
|
|
E1_REF NET287 0 VCCP 0 1.0
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
CSTB_CTRL VSTB_CTRL 0 1n
|
|
COUT NET0584 0 {Cout}
|
|
C_RO2_1 VB_2 VREF 10p
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 6.8p
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CCOMP VB VB_2 {Ccomp}
|
|
COUT2 VZOUT 0 {Cout2}
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCP NET423 NET388 DIODE_VLIM
|
|
DVLIM_HIGH_VB VB NET400 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET398 DIODE_VLIM
|
|
DVLIM_LOW_VB NET426 VB DIODE_VLIM
|
|
D_OUTVLIM_LOW NET412 VB_3 DIODE_NOVd
|
|
D_OUTVLIM_HIGH VB_3 NET382 DIODE_NOVd
|
|
DPROT_IN_M_VCCN NET409 VM DIODE_VLIM
|
|
DPROT_IN_P_VCCN NET405 NET423 DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
V_IEE IEE_VAL 0 DC {IEE}
|
|
VPROT_IN_M_VCCP NET253 NET398 DC {V_DPROT}
|
|
VREADI_R1 VB NET311 DC 0
|
|
VVLIM_LOW_VB NET425 NET426 DC -770m
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_enhance}
|
|
VPROT_IN_P_VCCP NET421 NET388 DC {V_DPROT}
|
|
VOS NET423 VP DC 0
|
|
VVLIM_HIGH_VB NET400 NET416 DC -770m
|
|
V_OUTVLIM_LOW NET411 NET412 DC {Vd_compensazione}
|
|
VPROT_IN_M_VCCN NET409 NET243 DC {V_DPROT}
|
|
VREADIO NET0242 VS_STB DC 0
|
|
VPROT_IN_P_VCCN NET405 NET406 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET382 NET408 DC {Vd_compensazione}
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_enhance}
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET423 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by LMV82X subckt:
|
|
*
|
|
.PARAM RINCM=2.1315E+08
|
|
.PARAM CINCM=4.9414E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RINDIFF=8.7288E+08
|
|
.PARAM CINDIFF=2.3471E-12
|
|
.PARAM RIN_DIFF=1T
|
|
.PARAM CIN_DIFF=1f
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=6.3m
|
|
.PARAM Ro = 48.89k
|
|
.PARAM A0_source = 25118864
|
|
.PARAM A0_sink = 0.9e+6
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=5.5p
|
|
.PARAM IEE=10.5u
|
|
.PARAM W=6.915u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=1.9071e-04
|
|
.PARAM Lout = 1.3u
|
|
.PARAM Rout = 430
|
|
.PARAM Cout = 0.04n
|
|
.PARAM Cout2 = 4p
|
|
.PARAM Zout_Iout_coeff_MIN= 0.04
|
|
.PARAM Iout_dc_tau__source = 5m
|
|
.PARAM Iout_dc_tau__sink = 0.5m
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2}
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
.PARAM ICC_STB = 2.5n
|
|
.PARAM Iout_leak_STB = 50p
|
|
.PARAM RSTB_ctrl = 60
|
|
.PARAM Iil_STB = 10p
|
|
.PARAM Iih_STB = 10p
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL SW_OUT VSWITCH VON=0.9 VOFF=0.1 RON=1m ROFF=1T
|
|
.MODEL SW_LEAK VSWITCH VON=0.9 VOFF=0.1 RON=1T ROFF={2.5/Iout_leak_STB -2e3}
|
|
.MODEL SW_VB2_VS VSWITCH VON=0.9 VOFF=0.1 RON=1T ROFF=1m
|
|
.MODEL SW_VB_VREF VSWITCH VON=0.9 VOFF=0.1 RON=1T ROFF=1m
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS LMV82X_SHDN
|
|
*** End of subcircuit definition.
|
|
|
|
****************************************************************************
|
|
****
|
|
*** November 2011
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT LMX3XX VP VM VCCP VCCN VS
|
|
LOUT VZOUT 0 {Lout}
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET194 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
VREADI_R1 VB NET0258 DC 0
|
|
VVLIM_LOW_VB NET192 NET193 DC -770m
|
|
VOS NET194 VP DC 0
|
|
VPROT_IN_P_VCCP NET196 NET229 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_enhance}
|
|
VREADIO NET0329 VS DC 0
|
|
VVLIM_HIGH_VB NET217 NET203 DC -770m
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_enhance}
|
|
V_OUTVLIM_LOW NET206 NET207 DC {Vd_compensazione}
|
|
VPROT_IN_M_VCCN NET208 NET360 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET235 NET211 DC {Vd_compensazione}
|
|
VPROT_IN_P_VCCN NET212 NET213 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET348 NET219 DC {V_DPROT}
|
|
DVLIM_HIGH_VB VB NET217 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET219 DIODE_VLIM
|
|
DVLIM_LOW_VB NET193 VB DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET208 VM DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D_OUTVLIM_LOW NET207 VB_3 DIODE_NOVd
|
|
DPROT_IN_P_VCCP NET194 NET229 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCN NET212 NET194 DIODE_VLIM
|
|
D_OUTVLIM_HIGH VB_3 NET235 DIODE_NOVd
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
COUT2 VZOUT 0 {Cout2}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
C_RO2_1 VB_2 VREF 5p
|
|
COUT NET0410 0 {Cout}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 18p
|
|
CCOMP VB VB_2 {Ccomp}
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 136.08695652173913
|
|
+-15.217391304347831
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 4.260869565217392
|
|
+-0.6521739130434785
|
|
EZOUT_IOUT_COEFF NET0295 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
EZOUT VB_3 NET0329
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.6891304347826086 + 0.062173913043478246*V(Vccp,Vccn) )}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 0
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN 3.3730434782608675E-4
|
|
+4.1739130434782646E-5
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 103.39130434782608
|
|
+-13.47826086956522
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -183.1086956521739 +
|
|
+106.5217391304348*V(Vccp,Vccn) ) -5000*I(VreadIo)}
|
|
EVLIM_HIGH_VOUT NET211 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
EVLIM_LOW_VOUT NET206 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo) +
|
|
+V(VOL_noRL) }
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
EVLIM_HIGH_VB NET203 0 VCCP 0 1.0
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E_R1 NET0258 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
EVLIM_LOW_VB NET192 0 VCCN 0 1.0
|
|
E2_REF NET362 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET356 0 1.0
|
|
E_VOL_NORL VOL_NORL 0 POLY(1) VCCP VCCN 0.0608695652173913
|
|
+-0.002173913043478261
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E1_REF NET326 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( -29.71739130434781
|
|
+-36.95652173913044*V(Vccp,Vccn) ) -5000*I(VreadIo)}
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET0295 50
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RIN_DIFF VP VM {RIN_DIFF}
|
|
ROUT NET0410 VZOUT {Rout}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RO2_2 VB_3 VB_2 {Ro2_2}
|
|
RPROT_IN_P_VCCP NET196 VCCP 100
|
|
RPROT_IN_M_VCCP VCCP NET348 100
|
|
RO2_1 VB_2 VREF {Ro2_1}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
R1_REF NET326 NET356 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET360 15K
|
|
R2_REF NET356 NET362 1Meg
|
|
RPROT_IN_P_VCCN NET213 VCCN 15K
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 11*( 1 -
|
|
+exp(-abs(V(v_Io_val))/6m )) ) }
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_IIB_VM VREF VM VALUE={27n}
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 1.0444086956521737E-4
|
|
+4.3478260869565205E-6
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
G_IIB_VP VREF VP VALUE={27n}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSV851 subckt:
|
|
*
|
|
.PARAM RINCM=4.3598E+08
|
|
.PARAM CINCM=4.9396E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RINDIFF=8.7288E+08
|
|
.PARAM CINDIFF=2.3471E-12
|
|
.PARAM RIN_DIFF=1T
|
|
.PARAM CIN_DIFF=1f
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=3.4m
|
|
.PARAM Ro = 85.35k
|
|
.PARAM A0_source = 25118864
|
|
.PARAM A0_sink = 0.9e+6
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=5.5p
|
|
.PARAM IEE=3.86u
|
|
.PARAM W=1.6u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=5.561e-05
|
|
.PARAM Lout = 5u
|
|
.PARAM Rout = 890
|
|
.PARAM Cout = 0.03n
|
|
.PARAM Cout2 = 4p
|
|
.PARAM Zout_Iout_coeff_MIN= 0.04
|
|
.PARAM Iout_dc_tau__source = 0.9m
|
|
.PARAM Iout_dc_tau__sink = 0.03m
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2}
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS LMX3XX
|
|
|
|
|
|
|
|
|
|
|
|
** Standard Linear Ics Macromodels, 1993.
|
|
** CONNECTIONS :
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT LS204 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=6.565195E-17 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 2.600000E+01
|
|
RIN 15 16 2.600000E+01
|
|
RIS 11 15 1.061852E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 1.000000E-05
|
|
CPS 11 15 12.47E-10
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 1.500000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 1.500000E+00
|
|
FCP 4 5 VOFP 3.400000E+01
|
|
FCN 5 4 VOFN 3.400000E+01
|
|
FIBP 2 5 VOFN 1.000000E-02
|
|
FIBN 5 1 VOFP 1.000000E-02
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 9.000000E+02
|
|
FIN 5 19 VOFN 9.000000E+02
|
|
RG1 19 5 1.727221E+06
|
|
RG2 19 4 1.727221E+06
|
|
CC 19 5 6.000000E-09
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 6.521739E+03
|
|
VIPM 28 4 1.500000E+02
|
|
HONM 21 27 VOUT 6.521739E+03
|
|
VINM 5 27 1.500000E+02
|
|
GCOMP 5 4 4 5 6.485084E-04
|
|
RPM1 5 80 1E+06
|
|
RPM2 4 80 1E+06
|
|
GAVPH 5 82 19 80 2.59E-03
|
|
RAVPHGH 82 4 771
|
|
RAVPHGB 82 5 771
|
|
RAVPHDH 82 83 1000
|
|
RAVPHDB 82 84 1000
|
|
CAVPHH 4 83 0.331E-09
|
|
CAVPHB 5 84 0.331E-09
|
|
EOUT 26 23 82 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 6.498455E+01
|
|
COUT 3 5 1.000000E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.742230E+00
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 1.742230E+00
|
|
.ENDS LS204
|
|
|
|
|
|
** Standard Linear Ics Macromodels, 1993.
|
|
** CONNECTIONS :
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT LS404 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=6.647807E-16 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 1.300000E+01
|
|
RIN 15 16 1.300000E+01
|
|
RIS 11 15 6.437882E+01
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 2.000000E-05
|
|
CPS 11 15 9.75E-10
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 0.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 1.500000E+00
|
|
FCP 4 5 VOFP 1.525000E+01
|
|
FCN 5 4 VOFN 1.525000E+01
|
|
FIBP 2 5 VOFN 5.000000E-03
|
|
FIBN 5 1 VOFP 5.000000E-03
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 1.125000E+03
|
|
FIN 5 19 VOFN 1.125000E+03
|
|
RG1 19 5 6.512062E+05
|
|
RG2 19 4 6.512062E+05
|
|
CC 19 29 1.500000E-08
|
|
HZTP 30 29 VOFP 8.944787E+02
|
|
HZTN 5 30 VOFN 8.944787E+02
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 6.521739E+03
|
|
VIPM 28 4 1.500000E+02
|
|
HONM 21 27 VOUT 6.521739E+03
|
|
VINM 5 27 1.500000E+02
|
|
GCOMP 5 4 4 5 7.485029E-04
|
|
RPM1 5 80 1E+09
|
|
RPM2 4 80 1E+09
|
|
GAVPH 5 82 19 80 2.99E-03
|
|
RAVPHGH 82 4 668
|
|
RAVPHGB 82 5 668
|
|
RAVPHDH 82 83 1000
|
|
RAVPHDB 82 84 1000
|
|
CAVPHH 4 83 0.352E-09
|
|
CAVPHB 5 84 0.352E-09
|
|
EOUT 26 23 82 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 150
|
|
COUT 3 5 1.000000E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.785252E+00
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 1.785252E+00
|
|
.ENDS LS404
|
|
|
|
|
|
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT MC1X58 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=9.728631E-16 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.400000E-12
|
|
CIN 1 5 1.400000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 1.040000E+04
|
|
RIN 15 16 1.040000E+04
|
|
RIS 11 15 8.993325E+04
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 5.000000E-06
|
|
CPS 11 15 2.715680E-12
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 3.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 3.000000E+00
|
|
FCP 4 5 VOFP 1.972759E+02
|
|
FCN 5 4 VOFN 1.972759E+02
|
|
FIBP 2 5 VOFN 1.034483E-02
|
|
FIBN 5 1 VOFP 1.034483E-02
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 4.827586E+02
|
|
FIN 5 19 VOFN 4.827586E+02
|
|
RG1 19 5 1.918174E+07
|
|
RG2 19 4 1.918174E+07
|
|
CC 19 29 3.000000E-09
|
|
HZTP 30 29 VOFP 5.729583E+03
|
|
HZTN 5 30 VOFN 5.729583E+03
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 6.380000E+03
|
|
VIPM 28 4 1.100000E+02
|
|
HONM 21 27 VOUT 6.380000E+03
|
|
VINM 5 27 1.100000E+02
|
|
EOUT 26 23 19 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 100
|
|
COUT 3 5 1.000000E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 2.1
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 2.1
|
|
.ENDS MC1X58
|
|
|
|
|
|
** Standard Linear Ics Macromodels, 1993.
|
|
** CONNECTIONS :
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT MC3307X 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=2.286238E-16 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.200000E-11
|
|
CIN 1 5 1.200000E-11
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 2.363636E+00
|
|
RIN 15 16 2.363636E+00
|
|
RIS 11 15 1.224040E+01
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 1.100000E-04
|
|
CPS 11 15 2.35E-09
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 1.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 1.000000E+00
|
|
FCP 4 5 VOFP 1.718182E+01
|
|
FCN 5 4 VOFN 1.718182E+01
|
|
FIBP 2 5 VOFN 4.545455E-03
|
|
FIBN 5 1 VOFP 4.545455E-03
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 9.545455E+02
|
|
FIN 5 19 VOFN 9.545455E+02
|
|
CC 19 29 1.500000E-08
|
|
HZTP 30 29 VOFP 1.523529E+02
|
|
HZTN 5 30 VOFN 1.523529E+02
|
|
DOPM 51 22 MDTH 400E-12
|
|
DONM 21 52 MDTH 400E-12
|
|
HOPM 22 28 VOUT 5.172414E+03
|
|
VIPM 28 4 1.500000E+02
|
|
HONM 21 27 VOUT 4.054054E+03
|
|
VINM 5 27 1.500000E+02
|
|
DBIDON1 19 53 MDTH 400E-12
|
|
V1 51 53 0.68
|
|
DBIDON2 54 19 MDTH 400E-12
|
|
V2 54 52 0.68
|
|
RG11 51 5 3.04E+05
|
|
RG12 51 4 3.04E+05
|
|
RG21 52 5 0.6072E+05
|
|
RG22 52 4 0.6072E+05
|
|
E1 50 40 51 0 1
|
|
E2 40 39 52 0 1
|
|
EDEC1 38 39 4 0 0.5
|
|
EDEC2 0 38 5 0 0.5
|
|
DOP 51 25 MDTH 400E-12
|
|
VOP 4 25 1.474575E+00
|
|
DON 24 52 MDTH 400E-12
|
|
VON 24 5 1.474575E+00
|
|
RAJUS 50 5 1E12
|
|
GCOMP 5 4 4 5 8.1566068E-04
|
|
RPM1 5 80 1E+06
|
|
RPM2 4 80 1E+06
|
|
GAVPH 5 82 50 80 3.26E-03
|
|
RAVPHGH 82 4 613
|
|
RAVPHGB 82 5 613
|
|
RAVPHDH 82 83 1000
|
|
RAVPHDB 82 84 1000
|
|
CAVPHH 4 83 0.159E-09
|
|
CAVPHB 5 84 0.159E-09
|
|
EOUT 26 23 82 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 4.780354E+01
|
|
COUT 3 5 1.000000E-12
|
|
.ENDS MC3307X
|
|
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT MC3317X 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=1.293682E-15 CJO=10F
|
|
.MODEL NDTH D IS=1E-12
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 1.733333E+01
|
|
RIN 15 16 1.733333E+01
|
|
RIS 11 15 1.817522E+01
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 1.500000E-05
|
|
CPS 11 15 1.848544E-09
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 0.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 1.800000E+00
|
|
FCP 4 5 VOFP 1.366667E+01
|
|
FCN 5 4 VOFN 1.366667E+01
|
|
FIBP 2 5 VOFP 6.666667E-04
|
|
FIBN 5 1 VOFN 6.666667E-04
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 7.333333E+02
|
|
FIN 5 19 VOFN 7.333333E+02
|
|
DOPM 51 22 MDTH 400E-12
|
|
DONM 21 52 MDTH 400E-12
|
|
HOPM 22 28 VOUT 2.500000E+04
|
|
VIPM 28 4 1.500000E+02
|
|
HONM 21 27 VOUT 5.555556E+03
|
|
VINM 5 27 1.500000E+02
|
|
CC 19 29 5E-09
|
|
HZTP 30 29 VOFP 4.931638E+03
|
|
HZTN 5 30 VOFN 4.931638E+03
|
|
DPOS 19 51 NDTH 400E-12
|
|
DNEG 52 19 NDTH 400E-12
|
|
IBD11 4 19 1U
|
|
IBD12 51 5 1U
|
|
IBD21 4 52 1U
|
|
IBD22 19 5 1U
|
|
RG11 51 5 1.54E+06
|
|
RG12 51 4 1.54E+06
|
|
RG21 52 5 3.48E+06
|
|
RG22 52 4 3.48E+06
|
|
E1 50 40 51 0 1
|
|
E2 40 39 52 0 1
|
|
EDEC1 38 39 4 0 0.5
|
|
EDEC2 0 38 5 0 0.5
|
|
RFOL 50 5 1E12
|
|
EOUT 26 23 50 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 100
|
|
COUT 3 5 1.000000E-12
|
|
DOP 51 25 MDTH 400E-12
|
|
VOP 4 25 3.1
|
|
DON 24 52 MDTH 400E-12
|
|
VON 24 5 2.4
|
|
.ENDS MC3317X
|
|
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT MC3X03 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=2.276045E-15 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 2.166667E+01
|
|
RIN 15 16 2.166667E+01
|
|
RIS 11 15 8.589028E+01
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 1.200000E-05
|
|
CPS 11 15 1.122007E-09
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 0.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 2.000000E+00
|
|
FCP 4 5 VOFP 5.733333E+01
|
|
FCN 5 4 VOFN 5.733333E+01
|
|
FIBP 2 5 VOFN 6.666667E-03
|
|
FIBN 5 1 VOFP 6.666667E-03
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 3.750000E+02
|
|
FIN 5 19 VOFN 3.750000E+02
|
|
RG1 19 5 6.960807E+06
|
|
RG2 19 4 6.960807E+06
|
|
CC 19 29 9.000000E-09
|
|
HZTP 30 29 VOFP 1.545442E+03
|
|
HZTN 5 30 VOFN 1.545442E+03
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 6.000000E+03
|
|
VIPM 28 4 1.800000E+02
|
|
HONM 21 27 VOUT 6.000000E+03
|
|
VINM 5 27 1.800000E+02
|
|
EOUT 26 23 19 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 100
|
|
COUT 3 5 1.000000E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 2.24
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 2.24
|
|
.ENDS MC3X03
|
|
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT MC3517X 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=1.293682E-15 CJO=10F
|
|
.MODEL NDTH D IS=1E-12
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 1.733333E+01
|
|
RIN 15 16 1.733333E+01
|
|
RIS 11 15 1.817522E+01
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 1.500000E-05
|
|
CPS 11 15 1.848544E-09
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 0.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 1.800000E+00
|
|
FCP 4 5 VOFP 1.366667E+01
|
|
FCN 5 4 VOFN 1.366667E+01
|
|
FIBP 2 5 VOFP 6.666667E-04
|
|
FIBN 5 1 VOFN 6.666667E-04
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 7.333333E+02
|
|
FIN 5 19 VOFN 7.333333E+02
|
|
DOPM 51 22 MDTH 400E-12
|
|
DONM 21 52 MDTH 400E-12
|
|
HOPM 22 28 VOUT 2.500000E+04
|
|
VIPM 28 4 1.500000E+02
|
|
HONM 21 27 VOUT 5.555556E+03
|
|
VINM 5 27 1.500000E+02
|
|
CC 19 29 5E-09
|
|
HZTP 30 29 VOFP 4.931638E+03
|
|
HZTN 5 30 VOFN 4.931638E+03
|
|
DPOS 19 51 NDTH 400E-12
|
|
DNEG 52 19 NDTH 400E-12
|
|
IBD11 4 19 1U
|
|
IBD12 51 5 1U
|
|
IBD21 4 52 1U
|
|
IBD22 19 5 1U
|
|
RG11 51 5 1.54E+06
|
|
RG12 51 4 1.54E+06
|
|
RG21 52 5 3.48E+06
|
|
RG22 52 4 3.48E+06
|
|
E1 50 40 51 0 1
|
|
E2 40 39 52 0 1
|
|
EDEC1 38 39 4 0 0.5
|
|
EDEC2 0 38 5 0 0.5
|
|
RFOL 50 5 1E12
|
|
EOUT 26 23 50 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 100
|
|
COUT 3 5 1.000000E-12
|
|
DOP 51 25 MDTH 400E-12
|
|
VOP 4 25 3.1
|
|
DON 24 52 MDTH 400E-12
|
|
VON 24 5 2.4
|
|
.ENDS MC3517X
|
|
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT MC4558 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=3.103536E-16 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.400000E-12
|
|
CIN 1 5 1.400000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 1.238095E+01
|
|
RIN 15 16 1.238095E+01
|
|
RIS 11 15 1.142635E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 2.100000E-05
|
|
CPS 11 15 5.9E-10
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 3.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 3.000000E+00
|
|
FCP 4 5 VOFP 5.376190E+01
|
|
FCN 5 4 VOFN 5.376190E+01
|
|
FIBP 2 5 VOFN 1.904762E-03
|
|
FIBN 5 1 VOFP 1.904762E-03
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 1.361905E+03
|
|
FIN 5 19 VOFN 1.361905E+03
|
|
RG1 19 5 8.864107E+05
|
|
RG2 19 4 8.864107E+05
|
|
CC 19 29 1.300000E-08
|
|
HZTP 30 29 VOFP 8.862530E+02
|
|
HZTN 5 30 VOFN 8.862530E+02
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 7.500000E+03
|
|
VIPM 28 4 1.500000E+02
|
|
HONM 21 27 VOUT 7.500000E+03
|
|
VINM 5 27 1.500000E+02
|
|
GCOMP 5 4 4 5 6.485084E-04
|
|
RPM1 5 80 1E+09
|
|
RPM2 4 80 1E+09
|
|
GAVPH 5 82 19 80 2.59E-03
|
|
RAVPHGH 82 4 771
|
|
RAVPHGB 82 5 771
|
|
RAVPHDH 82 83 1000
|
|
RAVPHDB 82 84 1000
|
|
CAVPHH 4 83 0.331E-09
|
|
CAVPHB 5 84 0.331E-09
|
|
EOUT 26 23 82 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 120
|
|
COUT 3 5 1.000000E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.981520E+00
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 1.981520E+00
|
|
.ENDS MC4558
|
|
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT TJM4558 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=3.103536E-16 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.400000E-12
|
|
CIN 1 5 1.400000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 1.238095E+01
|
|
RIN 15 16 1.238095E+01
|
|
RIS 11 15 1.142635E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 2.100000E-05
|
|
CPS 11 15 5.9E-10
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 3.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 3.000000E+00
|
|
FCP 4 5 VOFP 5.376190E+01
|
|
FCN 5 4 VOFN 5.376190E+01
|
|
FIBP 2 5 VOFN 1.904762E-03
|
|
FIBN 5 1 VOFP 1.904762E-03
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 1.361905E+03
|
|
FIN 5 19 VOFN 1.361905E+03
|
|
RG1 19 5 8.864107E+05
|
|
RG2 19 4 8.864107E+05
|
|
CC 19 29 1.300000E-08
|
|
HZTP 30 29 VOFP 8.862530E+02
|
|
HZTN 5 30 VOFN 8.862530E+02
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 7.500000E+03
|
|
VIPM 28 4 1.500000E+02
|
|
HONM 21 27 VOUT 7.500000E+03
|
|
VINM 5 27 1.500000E+02
|
|
GCOMP 5 4 4 5 6.485084E-04
|
|
RPM1 5 80 1E+09
|
|
RPM2 4 80 1E+09
|
|
GAVPH 5 82 19 80 2.59E-03
|
|
RAVPHGH 82 4 771
|
|
RAVPHGB 82 5 771
|
|
RAVPHDH 82 83 1000
|
|
RAVPHDB 82 84 1000
|
|
CAVPHH 4 83 0.331E-09
|
|
CAVPHB 5 84 0.331E-09
|
|
EOUT 26 23 82 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 120
|
|
COUT 3 5 1.000000E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.981520E+00
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 1.981520E+00
|
|
.ENDS TJM4558
|
|
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT TL06X 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=1.175758E-14 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 4.000000E+00
|
|
RIN 15 16 4.000000E+00
|
|
RIS 11 15 9.848265E-01
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 6.500000E-05
|
|
CPS 11 15 2.981372E-08
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 3.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 3.000000E+00
|
|
FCP 4 5 VOFP 2.076923E+00
|
|
FCN 5 4 VOFN 2.076923E+00
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 5.384615E+02
|
|
FIN 5 19 VOFN 5.384615E+02
|
|
GVNEG 5 19 5 13 1.311224E-06
|
|
GVPOS 5 19 4 13 1.311224E-06
|
|
RG1 19 5 1.626871E+05
|
|
RG2 19 4 1.626871E+05
|
|
CC 19 29 1.000000E-08
|
|
HZTP 30 29 VOFP 2.558489E+03
|
|
HZTN 5 30 VOFN 2.558489E+03
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 3.750000E+03
|
|
VIPM 28 4 9.000000E+01
|
|
HONM 21 27 VOUT 9.000000E+03
|
|
VINM 5 27 9.000000E+01
|
|
EOUT 26 23 19 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 100
|
|
COUT 3 5 1.000000E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 2.290897E+00
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 2.290897E+00
|
|
.ENDS TL06X
|
|
|
|
** Standard Linear Ics Macromodels, 1993.
|
|
** CONNECTIONS :
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT TL07X 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=5.306587E-14 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 1.130435E+00
|
|
RIN 15 16 1.130435E+00
|
|
RIS 11 15 2.476554E-01
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 2.300000E-04
|
|
CPS 11 15 4.091333E-08
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 3.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 0.000000E+00
|
|
FCP 4 5 VOFP 6.096957E+00
|
|
FCN 5 4 VOFN 6.096957E+00
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 8.217391E+02
|
|
FIN 5 19 VOFN 8.217391E+02
|
|
RG1 19 5 1.112645E+06
|
|
RG2 19 4 1.112645E+06
|
|
CC 19 29 1.300000E-08
|
|
HZTP 30 29 VOFP 7.743183E+02
|
|
HZTN 5 30 VOFN 7.743183E+02
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 3.750000E+03
|
|
VIPM 28 4 1.500000E+02
|
|
HONM 21 27 VOUT 3.750000E+03
|
|
VINM 5 27 1.500000E+02
|
|
EOUT 26 23 19 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 9.384786E+01
|
|
COUT 3 5 1.000000E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 3.259753E+00
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 3.259753E+00
|
|
.ENDS TL07X
|
|
|
|
** Standard Linear Ics Macromodels, 1993.
|
|
** CONNECTIONS :
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT TL08X 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=5.306587E-14 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 1.130435E+00
|
|
RIN 15 16 1.130435E+00
|
|
RIS 11 15 2.476554E-01
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 2.300000E-04
|
|
CPS 11 15 4.091333E-08
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 3.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 0.000000E+00
|
|
FCP 4 5 VOFP 6.096957E+00
|
|
FCN 5 4 VOFN 6.096957E+00
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 8.217391E+02
|
|
FIN 5 19 VOFN 8.217391E+02
|
|
RG1 19 5 1.112645E+06
|
|
RG2 19 4 1.112645E+06
|
|
CC 19 29 1.300000E-08
|
|
HZTP 30 29 VOFP 7.743183E+02
|
|
HZTN 5 30 VOFN 7.743183E+02
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 3.750000E+03
|
|
VIPM 28 4 1.500000E+02
|
|
HONM 21 27 VOUT 3.750000E+03
|
|
VINM 5 27 1.500000E+02
|
|
EOUT 26 23 19 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 9.384786E+01
|
|
COUT 3 5 1.000000E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 3.259753E+00
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 3.259753E+00
|
|
.ENDS TL08X
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TS185X Spice macromodel subckt
|
|
***
|
|
*** Version 2.0 (March 2011)
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TS185X VP VM VCCP VCCN VS
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET194 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
V_OUTVLIM_LOW NET0204 NET0196 DC {Vd_compensazione}
|
|
V_OUTVLIM_HIGH NET0234 NET0211 DC {Vd_compensazione}
|
|
VREADIO NET0193 VS DC 0
|
|
VVLIM_LOW_VB NET192 NET193 DC -770m
|
|
VOS NET194 VP DC 0
|
|
VPROT_IN_P_VCCP NET196 NET229 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_enhance}
|
|
VVLIM_HIGH_VB NET217 NET203 DC -770m
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_enhance}
|
|
VPROT_IN_M_VCCN NET208 NET360 DC {V_DPROT}
|
|
VPROT_IN_P_VCCN NET212 NET213 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET348 NET219 DC {V_DPROT}
|
|
D_OUTVLIM_HIGH NET0194 NET0234 DIODE_NOVd
|
|
D_OUTVLIM_LOW NET0196 NET0233 DIODE_NOVd
|
|
DVLIM_HIGH_VB VB NET217 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET219 DIODE_VLIM
|
|
DVLIM_LOW_VB NET193 VB DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET208 VM DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
DPROT_IN_P_VCCP NET194 NET229 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCN NET212 NET194 DIODE_VLIM
|
|
C_RO2_1 VB_2 VREF 650p
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 12p
|
|
CCOMP VB VB_2 {Ccomp}
|
|
E64 IO_VAL 0 VALUE={I(VreadIo)}
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
EVLIM_LOW_VB NET192 0 VCCN 0 1.0
|
|
E_RO1 VB_3 NET0193 VALUE={IF(I(VreadIo)>0,
|
|
+V(Ro1_Voh)*I(VreadIo),V(Ro1_Vol)*I(VreadIo))}
|
|
|
|
*Eldo:
|
|
* E_VOHNORL NET0194 VB_3 PWL(1) VCCP VCCN ( 1.8 , 16m ) ( 3.0 , 21m ) (
|
|
*+5.0 , 28.5m )
|
|
* E_RO1_VOH RO1_VOH 0 PWL(1) VCCP VCCN ( 1.8 , 60 ) ( 3.0 , 57 ) ( 5.0 ,
|
|
*+41 )
|
|
* E_VOLNORL VB_3 NET0233 PWL(1) VCCP VCCN ( 1.8 , 24m ) ( 3.0 , 26m ) (
|
|
*+5.0 , 32m )
|
|
* E_RO1_VOL RO1_VOL 0 PWL(1) VCCP VCCN ( 1.8 , 38 ) ( 3.0 , 60 ) ( 5.0 ,
|
|
*+42 )
|
|
*PSpice:
|
|
* E_VOHNORL NET0194 VB_3 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 16m , 3.0 , 21m ,
|
|
*+5.0 , 28.5m )}
|
|
E_VOHNORL NET0194 VB_3 POLY(1) VCCP VCCN 0.00779687499999999
|
|
+0.0047916666666666715 -1.3020833333333404E-4
|
|
*E_RO1_VOH RO1_VOH 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 60 , 3.0 , 57 , 5.0 ,
|
|
*+41 )}
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 55.21875 5.75 -1.71875
|
|
*E_VOLNORL VB_3 NET0233 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 24m , 3.0 , 26m ,
|
|
*+5.0 , 32m )}
|
|
E_VOLNORL VB_3 NET0233 POLY(1) VCCP VCCN 0.02325
|
|
+-3.3333333333334427E-4 4.166666666666681E-4
|
|
*E_RO1_VOL RO1_VOL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 38 , 3.0 , 60 , 5.0 ,
|
|
*+42 )}
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN -41.125 59.33333333333332
|
|
+-8.541666666666664
|
|
|
|
E50 NET0211 0 VCCP 0 1.0
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 7.921875E-5 -3.75E-6
|
|
+7.8125E-7
|
|
E51 NET0204 0 VCCN 0 1.0
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN 0
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={IF( V(Vccp,Vccn)<=3.0 , (
|
|
++9.5 +75*V(Vccp,Vccn) ) -5000*I(VreadIo) , ( +227 +2.5*V(Vccp,Vccn) )
|
|
+-5000*I(VreadIo) )}
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
EVLIM_HIGH_VB NET203 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( -219.1875
|
|
+-6.666666666666708*V(Vccp,Vccn) + 0.5208333333333386*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E2_REF NET362 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET356 0 1.0
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 1.3553571428571613E-5
|
|
+8.222916666666653E-5 -1.551388888888886E-5 9.771825396825383E-7
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E1_REF NET326 0 VCCP 0 1.0
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.4390625 + 0.22416666666666657*V(Vccp,Vccn)
|
|
+-0.022395833333333323*PWR(V(Vccp,Vccn),2) )}
|
|
RO2_1 VB_2 VREF {Ro2_1}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
R1 VB VREF {R1}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RO2_2 VB_3 VB_2 {Ro2_2}
|
|
RPROT_IN_P_VCCP NET196 VCCP {RPROT_VCCP}
|
|
RPROT_IN_M_VCCP VCCP NET348 {RPROT_VCCP}
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
RIN_DIFF VP VM {RIN_DIFF}
|
|
R1_REF NET326 NET356 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET360 {RPROT_VCCN}
|
|
R2_REF NET356 NET362 1Meg
|
|
RPROT_IN_P_VCCN NET213 VCCN {RPROT_VCCN}
|
|
|
|
*Eldo:
|
|
* G_I_VB VB_2 VREF TABLE {V(VB_Vref)} = (-2.7 {-2.7*GB*3}) (-2.0
|
|
*+{-2.0*GB*2.5}) (-1.5 {-1.5*GB*2.2}) (-0.69 {-0.69*GB*2}) (-0.65
|
|
*+{-0.65*GB*1.0}) (-0.15 {-0.15*GB*1}) (-0.050 {-0.050*GB*1}) (-0.015
|
|
*+{-0.015*GB*1}) (-0.0001 {-0.0001*GB*1}) (0 0) (+0.0001 {0.0001*GB*1})
|
|
*+(+0.015 {+0.015*GB*1}) (+0.050 {+0.050*GB*1}) (+0.15 {+0.15*GB*1}) (+0.65
|
|
*+{0.65*GB*1.0}) (+0.69 {0.69*GB*2}) (+1.5 {1.5*GB*2.2}) (+2.0
|
|
*+{2.0*GB*2.5}) (+2.7 {2.7*GB*3})
|
|
*PSpice:
|
|
* G_I_VB VB_2 VREF VALUE={TABLE( V(VB,Vref) , -2.7 , -2.7*GB*3 , -2.0 ,
|
|
*+ -2.0*GB*2.5 , -1.5 , -1.5*GB*2.2 , -0.69 , -0.69*GB*2 , -0.65 ,
|
|
*+ -0.65*GB*1.0 , -0.15 , -0.15*GB*1 , -0.050 , -0.050*GB*1 , -0.015 ,
|
|
*+ -0.015*GB*1 , -0.0001 , -0.0001*GB*1 , 0 , 0 , +0.0001 , 0.0001*GB*1 ,
|
|
*+ +0.015 , +0.015*GB*1 , +0.050 , +0.050*GB*1 , +0.15 , +0.15*GB*1 , +0.65,
|
|
*+ 0.65*GB*1.0 , +0.69 , 0.69*GB*2 , +1.5 , 1.5*GB*2.2 , +2.0 ,
|
|
*+ 2.0*GB*2.5 , +2.7 , 2.7*GB*3 ) }
|
|
G_I_VB VB_2 VREF POLY(1) VB_VREF 0 2.0955964330729256E-18
|
|
+0.0064704243141362125 -2.1354856438578985E-18 0.003032922143165251
|
|
+1.7832794554106567E-19 -1.99845853108853E-4
|
|
|
|
G_I_IO VB_2 VREF VALUE={IF(abs(V(Io_val))<50m , V(VB_Vref)*GB*(
|
|
+abs(V(Io_val))/2m ) , V(VB_Vref)*GB*( 50m/2m ) )}
|
|
|
|
* G_IIB_VP VREF VP TABLE {V(Vccp,Vccn)} = (+1.8 10n) (+3.0 10n) (+5.0
|
|
*+16n)
|
|
* G_IIB_VM VREF VM TABLE {V(Vccp,Vccn)} = (+1.8 10n) (+3.0 10n) (+5.0
|
|
*+16n)
|
|
G_IIB_VM VREF VM POLY(1) VCCP VCCN 7.5625E-9 1.1666666666666626E-9
|
|
+1.0416666666666735E-10
|
|
G_IIB_VP VREF VP POLY(1) VCCP VCCN 7.5625E-9 1.1666666666666626E-9
|
|
+1.0416666666666735E-10
|
|
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
IEE VEE_N VCCN_ENHANCED {IEE}
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high) , 0)}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TS185x subckt:
|
|
*
|
|
.PARAM RINCM=6.4777e+7
|
|
.PARAM CINCM=1.4646e-11
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RINDIFF=2.3412e+5
|
|
.PARAM CINDIFF=9.2768e-12
|
|
.PARAM RIN_DIFF={(2*RINCM*RINDIFF)/(2*RINCM - RINDIFF)}
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM A0 = 1.0597e+6
|
|
.PARAM Ro = 6.5024e+4
|
|
.PARAM Ccomp=11.5p
|
|
.PARAM IEE=3u
|
|
.PARAM W=1.45u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=4.667416947578759e-05
|
|
.PARAM GB=6m
|
|
.PARAM Ro1=50
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={Ro - Ro2_2 - Ro1}
|
|
.PARAM R1={A0/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM RPROT_VCCP=100
|
|
.PARAM RPROT_VCCN=15k
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
*Eldo:
|
|
*.MODEL MOS_N NMOS LEVEL=1 MODTYPE=ELDO VTO=+0.65 KP=500E-6
|
|
*.MODEL DIODE_NOVd D LEVEL=1 MODTYPE=ELDO IS=10E-15 N=0.001
|
|
*.MODEL DIODE_VLIM D LEVEL=1 MODTYPE=ELDO IS=0.8E-15
|
|
*.MODEL DIODE_ILIM D LEVEL=1 MODTYPE=ELDO IS=0.8E-15
|
|
*.MODEL DX D LEVEL=1 MODTYPE=ELDO IS=1E-14
|
|
*PSpice:
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DX D LEVEL=1 IS=1E-14
|
|
*******************************************************************************
|
|
|
|
.ENDS TS185X
|
|
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TS187X Spice macromodel subckt
|
|
***
|
|
*** Version 2.0 (March 2011)
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TS187X VP VM VCCP VCCN VS
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET0262 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
V_OUTVLIM_LOW NET0204 NET0196 DC {Vd_compensazione}
|
|
V_OUTVLIM_HIGH NET0234 NET0211 DC {Vd_compensazione}
|
|
VREADIO NET0191 VS DC 0
|
|
VVLIM_LOW_VB NET192 NET193 DC {Vd_compensazione}
|
|
VOS NET0262 VP DC 0
|
|
VPROT_IN_P_VCCP NET196 NET229 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_enhance}
|
|
VVLIM_HIGH_VB NET217 NET203 DC {Vd_compensazione}
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_enhance}
|
|
VPROT_IN_M_VCCN NET208 NET360 DC {V_DPROT}
|
|
VPROT_IN_P_VCCN NET212 NET213 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET348 NET219 DC {V_DPROT}
|
|
D_OUTVLIM_HIGH NET0279 NET0234 DIODE_NOVd
|
|
D_OUTVLIM_LOW NET0196 NET0238 DIODE_NOVd
|
|
DVLIM_HIGH_VB VB NET217 DIODE_NOVd
|
|
DPROT_IN_M_VCCP VM NET219 DIODE_VLIM
|
|
DVLIM_LOW_VB NET193 VB DIODE_NOVd
|
|
DPROT_IN_M_VCCN NET208 VM DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
DPROT_IN_P_VCCP NET0262 NET229 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCN NET212 NET0262 DIODE_VLIM
|
|
C_RO2_1 VB_2 VREF 140p
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 12p
|
|
CCOMP VB VB_2 {Ccomp}
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={IF( V(Vccp,Vccn)<=3.0 , (
|
|
+-212 -62.5*V(Vccp,Vccn) ) -5000*I(VreadIo) , ( -399.5 )
|
|
+-5000*I(VreadIo) )}
|
|
E_RO1 VB_3 NET0191 VALUE={IF(I(VreadIo)>0,
|
|
+V(Ro1_Voh)*I(VreadIo),V(Ro1_Vol)*I(VreadIo))}
|
|
|
|
*Eldo:
|
|
* E_VOHNORL NET0279 VB_3 PWL(1) VCCP VCCN ( 1.8 , 24m ) ( 3.0 , 26m ) (
|
|
*+5.0 , 37m )
|
|
* E_RO1_VOH RO1_VOH 0 PWL(1) VCCP VCCN ( 1.8 , 20 ) ( 3.0 , 18 ) ( 5.0 ,
|
|
*+12 )
|
|
* E_VOLNORL VB_3 NET0238 PWL(1) VCCP VCCN ( 1.8 , 24m ) ( 3.0 , 32m ) (
|
|
*+5.0 , 42m )
|
|
* E_RO1_VOL RO1_VOL 0 PWL(1) VCCP VCCN ( 1.8 , 15 ) ( 3.0 , 11 ) ( 5.0 ,
|
|
*+7 )
|
|
*PSpice:
|
|
* E_VOHNORL NET0279 VB_3 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 24m , 3.0 , 26m ,
|
|
*+5.0 , 37m )}
|
|
* E_RO1_VOH RO1_VOH 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 20 , 3.0 , 18 , 5.0 ,
|
|
*+12 )}
|
|
* E_VOLNORL VB_3 NET0238 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 24m , 3.0 , 32m ,
|
|
*+5.0 , 42m )}
|
|
* E_RO1_VOL RO1_VOL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 15 , 3.0 , 11 , 5.0 ,
|
|
*+7 )}
|
|
E_VOHNORL NET0279 VB_3 POLY(1) VCCP VCCN 0.02746875
|
|
+-0.00408333333333334 0.0011979166666666674
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 20.75 0.3333333333333298
|
|
+-0.41666666666666624
|
|
E_VOLNORL VB_3 NET0238 POLY(1) VCCP VCCN 0.0091875
|
|
+0.009166666666666663 -5.208333333333329E-4
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 23.25 -5.333333333333335
|
|
+0.41666666666666685
|
|
|
|
E50 NET0211 0 VCCP 0 1.0
|
|
E64 IO_VAL 0 VALUE={I(VreadIo)}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN -8.65625E-5
|
|
+2.533333333333334E-4 -2.7604166666666666E-5
|
|
E51 NET0204 0 VCCN 0 1.0
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN 0
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0 VALUE={
|
|
+IF(V(val_vdep_source)>=0, 0, V(val_vdep_source)) }
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={IF( V(Vccp,Vccn)<=3.0 , (
|
|
++212 +62.5*V(Vccp,Vccn) ) -5000*I(VreadIo) , ( +399.5 )
|
|
+-5000*I(VreadIo) )}
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
EVLIM_HIGH_VB NET203 0 VCCP 0 1.0
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0 VALUE={
|
|
+IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink)) }
|
|
EVLIM_LOW_VB NET192 0 VCCN 0 1.0
|
|
E2_REF NET362 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET356 0 1.0
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 2.93875E-4 6.666666666666659E-5
|
|
+-5.208333333333321E-6
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E1_REF NET326 0 VCCP 0 1.0
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*( 0.796875
|
|
++ 0.06666666666666655*V(Vccp,Vccn) -0.005208333333333318*PWR(V(Vccp,Vccn),2)
|
|
+)}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
R1 VB VREF {R1}
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RIN_DIFF VP VM {RIN_DIFF}
|
|
RO2_2 VB_3 VB_2 {Ro2_2}
|
|
RPROT_IN_P_VCCP NET196 VCCP {RPROT_VCCP}
|
|
RPROT_IN_M_VCCP VCCP NET348 {RPROT_VCCP}
|
|
RO2_1 VB_2 VREF {Ro2_1}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
R1_REF NET326 NET356 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET360 {RPROT_VCCN}
|
|
R2_REF NET356 NET362 1Meg
|
|
RPROT_IN_P_VCCN NET213 VCCN {RPROT_VCCN}
|
|
|
|
*Eldo:
|
|
* G_IIB_VP VREF VP TABLE {V(Vccp,Vccn)} = (+1.8 40n) (+3.0 40n) (+5.0
|
|
*+70n)
|
|
* G_IIB_VM VREF VM TABLE {V(Vccp,Vccn)} = (+1.8 40n) (+3.0 40n) (+5.0
|
|
*+70n)
|
|
*PSpice:
|
|
* G_IIB_VP VREF VP VALUE={TABLE(V(Vccp,Vccn), +1.8 , 40n , +3.0 , 40n , +5.0 ,
|
|
*+70n)}
|
|
* G_IIB_VM VREF VM VALUE={TABLE(V(Vccp,Vccn), +1.8 , 40n , +3.0 , 40n , +5.0 ,
|
|
*+70n)}
|
|
G_IIB_VP VREF VP POLY(1) VCCP VCCN 2.78125E-8 5.833333333333326E-9
|
|
+5.208333333333348E-10
|
|
G_IIB_VM VREF VM POLY(1) VCCP VCCN 2.78125E-8 5.833333333333326E-9
|
|
+5.208333333333348E-10
|
|
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
|
|
*Eldo:
|
|
* G_I_VB VB_2 VREF TABLE {V(VB,Vref)} = (-2.7 {-2.7*GB*5}) (-2.0
|
|
*+{-2.0*GB*4}) (-1.5 {-1.5*GB*3}) (-0.85 {-0.85*GB*2}) (-0.8 {-0.8*GB*1.0})
|
|
*+(-0.15 {-0.15*GB*1}) (-0.050 {-0.050*GB*1}) (-0.015 {-0.015*GB*1})
|
|
*+(-0.0001 {-0.0001*GB*1}) (0 0) (+0.0001 {0.0001*GB*1}) (+0.015
|
|
*+{+0.015*GB*1}) (+0.050 {+0.050*GB*1}) (+0.15 {+0.15*GB*1}) (+0.8
|
|
*+{0.8*GB*1.0}) (+0.85 {0.85*GB*2}) (+1.5 {1.5*GB*3}) (+2.0 {2.0*GB*4})
|
|
*+(+2.7 {2.7*GB*5})
|
|
*PSpice:
|
|
* G_I_VB VB_2 VREF VALUE={ TABLE( V(VB_Vref) , -2.7 , -2.7*GB*5 , -2.0 ,
|
|
*+ -2.0*GB*4 , -1.5 , -1.5*GB*3 , -0.85 , -0.85*GB*2 , -0.8 , -0.8*GB*1.0 ,
|
|
*+ -0.15 , -0.15*GB*1 , -0.050 , -0.050*GB*1 , -0.015 , -0.015*GB*1 ,
|
|
*+ -0.0001 , -0.0001*GB*1 , 0 , 0 , +0.0001 , +0.0001*GB*1 , +0.015 ,
|
|
*+ +0.015*GB*1 , +0.050 , +0.050*GB*1 , +0.15 , +0.15*GB*1 , +0.8 ,
|
|
*+ +0.8*GB*1.0 , +0.85 , +0.85*GB*2 , +1.5 , +1.5*GB*3 , +2.0 , +2.0*GB*4 ,
|
|
*+ +2.7 ,+2.7*GB*5) }
|
|
G_I_VB VB_2 VREF POLY(1) VB_VREF 0 -9.856565891257244E-19
|
|
+0.005261002312869361 -1.07732629780586E-18 0.006364309660287821
|
|
+1.4051854670098035E-19 -4.0785392718052795E-4
|
|
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
IEE VEE_N VCCN_ENHANCED {IEE}
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high) , 0)}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
G_I_IO VB_2 VREF VALUE={IF(abs(V(Io_val))<50m , V(VB_Vref)*GB*(
|
|
+abs(V(Io_val))/3m ) , V(VB_Vref)*GB*( 50m/3m ) )}
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TS187x subckt:
|
|
*
|
|
.PARAM RINCM=6.4777e+7
|
|
.PARAM CINCM=1.4646e-11
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RINDIFF=2.3412e+5
|
|
.PARAM CINDIFF=9.2768e-12
|
|
.PARAM RIN_DIFF={(2*RINCM*RINDIFF)/(2*RINCM - RINDIFF)}
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM A0 = 6.8366e+5
|
|
.PARAM Ro = 2.5282e+4
|
|
.PARAM Ccomp=4.85p
|
|
.PARAM IEE=3u
|
|
.PARAM W=2.1u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=5.617737386835048e-05
|
|
.PARAM GB=6m
|
|
.PARAM Ro1=15
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={Ro - Ro2_2 - Ro1}
|
|
.PARAM R1={A0/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM RPROT_VCCP=100
|
|
.PARAM RPROT_VCCN=15k
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
*Eldo:
|
|
*.MODEL MOS_N NMOS LEVEL=1 MODTYPE=ELDO VTO=+0.65 KP=500E-6
|
|
*.MODEL DIODE_NOVd D LEVEL=1 MODTYPE=ELDO IS=10E-15 N=0.001
|
|
*.MODEL DIODE_VLIM D LEVEL=1 MODTYPE=ELDO IS=0.8E-15
|
|
*.MODEL DIODE_ILIM D LEVEL=1 MODTYPE=ELDO IS=0.8E-15
|
|
*.MODEL DX D LEVEL=1 MODTYPE=ELDO IS=1E-14
|
|
*PSpice:
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DX D LEVEL=1 IS=1E-14
|
|
*******************************************************************************
|
|
|
|
.ENDS TS187X
|
|
|
|
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT TS271_Iset_1u5 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=5.029059E-14 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 7.450000E-13
|
|
CIN 1 5 7.450000E-13
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 2.600000E+01
|
|
RIN 15 16 2.600000E+01
|
|
RIS 11 15 2.503337E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0.000000E+00
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 1.000000E-05
|
|
CPS 11 15 8.650557E-09
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 -0.5000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 1.600000E+00
|
|
FCP 4 5 VOFP 0.15
|
|
FCN 5 4 VOFN 0.15TS271L
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 2.800000E+01
|
|
FIN 5 19 VOFN 2.800000E+01
|
|
RG1 19 5 4.504399E+07
|
|
RG2 19 4 4.504399E+07
|
|
CC 19 29 7.000000E-09
|
|
HZTP 30 29 VOFP 0.55E+04
|
|
HZTN 5 30 VOFN 0.55E+04
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 2500
|
|
VIPM 28 4 150
|
|
HONM 21 27 VOUT 3325
|
|
VINM 5 27 150
|
|
EOUT 26 23 19 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 100
|
|
COUT 3 5 1.600000E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.742230E+00
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 8.3E-01
|
|
.ENDS TS271_Iset_1u5
|
|
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT TS271_Iset_25uA 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=7.404371E-15 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 5.200000E+01
|
|
RIN 15 16 5.200000E+01
|
|
RIS 11 15 6.746099E+01
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0.000000E+00
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 5.000000E-06
|
|
CPS 11 15 1.464357E-09
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 -0.5000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 1.600000E+00
|
|
FCP 4 5 VOFP 4.8
|
|
FCN 5 4 VOFN 4.8
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 8.400000E+02
|
|
FIN 5 19 VOFN 8.400000E+02
|
|
RG1 19 5 3.160459E+06
|
|
RG2 19 4 3.160459E+06
|
|
CC 19 29 7.000000E-09
|
|
HZTP 30 29 VOFP 1.7E+04
|
|
HZTN 5 30 VOFN 1.7E+04
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 2500
|
|
VIPM 28 4 150
|
|
HONM 21 27 VOUT 3325
|
|
VINM 5 27 150
|
|
EOUT 26 23 19 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 100
|
|
COUT 3 5 1.600000E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.924208E+00
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 9.32083E-01
|
|
.ENDS TS271_Iset_25uA
|
|
|
|
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT TS271_Iset_130uA 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=4.153070E-14 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 5.777778E+00
|
|
RIN 15 16 5.777778E+00
|
|
RIS 11 15 2.509675E+00
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0.000000E+00
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 4.500000E-05
|
|
CPS 11 15 1.5E-08
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 -0.5000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 1.600000E+00
|
|
FCP 4 5 VOFP 3.5
|
|
FCN 5 4 VOFN 3.5
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 7.000000E+02
|
|
FIN 5 19 VOFN 7.000000E+02
|
|
RG1 19 5 2.777406E+05
|
|
RG2 19 4 2.777406E+05
|
|
CC 19 29 7.000000E-09
|
|
HZTP 30 29 VOFP 1.787279E+03
|
|
HZTN 5 30 VOFN 1.787279E+03
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 2500
|
|
VIPM 28 4 150
|
|
HONM 21 27 VOUT 3325
|
|
VINM 5 27 150
|
|
EOUT 26 23 19 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 100
|
|
COUT 3 5 1.600000E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 2.324208E+00
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 9.32083E-01
|
|
.ENDS TS271_Iset_130uA
|
|
|
|
|
|
|
|
.SUBCKT TS27X 2 1 4 5 3
|
|
*** INP- = 1, INP+ =2, OUT = 3 VDD=4 VSS = 5
|
|
*** TYPE = TS271/TS272/TS274
|
|
.MODEL MDTH D IS=1E-8 KF=2.664E-16 CJO=10F
|
|
***INPUT STAGE
|
|
CIP 2 5 1E-12
|
|
CIN 1 5 1E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 8
|
|
RIN 15 16 8
|
|
RIS 11 15 223.84
|
|
CPS 11 15 1E-9
|
|
DIP 11 120 MDTH 400E-12
|
|
DIN 15 140 MDTH 400E-12
|
|
RDEG1 12 120 4400
|
|
RDEG2 14 140 4400
|
|
VOFP 12 13 DC 0
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 38E-6
|
|
***ICC
|
|
DICC1 4 31 MDTH 400E-12
|
|
DICC2 31 32 MDTH 400E-12
|
|
DICC3 32 33 MDTH 400E-12
|
|
DICC4 33 34 MDTH 400E-12
|
|
RICC 34 5 20E3
|
|
ICC 4 5 600E-6
|
|
***COMMON MODE INPUT LIMITATION
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 DC -0.1
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 DC 2.2
|
|
***GM1 STAGE
|
|
FGM1P 119 5 VOFP 1
|
|
FGM1N 119 5 VOFN 1
|
|
RAP 119 4 1E6
|
|
RAN 119 5 1E6
|
|
***GM2 STAGE
|
|
G2P 19 5 119 5 4E-4
|
|
G2N 19 5 119 4 4E-4
|
|
R2P 19 4 450E3
|
|
R2N 19 5 450E3
|
|
***COMPENSATION
|
|
CC 19 119 7p
|
|
***BUFFER
|
|
EBUF 20 5 19 5 1
|
|
***SHORT-CIRCUIT LIMITATIONS( ISINK, ISOURCE)
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 910
|
|
VIPM 28 4 DC 50
|
|
HONM 21 27 VOUT 1222
|
|
VINM 5 27 DC 50
|
|
VOUT 3 23 DC 0
|
|
***VOH, VOL DEFINITIONS
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 2.5
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 0.92
|
|
***OUTPUT RESISTOR
|
|
ROUT 23 20 10
|
|
.ENDS TS27X
|
|
|
|
|
|
** CONNECTIONS :
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT TS27MX 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=7.405288E-15 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 5.200000E+01
|
|
RIN 15 16 5.200000E+01
|
|
RIS 11 15 1.337376E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0.000000E+00
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 5.000000E-06
|
|
CPS 11 15 7.175351E-10
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 -0.5000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 1.600000E+00
|
|
FCP 4 5 VOFP 2.900000E+01
|
|
FCN 5 4 VOFN 2.900000E+01
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 8.400000E+02
|
|
FIN 5 19 VOFN 8.400000E+02
|
|
RG1 19 5 2.212321E+06
|
|
RG2 19 4 2.212321E+06
|
|
CC 19 29 7.000000E-09
|
|
HZTP 30 29 VOFP 9.4E+03
|
|
HZTN 5 30 VOFN 9.4E+03
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 2500
|
|
VIPM 28 4 150
|
|
HONM 21 27 VOUT 3750
|
|
VINM 5 27 150
|
|
EOUT 26 23 19 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 100
|
|
COUT 3 5 1.600000E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.924208E+00
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 8.742083E-01
|
|
.ENDS TS27MX
|
|
|
|
|
|
** Standard Linear Ics Macromodels, 1999.
|
|
** CONNECTIONS :
|
|
* N1 INVERTING INPUT
|
|
* N2 NON-INVERTING INPUT
|
|
* N3 OUTPUT
|
|
* N4 POSITIVE POWER SUPPLY
|
|
* N5 NEGATIVE POWER SUPPLY
|
|
*
|
|
.SUBCKT TS46X N2 N1 N4 N5 N3
|
|
*****************************
|
|
CCC N119 N19 16p
|
|
CC30 N5 N3 130p
|
|
CCIP N2 N5 1p
|
|
CCIN N1 N5 1p
|
|
CCPS N11 N15 100p
|
|
EEIP N10 N5 N2 N5 1
|
|
EEIN N16 N5 N1 N5 1
|
|
RRAN N119 N5 260K
|
|
RR28 N19 N23 6
|
|
RRAP N119 N4 260K
|
|
RR2N N5 N19 10Meg
|
|
RR2P N19 N4 10Meg
|
|
RRIP N11 N10 8.12
|
|
RRIS N11 N15 220
|
|
RRIN N15 N16 8.12
|
|
DDOPM N19 N22 MDTH 400p
|
|
DDONM N21 N19 MDTH 400p
|
|
DDCOPY N504 N505 MDTH 400E-9
|
|
DDINR N15 N18 MDTH 400E-12
|
|
DDOP N19 N25 MDTH 400p
|
|
DD39 N506 N504 MDTH 400E-9
|
|
DDON N24 N19 MDTH 400p
|
|
DDIN N15 N14 MDTH 400p
|
|
DDIP N11 N12 MDTH 400p
|
|
DDINN N17 N13 MDTH 400E-12
|
|
VVOFN N13 N14 0
|
|
VVINM N5 N27 60
|
|
VVIPM N28 N4 76
|
|
VVOFP N12 N13 -1m
|
|
VVCOPYP N505 0 0
|
|
VVIN N17 N5 900m
|
|
VVOUT N3 N23 0
|
|
VVIP N4 N18 1.4
|
|
VVINT2 N503 0 5
|
|
VVINT1 N500 0 5
|
|
VVN N502 0 0
|
|
VVP N501 0 0
|
|
RVVN N501 0 10
|
|
RVVP N502 0 10
|
|
VVCOPYN 0 N506 0
|
|
VVOP N4 N25 1
|
|
VVON N24 N5 1.025
|
|
IIPOL N13 N5 63.6u
|
|
FFGM1P N119 N5 VVOFP 1
|
|
FFGM1N N119 N5 VVOFN 1
|
|
FFCOPY N503 N504 VVOUT 1
|
|
FFCP N4 N5 VVOFP 33.8
|
|
FFIBP N2 N5 VVOFP 7.85e-3
|
|
FFIBN N5 N1 VVOFN 7.85e-3
|
|
FFCN N5 N4 VVOFN 33.8
|
|
GG2P N19 N5 N119 N5 1.92e-2
|
|
GGCONVP N500 0 N119 N4 19.38
|
|
GGCONVN N500 0 N119 N5 19.38
|
|
GG2N N19 N5 N119 N4 1.92e-2
|
|
HHONM N21 N27 VVOUT 625
|
|
HHOPN N22 N28 VVOUT 62500
|
|
.MODEL MDTH D IS=1E-8 KF=2.664234E-16 CJO=10F
|
|
F2PP N19 N5 POLY(2) VVCOPYP VVP 0 0 0 0 0.5
|
|
F2PN N19 N5 POLY(2) VVCOPYP VVN 0 0 0 0 0.5
|
|
.ENDS TS46X
|
|
|
|
|
|
|
|
|
|
** CONNECTIONS :
|
|
* 2 NON-INVERTING INPUT
|
|
* 1 INVERTING INPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
* 3 OUTPUT
|
|
*
|
|
.SUBCKT TS482 2 1 4 5 3
|
|
*
|
|
.MODEL MDTH D IS=1E-8 KF=2.664234E-16 CJO=10F
|
|
*
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 8.125000E+00
|
|
RIN 15 16 8.125000E+00
|
|
RIS 11 15 2.238465E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 153.5u
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 3.200000E-05
|
|
CPS 11 15 1e-9
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 -0.100000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 0.400000E+00
|
|
FCP 4 5 VOFP 1.865000E+02
|
|
FCN 5 4 VOFN 1.865000E+02
|
|
FIBP 2 5 VOFP 6.20000E-03
|
|
FIBN 5 1 VOFN 6.20000E-03
|
|
ICC 5 4 3.5m
|
|
* GM1 STAGE ***************
|
|
FGM1P 119 5 VOFP 1.1
|
|
FGM1N 119 5 VOFN 1.1
|
|
RAP 119 4 2.6E+06
|
|
RAN 119 5 2.6E+06
|
|
* GM2 STAGE ***************
|
|
G2P 19 5 119 5 1.92E-02
|
|
G2N 19 5 119 4 1.92E-02
|
|
R2P 19 4 1E+07
|
|
R2N 19 5 1E+07
|
|
**************************
|
|
VINT1 500 0 5
|
|
GCONVP 500 501 119 4 19.38
|
|
VP 501 0 0
|
|
GCONVN 500 502 119 5 19.38
|
|
VN 502 0 0
|
|
********* orientation isink isource *******
|
|
VINT2 503 0 5
|
|
FCOPY 503 504 VOUT 1
|
|
DCOPYP 504 505 MDTH 400E-9
|
|
VCOPYP 505 0 0
|
|
DCOPYN 506 504 MDTH 400E-9
|
|
VCOPYN 0 506 0
|
|
***************************
|
|
F2PP 19 5 poly(2) VCOPYP VP 0 0 0 0 0.5
|
|
F2PN 19 5 poly(2) VCOPYP VN 0 0 0 0 0.5
|
|
F2NP 19 5 poly(2) VCOPYN VP 0 0 0 0 1.75
|
|
F2NN 19 5 poly(2) VCOPYN VN 0 0 0 0 1.75
|
|
* COMPENSATION ************
|
|
CC 19 119 30p
|
|
* OUTPUT ***********
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 4.0000E+02
|
|
VIPM 28 4 5.000000E+01
|
|
HONM 21 27 VOUT 4.00000E+02
|
|
VINM 5 27 5.000000E+01
|
|
VOUT 3 23 0
|
|
ROUT 23 19 6
|
|
COUT 3 5 1.300000E-10
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 0.5
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 0.5
|
|
.ENDS ;TS482
|
|
|
|
****************************************************************************
|
|
****
|
|
**** TS507 Spice macromodel subckt
|
|
***
|
|
*** Version 3.1 (April 2015)
|
|
****
|
|
*********** CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TS507 VP VM VCCP VCCN VS
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
LOUT_REF VZOUT 0 {Lout}
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET235 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
VREADIO NET0370 VS DC 0
|
|
VVLIM_LOW_VB NET233 NET234 DC -770m
|
|
VOS NET235 VP DC 0
|
|
VPROT_IN_P_VCCP NET237 NET270 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC -360m
|
|
VVLIM_HIGH_VB NET258 NET242 DC -770m
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC -500m
|
|
V_OUTVLIM_LOW NET245 NET246 DC {Vd_compensazione}
|
|
VPROT_IN_M_VCCN NET247 NET429 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET276 NET250 DC {Vd_compensazione}
|
|
VPROT_IN_P_VCCN NET251 NET252 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET417 NET260 DC {V_DPROT}
|
|
DVLIM_HIGH_VB VB NET258 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET260 DIODE_VLIM
|
|
DVLIM_LOW_VB NET234 VB DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET247 VM DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D_OUTVLIM_LOW NET246 NET268 DIODE_NOVd
|
|
DPROT_IN_P_VCCP NET235 NET270 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCN NET251 NET235 DIODE_VLIM
|
|
D_OUTVLIM_HIGH NET373 NET276 DIODE_NOVd
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
COUT2 VZOUT 0 {Cout2}
|
|
COUT NET0309 0 {Cout}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
CDIFF VO_DIFF_PLUS VO_DIFF_MINUS 32p
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
C_RO2_1 VB_2 VREF 10.3n
|
|
CCOMP VB VB_2 {Ccomp}
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 1.830882352941178
|
|
+-0.2887254901960797 0.024509803921568797
|
|
E50 IO_VAL 0 VALUE={I(VreadIo)}
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
EZOUT_IOUT_COEFF NET0307 0 VALUE={( Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau)) )}
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN 0
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ (-155.57672634242113 +
|
|
+79.09207161106947*V(Vccp,Vccn) + 15.984654731486176*PWR(V(Vccp,Vccn),2) )
|
|
+ -5000*I(VreadIo)}
|
|
EVLIM_HIGH_VB NET242 0 VCCP 0 1.0
|
|
EVLIM_HIGH_VOUT NET250 0 VCCP 0 1.0
|
|
EVLIM_LOW_VB NET233 0 VCCN 0 1.0
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E_VOL NET268 VB_3 VALUE={ V(Ro1_Vol)*I(VreadIo)}
|
|
E2_REF NET431 0 VCCN 0 1.0
|
|
EZOUT VB_3 NET0370
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_VREF VREF 0 NET425 0 1.0
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
|
|
*E_RO1_VOL RO1_VOL 0 VALUE={TABLE(V(VCCP,VCCN), 2.7 , 27 , 3.3 , 22 , 5.0 , 16)}
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 68.10997442455245
|
|
+-20.865302642796284 2.088661551577158
|
|
|
|
E_VOH NET373 VB_3 VALUE={ V(Ro1_Voh)*I(VreadIo)}
|
|
|
|
*E_RO1_VOH RO1_VOH 0 VALUE={TABLE(V(VCCP,VCCN), 2.7 , 27 , 3.3 , 23 , 5.0 , 16.5)}
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 56.01406649616369
|
|
+-14.08354646206311 1.2361466325660737
|
|
|
|
E1_REF NET381 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ (198.5306905368759
|
|
+-111.63682864437875*V(Vccp,Vccn) -6.393861892600456*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
EVLIM_LOW_VOUT NET245 0 VCCN 0 1.0
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET0307 50
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
ROUT NET0309 VZOUT {Rout}
|
|
RIN_DIFF VP VM {RIN_DIFF}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RO2_2 VB_3 VB_2 {Ro2_2}
|
|
RPROT_IN_P_VCCP NET237 VCCP 100
|
|
RPROT_IN_M_VCCP VCCP NET417 100
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
RO2_1 VREF VB_2 {Ro2_1}
|
|
R1_REF NET381 NET425 1Meg
|
|
R1 VB VREF {R1}
|
|
RPROT_IN_M_VCCN VCCN NET429 15K
|
|
R2_REF NET425 NET431 1Meg
|
|
RPROT_IN_P_VCCN NET252 VCCN 15K
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 5*( 1 -
|
|
+exp(-abs(V(Io_val))/10m )) ) }
|
|
|
|
*G_IIB_VM VREF VM TABLE {V(Vccp,Vccn)} = (+2.7 8n) (+3.3 6n) (+5.0 8n)
|
|
*G_IIB_VP VREF VP TABLE {V(Vccp,Vccn)} = (+2.7 8n) (+3.3 6n) (+5.0 8n)
|
|
G_IIB_VM VREF VM POLY(1) VCCP VCCN 3.447058823529414E-8
|
|
+-1.5098039215686306E-8 1.9607843137254952E-9
|
|
G_IIB_VP VREF VP POLY(1) VCCP VCCN 3.447058823529414E-8
|
|
+-1.5098039215686306E-8 1.9607843137254952E-9
|
|
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_IOUT_SOUCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF 0 {1/RD}
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 6.477204603580559E-4
|
|
+5.890878090366602E-5 -4.262574595055444E-6
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
|
|
.PARAM RINCM=6.4777e+7
|
|
.PARAM CINCM=1.4646e-11
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RINDIFF=2.3412e+5
|
|
.PARAM CINDIFF=9.2768e-12
|
|
.PARAM RIN_DIFF={(2*RINCM*RINDIFF)/(2*RINCM - RINDIFF)}
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM Ccomp=23.5p
|
|
.PARAM IEE=14.3u
|
|
.PARAM GB=0.813
|
|
.PARAM A0=1.5e+7
|
|
.PARAM Ro=3.6122e+4
|
|
.PARAM W=11u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=0.0002807210724691585
|
|
.PARAM Lout = 6u
|
|
.PARAM Rout = 141.25
|
|
.PARAM Cout = 1.2n
|
|
.PARAM Cout2 = 5p
|
|
.PARAM Zout_Iout_coeff_MIN=0.1
|
|
.PARAM Iout_dc_tau = 3m
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2 }
|
|
.PARAM R1={A0/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
|
|
.ENDS TS507
|
|
|
|
|
|
** Standard Linear Ics Macromodels, 1993.
|
|
** CONNECTIONS :
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT TS512 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=6.565195E-17 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 2.600000E+01
|
|
RIN 15 16 2.600000E+01
|
|
RIS 11 15 1.061852E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 1.000000E-05
|
|
CPS 11 15 12.47E-10
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 1.500000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 1.500000E+00
|
|
FCP 4 5 VOFP 3.400000E+01
|
|
FCN 5 4 VOFN 3.400000E+01
|
|
FIBP 2 5 VOFN 1.000000E-02
|
|
FIBN 5 1 VOFP 1.000000E-02
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 9.000000E+02
|
|
FIN 5 19 VOFN 9.000000E+02
|
|
RG1 19 5 1.727221E+06
|
|
RG2 19 4 1.727221E+06
|
|
CC 19 5 6.000000E-09
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 6.521739E+03
|
|
VIPM 28 4 1.500000E+02
|
|
HONM 21 27 VOUT 6.521739E+03
|
|
VINM 5 27 1.500000E+02
|
|
GCOMP 5 4 4 5 6.485084E-04
|
|
RPM1 5 80 1E+06
|
|
RPM2 4 80 1E+06
|
|
GAVPH 5 82 19 80 2.59E-03
|
|
RAVPHGH 82 4 771
|
|
RAVPHGB 82 5 771
|
|
RAVPHDH 82 83 1000
|
|
RAVPHDB 82 84 1000
|
|
CAVPHH 4 83 0.331E-09
|
|
CAVPHB 5 84 0.331E-09
|
|
EOUT 26 23 82 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 6.498455E+01
|
|
COUT 3 5 1.000000E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.742230E+00
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 1.742230E+00
|
|
.ENDS TS512
|
|
|
|
|
|
|
|
** Standard Linear Ics Macromodels, 1993.
|
|
** CONNECTIONS :
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT TS514 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=6.647807E-16 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 1.300000E+01
|
|
RIN 15 16 1.300000E+01
|
|
RIS 11 15 6.437882E+01
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 2.000000E-05
|
|
CPS 11 15 9.75E-10
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 0.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 1.500000E+00
|
|
FCP 4 5 VOFP 1.525000E+01
|
|
FCN 5 4 VOFN 1.525000E+01
|
|
FIBP 2 5 VOFN 5.000000E-03
|
|
FIBN 5 1 VOFP 5.000000E-03
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 1.125000E+03
|
|
FIN 5 19 VOFN 1.125000E+03
|
|
RG1 19 5 6.512062E+05
|
|
RG2 19 4 6.512062E+05
|
|
CC 19 29 1.500000E-08
|
|
HZTP 30 29 VOFP 8.944787E+02
|
|
HZTN 5 30 VOFN 8.944787E+02
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 6.521739E+03
|
|
VIPM 28 4 1.500000E+02
|
|
HONM 21 27 VOUT 6.521739E+03
|
|
VINM 5 27 1.500000E+02
|
|
GCOMP 5 4 4 5 7.485029E-04
|
|
RPM1 5 80 1E+09
|
|
RPM2 4 80 1E+09
|
|
GAVPH 5 82 19 80 2.99E-03
|
|
RAVPHGH 82 4 668
|
|
RAVPHGB 82 5 668
|
|
RAVPHDH 82 83 1000
|
|
RAVPHDB 82 84 1000
|
|
CAVPHH 4 83 0.352E-09
|
|
CAVPHB 5 84 0.352E-09
|
|
EOUT 26 23 82 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 150
|
|
COUT 3 5 1.000000E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.785252E+00
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 1.785252E+00
|
|
.ENDS TS514
|
|
|
|
** Standard Linear Ics Macromodels, 1993.
|
|
** CONNECTIONS :
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT TS52X 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=2.286238E-16 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.200000E-11
|
|
CIN 1 5 1.200000E-11
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 2.363636E+00
|
|
RIN 15 16 2.363636E+00
|
|
RIS 11 15 1.224040E+01
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 1.100000E-04
|
|
CPS 11 15 2.35E-09
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 1.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 1.000000E+00
|
|
FCP 4 5 VOFP 1.718182E+01
|
|
FCN 5 4 VOFN 1.718182E+01
|
|
FIBP 2 5 VOFN 4.545455E-03
|
|
FIBN 5 1 VOFP 4.545455E-03
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 9.545455E+02
|
|
FIN 5 19 VOFN 9.545455E+02
|
|
CC 19 29 1.500000E-08
|
|
HZTP 30 29 VOFP 1.523529E+02
|
|
HZTN 5 30 VOFN 1.523529E+02
|
|
DOPM 51 22 MDTH 400E-12
|
|
DONM 21 52 MDTH 400E-12
|
|
HOPM 22 28 VOUT 5.172414E+03
|
|
VIPM 28 4 1.500000E+02
|
|
HONM 21 27 VOUT 4.054054E+03
|
|
VINM 5 27 1.500000E+02
|
|
DBIDON1 19 53 MDTH 400E-12
|
|
V1 51 53 0.68
|
|
DBIDON2 54 19 MDTH 400E-12
|
|
V2 54 52 0.68
|
|
RG11 51 5 3.04E+05
|
|
RG12 51 4 3.04E+05
|
|
RG21 52 5 0.6072E+05
|
|
RG22 52 4 0.6072E+05
|
|
E1 50 40 51 0 1
|
|
E2 40 39 52 0 1
|
|
EDEC1 38 39 4 0 0.5
|
|
EDEC2 0 38 5 0 0.5
|
|
DOP 51 25 MDTH 400E-12
|
|
VOP 4 25 1.474575E+00
|
|
DON 24 52 MDTH 400E-12
|
|
VON 24 5 1.474575E+00
|
|
RAJUS 50 5 1E12
|
|
GCOMP 5 4 4 5 8.1566068E-04
|
|
RPM1 5 80 1E+06
|
|
RPM2 4 80 1E+06
|
|
GAVPH 5 82 50 80 3.26E-03
|
|
RAVPHGH 82 4 613
|
|
RAVPHGB 82 5 613
|
|
RAVPHDH 82 83 1000
|
|
RAVPHDB 82 84 1000
|
|
CAVPHH 4 83 0.159E-09
|
|
CAVPHB 5 84 0.159E-09
|
|
EOUT 26 23 82 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 4.780354E+01
|
|
COUT 3 5 1.000000E-12
|
|
.ENDS TS52X
|
|
|
|
|
|
** Standard Linear Ics Macromodels, 1993.
|
|
** CONNECTIONS :
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT TS912 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=6.563355E-14 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.500000E-12
|
|
CIN 1 5 1.500000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 6.500000E+00
|
|
RIN 15 16 6.500000E+00
|
|
RIS 11 15 7.655100E+00
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0.000000E+00
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 4.000000E-05
|
|
CPS 11 15 3.82E-08
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 -0.5000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 -0.5000000E+00
|
|
FCP 4 5 VOFP 7.750000E+00
|
|
FCN 5 4 VOFN 7.750000E+00
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 5.500000E+02
|
|
FIN 5 19 VOFN 5.500000E+02
|
|
RG1 19 5 5.087344E+05
|
|
RG2 19 4 5.087344E+05
|
|
CC 19 29 2.200000E-08
|
|
HZTP 30 29 VOFP 12.33E+02
|
|
HZTN 5 30 VOFN 12.33E+02
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 3135
|
|
VIPM 28 4 150
|
|
HONM 21 27 VOUT 3135
|
|
VINM 5 27 150
|
|
EOUT 26 23 19 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 65
|
|
COUT 3 5 1.000000E-12
|
|
DOP 19 68 MDTH 400E-12
|
|
VOP 4 25 1.924
|
|
HSCP 68 25 VSCP1 1E8
|
|
DON 69 19 MDTH 400E-12
|
|
VON 24 5 2.4419107
|
|
HSCN 24 69 VSCN1 1.5E8
|
|
VSCTHP 60 61 0.1375
|
|
DSCP1 61 63 MDTH 400E-12
|
|
VSCP1 63 64 0
|
|
ISCP 64 0 1.000000E-8
|
|
DSCP2 0 64 MDTH 400E-12
|
|
DSCN2 0 74 MDTH 400E-12
|
|
ISCN 74 0 1.000000E-8
|
|
VSCN1 73 74 0
|
|
DSCN1 71 73 MDTH 400E-12
|
|
VSCTHN 71 70 -0.75
|
|
ESCP 60 0 2 1 500
|
|
ESCN 70 0 2 1 -2000
|
|
.ENDS TS912
|
|
|
|
|
|
** Standard Linear Ics Macromodels, 1993.
|
|
** CONNECTIONS :
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
*
|
|
.SUBCKT TS914 2 1 4 5 3
|
|
*************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=6.564344E-14 CJO=10F
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 6.500000E+00
|
|
RIN 15 16 6.500000E+00
|
|
RIS 11 15 7.322092E+00
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0.000000E+00
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 4.000000E-05
|
|
CPS 11 15 2.498970E-08
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 0.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 0.000000E+00
|
|
FCP 4 5 VOFP 5.750000E+00
|
|
FCN 5 4 VOFN 5.750000E+00
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 4.400000E+02
|
|
FIN 5 19 VOFN 4.400000E+02
|
|
RG1 19 5 4.904961E+05
|
|
RG2 19 4 4.904961E+05
|
|
CC 19 29 2.200000E-08
|
|
HZTP 30 29 VOFP 1.8E+03
|
|
HZTN 5 30 VOFN 1.8E+03
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 3800
|
|
VIPM 28 4 230
|
|
HONM 21 27 VOUT 3800
|
|
VINM 5 27 230
|
|
EOUT 26 23 19 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 82
|
|
COUT 3 5 1.000000E-12
|
|
DOP 19 68 MDTH 400E-12
|
|
VOP 4 25 1.724
|
|
HSCP 68 25 VSCP1 0.8E+8
|
|
DON 69 19 MDTH 400E-12
|
|
VON 24 5 1.7419107
|
|
HSCN 24 69 VSCN1 0.8E+8
|
|
VSCTHP 60 61 0.0875
|
|
DSCP1 61 63 MDTH 400E-12
|
|
VSCP1 63 64 0
|
|
ISCP 64 0 1.000000E-8
|
|
DSCP2 0 64 MDTH 400E-12
|
|
DSCN2 0 74 MDTH 400E-12
|
|
ISCN 74 0 1.000000E-8
|
|
VSCN1 73 74 0
|
|
DSCN1 71 73 MDTH 400E-12
|
|
VSCTHN 71 70 -0.55
|
|
ESCP 60 0 2 1 500
|
|
ESCN 70 0 2 1 -2000
|
|
.ENDS TS914
|
|
|
|
|
|
** Standard Linear Ics Macromodels, 1996.
|
|
** CONNECTIONS :
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
*
|
|
.SUBCKT TS92X 2 1 4 5 3
|
|
*
|
|
.MODEL MDTH D IS=1E-8 KF=2.664234E-16 CJO=10F
|
|
*
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 8.125000E+00
|
|
RIN 15 16 8.125000E+00
|
|
RIS 11 15 2.238465E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 153.5u
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 3.200000E-05
|
|
CPS 11 15 1e-9
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 -0.100000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 0.400000E+00
|
|
FCP 4 5 VOFP 1.865000E+02
|
|
FCN 5 4 VOFN 1.865000E+02
|
|
FIBP 2 5 VOFP 6.250000E-03
|
|
FIBN 5 1 VOFN 6.250000E-03
|
|
* GM1 STAGE ***************
|
|
FGM1P 119 5 VOFP 1.1
|
|
FGM1N 119 5 VOFN 1.1
|
|
RAP 119 4 2.6E+06
|
|
RAN 119 5 2.6E+06
|
|
* GM2 STAGE ***************
|
|
G2P 19 5 119 5 1.92E-02
|
|
G2N 19 5 119 4 1.92E-02
|
|
R2P 19 4 1E+07
|
|
R2N 19 5 1E+07
|
|
**************************
|
|
VINT1 500 0 5
|
|
GCONVP 500 501 119 4 19.38
|
|
VP 501 0 0
|
|
GCONVN 500 502 119 5 19.38
|
|
VN 502 0 0
|
|
********* orientation isink isource *******
|
|
VINT2 503 0 5
|
|
FCOPY 503 504 VOUT 1
|
|
DCOPYP 504 505 MDTH 400E-9
|
|
VCOPYP 505 0 0
|
|
DCOPYN 506 504 MDTH 400E-9
|
|
VCOPYN 0 506 0
|
|
***************************
|
|
F2PP 19 5 poly(2) VCOPYP VP 0 0 0 0 0.5
|
|
F2PN 19 5 poly(2) VCOPYP VN 0 0 0 0 0.5
|
|
F2NP 19 5 poly(2) VCOPYN VP 0 0 0 0 1.75
|
|
F2NN 19 5 poly(2) VCOPYN VN 0 0 0 0 1.75
|
|
* COMPENSATION ************
|
|
CC 19 119 25p
|
|
* OUTPUT ***********
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 6.250000E+02
|
|
VIPM 28 4 5.000000E+01
|
|
HONM 21 27 VOUT 6.250000E+02
|
|
VINM 5 27 5.000000E+01
|
|
VOUT 3 23 0
|
|
ROUT 23 19 6
|
|
COUT 3 5 1.300000E-10
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.052
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 1.052
|
|
.ENDS TS92X
|
|
|
|
|
|
** Standard Linear Ics Macromodels
|
|
** CONNECTIONS :
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
*
|
|
.SUBCKT TS93X 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=2.626433E-33 CJO=10F
|
|
.MODEL NDTH D IS=1E-12
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 2.600000E+01
|
|
RIN 15 16 2.600000E+01
|
|
RIS 11 15 1.433696E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0.000000E+00
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 1.000000E-05
|
|
CPS 11 15 7.404465E-09
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 -0.5000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 2.1
|
|
FCP 4 5 VOFP 2
|
|
FCN 5 4 VOFN 2
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 7.000000E+00
|
|
FIN 5 19 VOFN 7.000000E+00
|
|
DOPM 51 22 MDTH 400E-12
|
|
DONM 21 52 MDTH 400E-12
|
|
HOPM 22 28 VOUT 72500
|
|
VIPM 28 4 1.500000E+02
|
|
HONM 21 27 VOUT 33333
|
|
VINM 5 27 1.500000E+02
|
|
CC 19 29 1.10000E-09
|
|
HZTP 30 29 VOFP 8.414314E+02
|
|
HZTN 5 30 VOFN 8.414314E+02
|
|
DPOS 19 53 NDTH 400E-12
|
|
VPOS 51 53 0.75
|
|
DNEG 54 19 NDTH 400E-12
|
|
VNEG 54 52 0.75
|
|
RG11 51 5 8.29E+08
|
|
RG12 51 4 8.29E+08
|
|
RG21 52 5 1.43E+07
|
|
RG22 52 4 1.43E+07
|
|
E1 50 40 51 0 1
|
|
E2 40 39 52 0 1
|
|
EDEC1 38 39 4 0 0.5
|
|
EDEC2 0 38 5 0 0.5
|
|
RFOL 50 5 1E12
|
|
EOUT 26 23 50 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 100
|
|
COUT 3 5 1.000000E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 7.822301E-01
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 6.722301E-01
|
|
.ENDS TS93X
|
|
|
|
|
|
** CONNECTIONS :
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
*
|
|
.SUBCKT TS94X 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=2.626433E-33 CJO=10F
|
|
.MODEL NDTH D IS=1E-12
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 2.600000E+01
|
|
RIN 15 16 2.600000E+01
|
|
RIS 11 15 1.433696E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0.000000E+00
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 1.000000E-05
|
|
CPS 11 15 7.404465E-09
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 -0.5000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 2.1
|
|
FCP 4 5 VOFP 0.1
|
|
FCN 5 4 VOFN 0.1
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 7.000000E+00
|
|
FIN 5 19 VOFN 7.000000E+00
|
|
DOPM 51 22 MDTH 400E-12
|
|
DONM 21 52 MDTH 400E-12
|
|
HOPM 22 28 VOUT 72500
|
|
VIPM 28 4 1.500000E+02
|
|
HONM 21 27 VOUT 33333
|
|
VINM 5 27 1.500000E+02
|
|
CC 19 29 11.900000E-09
|
|
HZTP 30 29 VOFP 8.414314E+02
|
|
HZTN 5 30 VOFN 8.414314E+02
|
|
DPOS 19 53 NDTH 400E-12
|
|
VPOS 51 53 0.75
|
|
DNEG 54 19 NDTH 400E-12
|
|
VNEG 54 52 0.75
|
|
RG11 51 5 8.29E+08
|
|
RG12 51 4 8.29E+08
|
|
RG21 52 5 1.43E+07
|
|
RG22 52 4 1.43E+07
|
|
E1 50 40 51 0 1
|
|
E2 40 39 52 0 1
|
|
EDEC1 38 39 4 0 0.5
|
|
EDEC2 0 38 5 0 0.5
|
|
RFOL 50 5 1E12
|
|
EOUT 26 23 50 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 100
|
|
COUT 3 5 1.000000E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 7.822301E-01
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 6.722301E-01
|
|
.ENDS TS94X
|
|
|
|
|
|
|
|
** Standard Linear Ics Macromodels, 1996.
|
|
** CONNECTIONS :
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
*
|
|
.SUBCKT TS95X 2 1 4 5 3
|
|
*
|
|
.MODEL MDTH D IS=1E-8 KF=2.664234E-16 CJO=10F
|
|
*
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 8.125000E+00
|
|
RIN 15 16 8.125000E+00
|
|
RIS 11 15 2.238465E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 153.5u
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 3.200000E-05
|
|
CPS 11 15 1e-9
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 -0.100000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 0.400000E+00
|
|
FCP 4 5 VOFP 1.865000E+02
|
|
FCN 5 4 VOFN 1.865000E+02
|
|
FIBP 2 5 VOFP 6.250000E-03
|
|
FIBN 5 1 VOFN 6.250000E-03
|
|
* GM1 STAGE ***************
|
|
FGM1P 119 5 VOFP 1.1
|
|
FGM1N 119 5 VOFN 1.1
|
|
RAP 119 4 2.6E+06
|
|
RAN 119 5 2.6E+06
|
|
* GM2 STAGE ***************
|
|
G2P 19 5 119 5 1.92E-02
|
|
G2N 19 5 119 4 1.92E-02
|
|
R2P 19 4 1E+07
|
|
R2N 19 5 1E+07
|
|
**************************
|
|
VINT1 500 0 5
|
|
GCONVP 500 501 119 4 19.38
|
|
VP 501 0 0
|
|
GCONVN 500 502 119 5 19.38
|
|
VN 502 0 0
|
|
********* orientation isink isource *******
|
|
VINT2 503 0 5
|
|
FCOPY 503 504 VOUT 1
|
|
DCOPYP 504 505 MDTH 400E-9
|
|
VCOPYP 505 0 0
|
|
DCOPYN 506 504 MDTH 400E-9
|
|
VCOPYN 0 506 0
|
|
***************************
|
|
F2PP 19 5 poly(2) VCOPYP VP 0 0 0 0 0.5
|
|
F2PN 19 5 poly(2) VCOPYP VN 0 0 0 0 0.5
|
|
F2NP 19 5 poly(2) VCOPYN VP 0 0 0 0 1.75
|
|
F2NN 19 5 poly(2) VCOPYN VN 0 0 0 0 1.75
|
|
* COMPENSATION ************
|
|
CC 19 119 25p
|
|
* OUTPUT ***********
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 6.250000E+02
|
|
VIPM 28 4 5.000000E+01
|
|
HONM 21 27 VOUT 6.250000E+02
|
|
VINM 5 27 5.000000E+01
|
|
VOUT 3 23 0
|
|
ROUT 23 19 6
|
|
COUT 3 5 1.300000E-10
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.052
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 1.052
|
|
.ENDS TS95X
|
|
|
|
|
|
|
|
|
|
** Standard Linear Ics Macromodels, 1999.
|
|
** CONNECTIONS :
|
|
* N1 INVERTING INPUT
|
|
* N2 NON-INVERTING INPUT
|
|
* N3 OUTPUT
|
|
* N4 POSITIVE POWER SUPPLY
|
|
* N5 NEGATIVE POWER SUPPLY
|
|
*
|
|
.SUBCKT TS97X N2 N1 N4 N5 N3
|
|
*****************************
|
|
CCC N119 N19 16p
|
|
CC30 N5 N3 130p
|
|
CCIP N2 N5 1p
|
|
CCIN N1 N5 1p
|
|
CCPS N11 N15 100p
|
|
EEIP N10 N5 N2 N5 1
|
|
EEIN N16 N5 N1 N5 1
|
|
RRAN N119 N5 260K
|
|
RR28 N19 N23 6
|
|
RRAP N119 N4 260K
|
|
RR2N N5 N19 10Meg
|
|
RR2P N19 N4 10Meg
|
|
RRIP N11 N10 8.12
|
|
RRIS N11 N15 220
|
|
RRIN N15 N16 8.12
|
|
DDOPM N19 N22 MDTH 400p
|
|
DDONM N21 N19 MDTH 400p
|
|
DDCOPY N504 N505 MDTH 400E-9
|
|
DDINR N15 N18 MDTH 400E-12
|
|
DDOP N19 N25 MDTH 400p
|
|
DD39 N506 N504 MDTH 400E-9
|
|
DDON N24 N19 MDTH 400p
|
|
DDIN N15 N14 MDTH 400p
|
|
DDIP N11 N12 MDTH 400p
|
|
DDINN N17 N13 MDTH 400E-12
|
|
VVOFN N13 N14 0
|
|
VVINM N5 N27 60
|
|
VVIPM N28 N4 76
|
|
VVOFP N12 N13 -1m
|
|
VVCOPYP N505 0 0
|
|
VVIN N17 N5 900m
|
|
VVOUT N3 N23 0
|
|
VVIP N4 N18 1.4
|
|
VVINT2 N503 0 5
|
|
VVINT1 N500 0 5
|
|
VVN N502 0 0
|
|
VVP N501 0 0
|
|
RVVN N501 0 10
|
|
RVVP N502 0 10
|
|
VVCOPYN 0 N506 0
|
|
VVOP N4 N25 1
|
|
VVON N24 N5 1.025
|
|
IIPOL N13 N5 63.6u
|
|
FFGM1P N119 N5 VVOFP 1
|
|
FFGM1N N119 N5 VVOFN 1
|
|
FFCOPY N503 N504 VVOUT 1
|
|
FFCP N4 N5 VVOFP 33.8
|
|
FFIBP N2 N5 VVOFP 7.85e-3
|
|
FFIBN N5 N1 VVOFN 7.85e-3
|
|
FFCN N5 N4 VVOFN 33.8
|
|
GG2P N19 N5 N119 N5 1.92e-2
|
|
GGCONVP N500 0 N119 N4 19.38
|
|
GGCONVN N500 0 N119 N5 19.38
|
|
GG2N N19 N5 N119 N4 1.92e-2
|
|
HHONM N21 N27 VVOUT 625
|
|
HHOPN N22 N28 VVOUT 62500
|
|
.MODEL MDTH D IS=1E-8 KF=2.664234E-16 CJO=10F
|
|
F2PP N19 N5 POLY(2) VVCOPYP VVP 0 0 0 0 0.5
|
|
F2PN N19 N5 POLY(2) VVCOPYP VVN 0 0 0 0 0.5
|
|
.ENDS TS97X
|
|
|
|
|
|
** CONNECTIONS :
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
*
|
|
.SUBCKT TS982 2 1 4 5 3
|
|
*
|
|
.MODEL MDTH D IS=1E-8 KF=2.664234E-16 CJO=10F
|
|
*
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 8.125000E+00
|
|
RIN 15 16 8.125000E+00
|
|
RIS 11 15 2.238465E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 153.5u
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 3.200000E-05
|
|
CPS 11 15 1e-9
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 -0.100000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 0.400000E+00
|
|
FCP 4 5 VOFP 1.865000E+02
|
|
FCN 5 4 VOFN 1.865000E+02
|
|
FIBP 2 5 VOFP 6.20000E-03
|
|
FIBN 5 1 VOFN 6.20000E-03
|
|
ICC 5 4 3.5m
|
|
* GM1 STAGE ***************
|
|
FGM1P 119 5 VOFP 1.1
|
|
FGM1N 119 5 VOFN 1.1
|
|
RAP 119 4 2.6E+06
|
|
RAN 119 5 2.6E+06
|
|
* GM2 STAGE ***************
|
|
G2P 19 5 119 5 1.92E-02
|
|
G2N 19 5 119 4 1.92E-02
|
|
R2P 19 4 1E+07
|
|
R2N 19 5 1E+07
|
|
**************************
|
|
VINT1 500 0 5
|
|
GCONVP 500 501 119 4 19.38
|
|
VP 501 0 0
|
|
GCONVN 500 502 119 5 19.38
|
|
VN 502 0 0
|
|
********* orientation isink isource *******
|
|
VINT2 503 0 5
|
|
FCOPY 503 504 VOUT 1
|
|
DCOPYP 504 505 MDTH 400E-9
|
|
VCOPYP 505 0 0
|
|
DCOPYN 506 504 MDTH 400E-9
|
|
VCOPYN 0 506 0
|
|
***************************
|
|
F2PP 19 5 poly(2) VCOPYP VP 0 0 0 0 0.5
|
|
F2PN 19 5 poly(2) VCOPYP VN 0 0 0 0 0.5
|
|
F2NP 19 5 poly(2) VCOPYN VP 0 0 0 0 1.75
|
|
F2NN 19 5 poly(2) VCOPYN VN 0 0 0 0 1.75
|
|
* COMPENSATION ************
|
|
CC 19 119 30p
|
|
* OUTPUT ***********
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 4.0000E+02
|
|
VIPM 28 4 5.000000E+01
|
|
HONM 21 27 VOUT 4.00000E+02
|
|
VINM 5 27 5.000000E+01
|
|
VOUT 3 23 0
|
|
ROUT 23 19 6
|
|
COUT 3 5 1.300000E-10
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 0.5
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 0.5
|
|
.ENDS TS982
|
|
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TSB57X Spice macromodel subckt
|
|
***
|
|
*** January 2017 (Version 2.0)
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSB57X VP VM VCCP VCCN VS
|
|
LOUT VZOUT 0 {LOUT}
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET0283 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
VOS NET0283 NET0319 DC 0
|
|
VD_DN1 NET0247 0 DC 100.0m
|
|
VD_DN2 NET0249 0 DC 100.0m
|
|
V57 NET0242 NET0244 DC {VD_COMPENSAZIONE}
|
|
VREADI_R1 VB NET386 DC 0
|
|
V56 NET0280 NET0254 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_P_VCCP NET246 NET279 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_ENHANCE}
|
|
VREADIO NET0218 VS DC 0
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_ENHANCE}
|
|
V_OUTVLIM_LOW NET256 NET257 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_M_VCCN NET258 NET448 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET285 NET261 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_P_VCCN NET262 NET263 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET434 NET269 DC {V_DPROT}
|
|
DN1 NET0247 VN_PLUS DN
|
|
DN2 NET0249 VN_MINUS DN
|
|
D29 NET0244 VB DIODE_NOVd
|
|
D28 VB NET0280 DIODE_NOVd
|
|
DPROT_IN_M_VCCP VM NET269 DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET258 VM DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D_OUTVLIM_LOW NET257 VB_3 DIODE_NOVd
|
|
DPROT_IN_P_VCCP NET0283 NET279 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCN NET262 NET0283 DIODE_VLIM
|
|
D_OUTVLIM_HIGH VB_3 NET285 DIODE_NOVd
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
COUT2 VZOUT 0 {COUT2}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
C_RO2_1 VB_2 VREF 70p
|
|
COUT NET427 0 {COUT}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 17p
|
|
CCOMP VB VB_2 {CCOMP}
|
|
EN NET0319 VP VN_PLUS VN_MINUS 1.0
|
|
E60 NET0242 0 VALUE={V(Vref) - V(alpha_desat_time)*V(Vccp,Vccn) }
|
|
E62 NET0254 0 VALUE={V(Vref) + V(alpha_desat_time)*V(Vccp,Vccn) }
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 5.06875
|
|
+-0.20208333333333325 0.0024739583333333293
|
|
EZOUT_IOUT_COEFF NET310 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
EZOUT VB_3 NET0218
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.81606924733806 + 0.018448017278224562*V(Vccp,Vccn) +
|
|
+(-6.313431286328965E-4)*V(Vccp,Vccn)*V(Vccp,Vccn) +
|
|
+(7.2518884621099345E-6)*V(Vccp,Vccn)*V(Vccp,Vccn)*V(Vccp,Vccn) )}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 3.50625E-4
|
|
+2.2916666666666607E-6 1.3020833333333477E-8
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 95.09903846153848
|
|
+-10.640715811965837 0.5458275462962989 -0.012445913461538552
|
|
+1.059472934472944E-4
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN 9.163125E-4 1.44375E-5
|
|
+-6.640625E-8
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
E58 VB_2_VREF 0 VB_2 VREF 1.0
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 120.82487549671876
|
|
+-7.037129774263023 0.2186748110492533 -0.0023008930083466064
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( 153.875 +
|
|
+1.25*V(Vccp,Vccn) + 0.0390625*PWR(V(Vccp,Vccn),2) ) -5000*I(VreadIo)}
|
|
EVLIM_HIGH_VOUT NET261 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
EVLIM_LOW_VOUT NET256 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo) +
|
|
+V(VOL_noRL) }
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
E64 ALPHA_DESAT_TIME 0 POLY(1) VCCP VCCN 0.7982380407877105
|
|
+-0.09091305422705927 0.004467429704213388 -9.673059102391071E-5
|
|
+7.726594278433235E-7
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E_R1 NET386 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
E2_REF NET450 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET444 0 1.0
|
|
E_VOL_NORL VOL_NORL 0 VALUE={0}
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E1_REF NET410 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( -182.9375
|
|
+-1.3541666666666612*V(Vccp,Vccn) -0.07161458333333347*PWR(V(Vccp,Vccn),2)
|
|
+) -5000*I(VreadIo)}
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
RN1 VN_PLUS 0 R_NOISE {RN}
|
|
RN2 VN_MINUS 0 R_NOISE {RN}
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET310 R_NO_NOISE 50
|
|
RIN_CM_VP VREF VP R_NO_NOISE {RIN_CM_VP}
|
|
RIN_DIFF VP VM R_NO_NOISE {RIN_DIFF}
|
|
ROUT NET427 VZOUT R_NO_NOISE {ROUT}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 R_NO_NOISE 1K
|
|
RO2_2 VB_3 VB_2 R_NO_NOISE {RO2_2}
|
|
RPROT_IN_P_VCCP NET246 VCCP R_NO_NOISE 100
|
|
RPROT_IN_M_VCCP VCCP NET434 R_NO_NOISE 100
|
|
RO2_1 VB_2 VREF R_NO_NOISE {RO2_1}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS R_NO_NOISE {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS R_NO_NOISE {RD}
|
|
RIN_CM_VM VREF VM R_NO_NOISE {RIN_CM_VM}
|
|
R1_REF NET410 NET444 R_NO_NOISE 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 R_NO_NOISE 1K
|
|
RPROT_IN_M_VCCN VCCN NET448 R_NO_NOISE 15K
|
|
R2_REF NET444 NET450 R_NO_NOISE 1Meg
|
|
RPROT_IN_P_VCCN NET263 VCCN R_NO_NOISE 15K
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 3.164012987012988E-4
|
|
+3.730086580086589E-6 -8.514610389610452E-8 6.358225108225207E-10
|
|
G_IIB_VP VREF VP VALUE={8n}
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 3.0*( 1 -
|
|
+exp(-abs(V(v_Io_val))/2m )) ) }
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_IIB_VM VREF VM VALUE={8n}
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSB57X subckt:
|
|
*
|
|
.PARAM VCC_MIN=3
|
|
.PARAM RINCM=8.0504E+09
|
|
.PARAM CINCM=9.4465E-13
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RINDIFF=4.8971E+06
|
|
.PARAM CINDIFF=1.6232E-12
|
|
.PARAM RIN_DIFF={(2*RINCM*RINDIFF)/(2*RINCM - RINDIFF)}
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=11.48m
|
|
.PARAM Ro = 4.7819E+05
|
|
.PARAM A0_source = 5e6
|
|
.PARAM A0_sink = 5e6
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=11p
|
|
.PARAM IEE=10u
|
|
.PARAM W=6.1u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=1.7480E-04
|
|
.PARAM Lout = 1.4u
|
|
.PARAM Rout = 1000
|
|
.PARAM Cout = 0.01n
|
|
.PARAM Cout2 = 3.5p
|
|
.PARAM Zout_Iout_coeff_MIN= 0.1
|
|
.PARAM Iout_dc_tau__source = 0.1m
|
|
.PARAM Iout_dc_tau__sink = 0.1m
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2}
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
.PARAM RN=0.83e+04
|
|
.MODEL DN D AF=1 KF=3.1e-11
|
|
|
|
|
|
.MODEL R_NO_NOISE RES T_ABS=-273
|
|
.MODEL R_NOISE RES T_ABS=+27
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6 T_ABS=+27
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TSB57X
|
|
*** End of subcircuit definition.
|
|
****************************************************************************
|
|
*
|
|
* WARNING : please consider following remarks before usage
|
|
*
|
|
* 1) All models are a tradeoff between accuracy and complexity (ie. simulation
|
|
* time).
|
|
*
|
|
* 2) Macromodels are not a substitute to breadboarding, they rather confirm the
|
|
* validity of a design approach and help to select surrounding component values.
|
|
*
|
|
* 3) A macromodel emulates the NOMINAL performance of a TYPICAL device within
|
|
* SPECIFIED OPERATING CONDITIONS (ie. temperature, supply voltage, etc.).
|
|
* Thus the macromodel is often not as exhaustive as the datasheet, its goal
|
|
* is to illustrate the main parameters of the product.
|
|
*
|
|
* 4) Data issued from macromodels used outside of its specified conditions
|
|
* (Vcc, Temperature, etc) or even worse: outside of the device operating
|
|
* conditions (Vcc, Vicm, etc) are not reliable in any way.
|
|
*
|
|
****************************************************************************
|
|
****
|
|
*** TSB61X Spice macromodel subckt
|
|
***
|
|
*** July 2015
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSB61X VP VM VCCP VCCN VS
|
|
LOUT VZOUT 0 {LOUT}
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET0283 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
VD_DN2 NET0266 0 DC 100.0m
|
|
VD_DN1 NET0264 0 DC 100.0m
|
|
V57 NET0242 NET0244 DC {VD_COMPENSAZIONE}
|
|
VREADI_R1 VB NET386 DC 0
|
|
V56 NET0280 NET0254 DC {VD_COMPENSAZIONE}
|
|
VOS NET0283 NET0255 DC 0
|
|
VPROT_IN_P_VCCP NET246 NET279 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_ENHANCE}
|
|
VREADIO NET0220 VS DC 0
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_ENHANCE}
|
|
V_OUTVLIM_LOW NET256 NET257 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_M_VCCN NET258 NET448 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET285 NET261 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_P_VCCN NET262 NET263 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET434 NET269 DC {V_DPROT}
|
|
DN2 NET0266 VN_MINUS DN
|
|
DN1 NET0264 VN_PLUS DN
|
|
D29 NET0244 VB DIODE_NOVd
|
|
D28 VB NET0280 DIODE_NOVd
|
|
DPROT_IN_M_VCCP VM NET269 DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET258 VM DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D_OUTVLIM_LOW NET257 VB_3 DIODE_NOVd
|
|
DPROT_IN_P_VCCP NET0283 NET279 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCN NET262 NET0283 DIODE_VLIM
|
|
D_OUTVLIM_HIGH VB_3 NET285 DIODE_NOVd
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
COUT2 VZOUT 0 {COUT2}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
C_RO2_1 VB_2 VREF 30p
|
|
COUT NET427 0 {COUT}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 65p
|
|
CCOMP VB VB_2 {CCOMP}
|
|
EN NET0255 VP VN_PLUS VN_MINUS 1.0
|
|
E60 NET0242 0 VALUE={V(Vref) - V(alpha_desat_time)*V(Vccp,Vccn) }
|
|
E62 NET0254 0 VALUE={V(Vref) + V(alpha_desat_time)*V(Vccp,Vccn) }
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 VALUE={1}
|
|
EZOUT_IOUT_COEFF NET310 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
EZOUT VB_3 NET0220
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.839716652136 + 0.006559260873777*V(Vccp,Vccn) +
|
|
+(-5.852626820368745E-5)*V(Vccp,Vccn)*V(Vccp,Vccn) )}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 4.235513875784879E-4
|
|
+-3.5212826941669324E-7 7.086794584448001E-8 -6.422301618447638E-9
|
|
+1.7201507762271853E-10
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 140.90155604866845
|
|
+-6.219465969756957 0.12417904849077162 -6.700057020016115E-4
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 VALUE={0}
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
E58 VB_2_VREF 0 VB_2 VREF 1.0
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 91.83396244138251
|
|
+-3.9327188382931326 0.10964069439536264 -0.0010451663701980384
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E66 VOH_NORL 0 VALUE={2m}
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( 121.88448125544897 +
|
|
+6.5406131938389995*V(Vccp,Vccn) -0.006054441538312483*PWR(V(Vccp,Vccn),2)
|
|
+) -5000*I(VreadIo)}
|
|
EVLIM_LOW_VOUT NET256 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo) +
|
|
+V(VOL_noRL) }
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
EVLIM_HIGH_VOUT NET261 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo) -
|
|
+V(VOH_noRL)}
|
|
E64 ALPHA_DESAT_TIME 0 POLY(1) VCCP VCCN 0.21538652016522972
|
|
+-0.028012809487090496 0.001499177379172458 -3.565575247107336E-5
|
|
+3.147956177143193E-7
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E_R1 NET386 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
E2_REF NET450 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET444 0 1.0
|
|
E_VOL_NORL VOL_NORL 0 VALUE={6.5m}
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E1_REF NET410 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( -74.94681778552744
|
|
+-9.325353579385839*V(Vccp,Vccn) + 0.08577125512609388*PWR(V(Vccp,Vccn),2)
|
|
+) -5000*I(VreadIo)}
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
RN2 VN_MINUS 0 R_NOISE {RN}
|
|
RN1 VN_PLUS 0 R_NOISE {RN}
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET310 R_NO_NOISE 50
|
|
RIN_CM_VP VREF VP R_NO_NOISE {RIN_CM_VP}
|
|
RIN_DIFF VP VM R_NO_NOISE {RIN_DIFF}
|
|
ROUT NET427 VZOUT R_NO_NOISE {ROUT}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 R_NO_NOISE 1K
|
|
RO2_2 VB_3 VB_2 R_NO_NOISE {RO2_2}
|
|
RPROT_IN_P_VCCP NET246 VCCP R_NO_NOISE 100
|
|
RPROT_IN_M_VCCP VCCP NET434 R_NO_NOISE 100
|
|
RO2_1 VB_2 VREF R_NO_NOISE {RO2_1}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS R_NO_NOISE {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS R_NO_NOISE {RD}
|
|
RIN_CM_VM VREF VM R_NO_NOISE {RIN_CM_VM}
|
|
R1_REF NET410 NET444 R_NO_NOISE 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 R_NO_NOISE 1K
|
|
RPROT_IN_M_VCCN VCCN NET448 R_NO_NOISE 15K
|
|
R2_REF NET444 NET450 R_NO_NOISE 1Meg
|
|
RPROT_IN_P_VCCN NET263 VCCN R_NO_NOISE 15K
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 100*( 1 -
|
|
+exp(-abs(V(v_Io_val))/30m )) ) }
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_IIB_VM VREF VM VALUE={5n}
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 8.026852659110722E-5
|
|
+6.646081565436386E-7 -8.637669927992474E-9
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
G_IIB_VP VREF VP VALUE={5n}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
|
|
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSB611 subckt:
|
|
*
|
|
.PARAM VCC_MIN=1.5
|
|
.PARAM RINCM=1.7748E+10
|
|
.PARAM CINCM=7.6847E-13
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RINDIFF=1.0350E+07
|
|
.PARAM CINDIFF=9.2448E-13
|
|
.PARAM RIN_DIFF={(2*RINCM*RINDIFF)/(2*RINCM - RINDIFF)}
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=4m
|
|
.PARAM Ro = 3.0575E+06
|
|
.PARAM A0_source = 75.5e6
|
|
.PARAM A0_sink = 75.5e6
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=55p
|
|
.PARAM IEE=10u
|
|
.PARAM W=7.9u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=1.9895E-04
|
|
.PARAM Lout = 5u
|
|
.PARAM Rout = 1000
|
|
.PARAM Cout = 0.1n
|
|
.PARAM Cout2 = 4p
|
|
.PARAM Zout_Iout_coeff_MIN= 1.0
|
|
.PARAM Iout_dc_tau__source = 0.1m
|
|
.PARAM Iout_dc_tau__sink = 0.1m
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2}
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
.PARAM RN=2.2e+04
|
|
|
|
.MODEL DN D AF=1 KF=3.5e-11
|
|
.MODEL R_NO_NOISE RES T_ABS=-273
|
|
.MODEL R_NOISE RES T_ABS=+27
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6 T_ABS=+27
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TSB61X
|
|
*** End of subcircuit definition.
|
|
|
|
|
|
** Standard Linear Ics Macromodels, 1993.
|
|
** CONNECTIONS :
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT TSH2X 2 1 4 5 3
|
|
*********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=7.976636E-15 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.200000E-11
|
|
CIN 1 5 1.200000E-11
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 1.083333E+00
|
|
RIN 15 16 1.083333E+00
|
|
RIS 11 15 8.942641E+00
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 2.400000E-04
|
|
CPS 11 15 10.5E-09
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 -0.200000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 1.800000E+00
|
|
FCP 4 5 VOFP 7.750000E+00
|
|
FCN 5 4 VOFN 7.750000E+00
|
|
FIBP 2 5 VOFN 5.000000E-04
|
|
FIBN 5 1 VOFP 5.000000E-04
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 6.708333E+02
|
|
FIN 5 19 VOFN 6.708333E+02
|
|
GVNEG 5 19 5 13 1.395908E-05
|
|
GVPOS 5 19 4 13 1.395908E-05
|
|
RG1 19 5 8.056996E+04
|
|
RG2 19 4 8.056996E+04
|
|
CC 19 29 1.100000E-08
|
|
HZTP 30 29 VOFP 6.545046E+01
|
|
HZTN 5 30 VOFN 6.545046E+01
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 4.054054E+03
|
|
VIPM 28 4 1.500000E+02
|
|
HONM 21 27 VOUT 4.054054E+03
|
|
VINM 5 27 1.500000E+02
|
|
RPM1 5 80 1E+06
|
|
RPM2 4 80 1E+06
|
|
GAVPH 5 82 19 80 6.00E-07
|
|
RAVPHGH 82 4 3333222
|
|
RAVPHGB 82 5 3333222
|
|
RAVPHDH 82 83 1000000
|
|
RAVPHDB 82 84 1000000
|
|
CAVPHH 4 83 0.12243E-12
|
|
CAVPHB 5 84 0.12243E-12
|
|
EOUT 26 23 82 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 2.472597E+01
|
|
COUT 3 5 1.000000E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.824860E+00
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 1.824860E+00
|
|
.ENDS TSH2X
|
|
|
|
|
|
****************************************************************************
|
|
*
|
|
* WARNING : please consider following remarks before usage
|
|
*
|
|
* 1) All models are a tradeoff between accuracy and complexity (ie. simulation
|
|
* time).
|
|
*
|
|
* 2) Macromodels are not a substitute to breadboarding, they rather confirm the
|
|
* validity of a design approach and help to select surrounding component values.
|
|
*
|
|
* 3) A macromodel emulates the NOMINAL performance of a TYPICAL device within
|
|
* SPECIFIED OPERATING CONDITIONS (ie. temperature, supply voltage, etc.).
|
|
* Thus the macromodel is often not as exhaustive as the datasheet, its goal
|
|
* is to illustrate the main parameters of the product.
|
|
*
|
|
* 4) Data issued from macromodels used outside of its specified conditions
|
|
* (Vcc, Temperature, etc) or even worse: outside of the device operating
|
|
* conditions (Vcc, Vicm, etc) are not reliable in any way.
|
|
*
|
|
****************************************************************************
|
|
****
|
|
*** TSH300 Spice macromodel subckt
|
|
***
|
|
*** May 2012
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSH300 VP VM VCCP VCCN VS
|
|
IEE VEE_N VCCN_ENHANCED DC {IEE}
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET0262 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
V_OUTVLIM_LOW NET0204 NET0196 DC {Vd_compensazione}
|
|
V_OUTVLIM_HIGH NET0234 NET0211 DC {Vd_compensazione}
|
|
VREADIO NET0375 VS DC 0
|
|
VVLIM_LOW_VB NET192 NET0201 DC -770m
|
|
VVLIM_HIGH_VB NET0223 NET203 DC -770m
|
|
VPROT_IN_P_VCCP NET196 NET229 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_enhance}
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_enhance}
|
|
VPROT_IN_M_VCCN NET208 NET360 DC {V_DPROT}
|
|
VPROT_IN_P_VCCN NET212 NET213 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET348 NET219 DC {V_DPROT}
|
|
D_OUTVLIM_HIGH NET0260 NET0234 DIODE_NOVd
|
|
DVLIM_HIGH_VB VB NET0223 DIODE_VLIM
|
|
D_OUTVLIM_LOW NET0196 NET0228 DIODE_NOVd
|
|
DPROT_IN_M_VCCP VM NET219 DIODE_VLIM
|
|
DVLIM_LOW_VB NET0201 VB DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET208 VM DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
DPROT_IN_P_VCCP NET0262 NET229 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCN NET212 NET0262 DIODE_VLIM
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
* CDIFF_PARASITIC VO_DIFF_PLUS NET0249 80.0f
|
|
CCOMP VB VB_2 {Ccomp}
|
|
E_VOS_IN NET0262 VP VALUE={-500u}
|
|
E_VOHNORL NET0260 VB_2 VALUE={0.79}
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ -384.5 -5000*I(VreadIo)}
|
|
E50 NET0211 0 VCCP 0 1.0
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 0
|
|
E51 NET0204 0 VCCN 0 1.0
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN 0
|
|
E_VOLNORL VB_2 NET0228 VALUE={0.79}
|
|
EVOUT NET0197 VREF VB_2 VREF 1.0
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0 VALUE={
|
|
+IF(V(val_vdep_source)>=0, 0, V(val_vdep_source)) }
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ 409.5 -5000*I(VreadIo)}
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
EVLIM_HIGH_VB NET203 0 VCCP 0 1.0
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0 VALUE={
|
|
+IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink)) }
|
|
EVLIM_LOW_VB NET192 0 VCCN 0 1.0
|
|
E2_REF NET362 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET356 0 1.0
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E1_REF NET326 0 VCCP 0 1.0
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VOUT_DIFF 0 1
|
|
R136 NET0375 VB_3 {Ro}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
R1 VB VREF {R1}
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RIN_DIFF VP VM {RIN_DIFF}
|
|
RO2_2 VB_3 NET0197 {Ro2_2}
|
|
RPROT_IN_P_VCCP NET196 VCCP {RPROT_VCCP}
|
|
RPROT_IN_M_VCCP VCCP NET348 {RPROT_VCCP}
|
|
RO2_1 VB_2 VREF {Ro2_1}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
R1_REF NET326 NET356 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET360 {RPROT_VCCN}
|
|
R2_REF NET356 NET362 1Meg
|
|
RPROT_IN_P_VCCN NET213 VCCN {RPROT_VCCN}
|
|
G_IIB_VP VREF VP VALUE={30u}
|
|
G_IIB_VM VREF VM VALUE={30u}
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_ICC VCCP VCCN VALUE={15m-IEE}
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high) , 0)}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSH300 subckt:
|
|
*
|
|
.PARAM VCC_MIN=1.0
|
|
.PARAM RINCM=3.6905E+05
|
|
.PARAM CINCM=1.8133E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RINDIFF=1.9031E+03
|
|
.PARAM CINDIFF=4.7125E-12
|
|
.PARAM RIN_DIFF={(2*RINCM*RINDIFF)/(2*RINCM - RINDIFF)}
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=-700m
|
|
.PARAM VCCN_enhance=+500m
|
|
.PARAM A0 = 2641.7
|
|
.PARAM Ro = 18
|
|
.PARAM Ccomp=2.1p
|
|
.PARAM IEE=1m
|
|
.PARAM W=6.5u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos= 1.8044E-02
|
|
.PARAM GB=10m
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1=1e5
|
|
.PARAM R1={A0/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM RPROT_VCCP=100
|
|
.PARAM RPROT_VCCN=15k
|
|
.PARAM Vd_compensazione= -62e-3
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-4
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=0.8E-15 N=0.1
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TSH300
|
|
*** End of subcircuit definition.
|
|
|
|
|
|
|
|
|
|
**CONNECTIONS:
|
|
*2 NON INVERTING INPUT
|
|
*1 INVERTING INPUT
|
|
*4 POSITIVE POWER SUPPLY
|
|
*5 NEGATIVE POWER SUPPLY
|
|
*3 OUTPUT
|
|
.SUBCKT TSH70 2 1 4 5 3
|
|
******************************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=2.664234E-16 CJO=10F
|
|
*INPUT STAGE
|
|
CIP 2 5 0.2E-12
|
|
CIN 1 5 0.2E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 7
|
|
RIN 15 16 7
|
|
RIS 11 15 400
|
|
DIP 11 120 MDTH 400E-12
|
|
DIN 15 140 MDTH 400E-12
|
|
VOFP 12 13 DC 100e-3
|
|
VOFN 13 14 DC 0
|
|
RDGP 120 12 312
|
|
RDGN 140 14 312
|
|
CDG 120 140 2P
|
|
IPOL 13 5 780e-6
|
|
CPS 11 15 0.3E-9
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 0.25
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 2
|
|
FCP 4 5 VOFP 9
|
|
FCN 5 4 VOFN 9
|
|
FIBP 2 5 VOFP 15e-3
|
|
FIBN 5 1 VOFN 15e-3
|
|
**GM1 STAGE ******************************
|
|
FGM1P 119 5 VOFP 1
|
|
FG1N 119 5 VOFN 0.5
|
|
RAP 119 4 4.93E5
|
|
RAN 119 5 5E5
|
|
**GM2 STAGE ******************************
|
|
G2P 19 5 119 5 161E-3
|
|
G2N 19 5 119 4 161E-3
|
|
R2P 19 4 2.5E7
|
|
R2N 19 5 2.5E7
|
|
******************************************
|
|
VINT1 500 0 3
|
|
GCONVP 500 501 119 4 19.38
|
|
VP 501 0 0
|
|
GCONVN 500 502 119 5 19.38
|
|
VN 502 0 0
|
|
*****************************************
|
|
** ORIENTATION ISINK ISOURCE
|
|
VINT2 503 0 3
|
|
FCOPY 503 504 VOUT 1
|
|
DCOPYP 504 505 MDTH 400E-9
|
|
VCOPYP 505 0 0
|
|
DCOPYN 506 504 MDTH 400E-9
|
|
VCOPYN 0 506 0
|
|
******************************************
|
|
F2PP 19 5 POLY(2) VCOPYP VP 0 0 0 0 0.5
|
|
F2PN 19 5 POLY(2) VCOPYP VN 0 0 0 0 0.5
|
|
F2NP 19 5 POLY(2) VCOPYN VP 0 0 0 0 1.75
|
|
F2NN 19 5 POLY(2) VCOPYN VN 0 0 0 0 1.75
|
|
***COMPENSATION**************************
|
|
CC 19 119 4.5P
|
|
******************************************
|
|
****OUTPUT********************************
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 9.36E+03
|
|
VIPM 28 4 500
|
|
HONM 21 27 VOUT 9.90E+03
|
|
VINM 5 27 500
|
|
VOUT 3 23 0
|
|
ROUT 23 19 10
|
|
COUT 3 5 15E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.35
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 1.2
|
|
.ENDS TSH70
|
|
|
|
|
|
*
|
|
***********************************************************************************
|
|
|
|
****
|
|
*** TSU10X Spice macromodel subckt
|
|
***
|
|
*** January 2014
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSU10X VP VM VCCP VCCN VS
|
|
LOUT VZOUT 0 {LOUT}
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET0283 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
V57 NET0242 NET0244 DC {VD_COMPENSAZIONE}
|
|
VREADI_R1 VB NET386 DC 0
|
|
V56 NET0280 NET0254 DC {VD_COMPENSAZIONE}
|
|
VOS NET0283 VP DC 0
|
|
VPROT_IN_P_VCCP NET246 NET279 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_ENHANCE}
|
|
VREADIO NET0333 VS DC 0
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_ENHANCE}
|
|
V_OUTVLIM_LOW NET256 NET257 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_M_VCCN NET258 NET448 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET285 NET0269 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_P_VCCN NET262 NET263 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET434 NET269 DC {V_DPROT}
|
|
D29 NET0244 VB DIODE_NOVd
|
|
D28 VB NET0280 DIODE_NOVd
|
|
DPROT_IN_M_VCCP VM NET269 DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET258 VM DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D_OUTVLIM_LOW NET257 VB_3 DIODE_NOVd
|
|
DPROT_IN_P_VCCP NET0283 NET279 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCN NET262 NET0283 DIODE_VLIM
|
|
D_OUTVLIM_HIGH VB_3 NET285 DIODE_NOVd
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
COUT2 VZOUT 0 {COUT2}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
C_RO2_1 VB_2 VREF 5.5n
|
|
COUT NET427 0 {COUT}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 1.6n
|
|
CCOMP VB VB_2 {CCOMP}
|
|
E60 NET0242 0 VALUE={V(Vref) - alpha_desat_time*V(Vccp,Vccn) }
|
|
E62 NET0254 0 VALUE={V(Vref) + alpha_desat_time*V(Vccp,Vccn) }
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 2.4452232443133237
|
|
+-0.7284517798598779 0.09458182903955471 0.0033110316198540933
|
|
+-9.302224375753015E-4
|
|
EZOUT_IOUT_COEFF NET310 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
EZOUT VB_3 NET0333
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.6419117647058812 + 0.20948529411764844*V(Vccp,Vccn)
|
|
+-0.04187091503268018*PWR(V(Vccp,Vccn),2) +
|
|
+0.00285947712418305*PWR(V(Vccp,Vccn),3) )}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 VALUE={0}
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 138.93382352941174
|
|
+-46.45833333333335 4.5343137254901995
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 VALUE={0}
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 138.93382352941174
|
|
+-46.45833333333335 4.5343137254901995
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -86.58455882352956 +
|
|
+97.40604575163408*V(Vccp,Vccn) -23.199210239651446*PWR(V(Vccp,Vccn),2) +
|
|
+1.8722766884531628*PWR(V(Vccp,Vccn),3) ) -5000*I(VreadIo)}
|
|
EVLIM_HIGH_VOUT NET0269 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo) -
|
|
+V(VOH_noRL)}
|
|
EVLIM_LOW_VOUT NET256 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo) +
|
|
+V(VOL_noRL) }
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E_R1 NET386 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
E2_REF NET450 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET444 0 1.0
|
|
E_VOL_NORL VOL_NORL 0 VALUE={23m}
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E1_REF NET410 0 VCCP 0 1.0
|
|
E64 VOH_NORL 0 VALUE={21m}
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( 36.42830882352956
|
|
+-52.822712418300775*V(Vccp,Vccn) + 12.348515795207005*PWR(V(Vccp,Vccn),2)
|
|
+-1.004221132897607*PWR(V(Vccp,Vccn),3) ) -5000*I(VreadIo)}
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET310 50
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RIN_DIFF VP VM {RIN_DIFF}
|
|
ROUT NET427 VZOUT {ROUT}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RO2_2 VB_3 VB_2 {RO2_2}
|
|
RPROT_IN_P_VCCP NET246 VCCP 100
|
|
RPROT_IN_M_VCCP VCCP NET434 100
|
|
RO2_1 VB_2 VREF {RO2_1}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
R1_REF NET410 NET444 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET448 15K
|
|
R2_REF NET444 NET450 1Meg
|
|
RPROT_IN_P_VCCN NET263 VCCN 15K
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 150*( 1 -
|
|
+exp(-abs(V(v_Io_val))/1m )) ) }
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_IIB_VM VREF VM VALUE={1p}
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 4.97610294117647E-7
|
|
+9.04166666666661E-9 1.88725490196079E-9
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
G_IIB_VP VREF VP VALUE={1p}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSU10X subckt:
|
|
*
|
|
.PARAM VCC_MIN=1.5
|
|
.PARAM RINCM=6.2904E+13
|
|
.PARAM CINCM=1.7912E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RINDIFF=1.0594E+14
|
|
.PARAM CINDIFF=1.0636E-12
|
|
.PARAM RIN_DIFF={(2*RINCM*RINDIFF)/(2*RINCM - RINDIFF)}
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=1.58m
|
|
.PARAM Ro = 44668360
|
|
.PARAM A0_source = 3e+8
|
|
.PARAM A0_sink = 3e+8
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=20p
|
|
.PARAM IEE=60n
|
|
.PARAM W=0.043u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=1.1369E-06
|
|
.PARAM Lout = 800000u
|
|
.PARAM Rout = 55000
|
|
.PARAM Cout = 3n
|
|
.PARAM Cout2 = 1p
|
|
.PARAM Zout_Iout_coeff_MIN= 0.8
|
|
.PARAM Iout_dc_tau__source = 0.03m
|
|
.PARAM Iout_dc_tau__sink = 0.03m
|
|
.PARAM alpha_desat_time = 0.018
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2}
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TSU10X
|
|
*** End of subcircuit definition.
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TSU111 Spice macromodel subckt
|
|
***
|
|
*** February 2017
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSU11X VP VM VCCP VCCN VS
|
|
LOUT VZOUT 0 {LOUT}
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET0283 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
VD_DN1 NET0247 0 DC 100.0m
|
|
V57 NET0242 NET0244 DC {VD_COMPENSAZIONE}
|
|
VREADI_R1 VB NET386 DC 0
|
|
V56 NET0280 NET0254 DC {VD_COMPENSAZIONE}
|
|
VOS NET0283 NET0319 DC 0
|
|
VPROT_IN_P_VCCP NET246 NET279 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_ENHANCE}
|
|
VREADIO NET0347 VS DC 0
|
|
VD_DN2 NET0249 0 DC 100.0m
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_ENHANCE}
|
|
V_OUTVLIM_LOW NET256 NET257 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_M_VCCN NET258 NET448 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET285 NET261 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_P_VCCN NET262 NET263 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET434 NET269 DC {V_DPROT}
|
|
D29 NET0244 VB DIODE_NOVd
|
|
D28 VB NET0280 DIODE_NOVd
|
|
DN2 NET0249 VN_MINUS DN
|
|
DN1 NET0247 VN_PLUS DN
|
|
DPROT_IN_M_VCCP VM NET269 DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET258 VM DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D_OUTVLIM_LOW NET257 VB_3 DIODE_NOVd
|
|
DPROT_IN_P_VCCP NET0283 NET279 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCN NET262 NET0283 DIODE_VLIM
|
|
D_OUTVLIM_HIGH VB_3 NET285 DIODE_NOVd
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
COUT2 VZOUT 0 {COUT2}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
C_RO2_1 VB_2 VREF 50p
|
|
COUT NET427 0 {COUT}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 10p
|
|
CCOMP VB VB_2 {CCOMP}
|
|
E60 NET0242 0 VALUE={V(Vref) - V(alpha_desat_time)*V(Vccp,Vccn) }
|
|
E62 NET0254 0 VALUE={V(Vref) + V(alpha_desat_time)*V(Vccp,Vccn) }
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 1.2658088235294107
|
|
+-0.04458333333333293 -0.0017156862745098572
|
|
EZOUT_IOUT_COEFF NET310 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
EZOUT VB_3 NET0347
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.9014705882352939 + 0.005*V(Vccp,Vccn) +
|
|
+0.002941176470588252*V(Vccp,Vccn)*V(Vccp,Vccn) )}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 VALUE={0}
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 212.9533485691581
|
|
+-96.73115244255024 16.80642072553862 -0.9756648359589774
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 VALUE={0}
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
E58 VB_2_VREF 0 VB_2 VREF 1.0
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
EN NET0319 VP VN_PLUS VN_MINUS 1.0
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 229.97366852146342
|
|
+-86.90353555427167 12.559437780026279 -0.5555354820060953
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -25.55514705882354 +
|
|
+13.229166666666698*V(Vccp,Vccn) + 6.556372549019601*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
EVLIM_HIGH_VOUT NET261 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
EVLIM_LOW_VOUT NET256 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo) +
|
|
+V(VOL_noRL) }
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
E64 ALPHA_DESAT_TIME 0 VALUE={0.5}
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E_R1 NET386 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
E2_REF NET450 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET444 0 1.0
|
|
E_VOL_NORL VOL_NORL 0 VALUE={0}
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E1_REF NET410 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( 57.1176470588236
|
|
+-39.16666666666674*V(Vccp,Vccn) -3.431372549019596*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
RN1 VN_PLUS 0 R_NOISE {RN}
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET310 R_NO_NOISE 50
|
|
RIN_CM_VP VREF VP R_NO_NOISE {RIN_CM_VP}
|
|
RIN_DIFF VP VM R_NO_NOISE {RIN_DIFF}
|
|
ROUT NET427 VZOUT R_NO_NOISE {ROUT}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 R_NO_NOISE 1K
|
|
RO2_2 VB_3 VB_2 R_NO_NOISE {RO2_2}
|
|
RPROT_IN_P_VCCP NET246 VCCP R_NO_NOISE 10
|
|
RPROT_IN_M_VCCP VCCP NET434 R_NO_NOISE 10
|
|
RO2_1 VB_2 VREF R_NO_NOISE {RO2_1}
|
|
RN2 VN_MINUS 0 R_NOISE {RN}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS R_NO_NOISE {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS R_NO_NOISE {RD}
|
|
RIN_CM_VM VREF VM R_NO_NOISE {RIN_CM_VM}
|
|
R1_REF NET410 NET444 R_NO_NOISE 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 R_NO_NOISE 1K
|
|
RPROT_IN_M_VCCN VCCN NET448 R_NO_NOISE 10
|
|
R2_REF NET444 NET450 R_NO_NOISE 1Meg
|
|
RPROT_IN_P_VCCN NET263 VCCN R_NO_NOISE 10
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 600*( 1 -
|
|
+exp(-abs(V(v_Io_val))/2m )) ) }
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_IIB_VM VREF VM VALUE={1p}
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 7.937347689075635E-7
|
|
+6.857097338935517E-8 -2.7548319327730896E-8 3.616946778711464E-9
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
G_IIB_VP VREF VP VALUE={1p}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSU111 subckt:
|
|
*
|
|
.PARAM VCC_MIN=1.5
|
|
.PARAM RINCM=2.5297E+11
|
|
.PARAM CINCM=4.6890E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RINDIFF=4.6523E+10
|
|
.PARAM CINDIFF=2.5185E-12
|
|
.PARAM RIN_DIFF={(2*RINCM*RINDIFF)/(2*RINCM - RINDIFF)}
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=3.126e-5
|
|
.PARAM Ro = 100E+06
|
|
.PARAM A0_source = 10e+8
|
|
.PARAM A0_sink = 10e+8
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=18p
|
|
.PARAM IEE=50n
|
|
.PARAM W=0.072u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=1.3435E-06
|
|
.PARAM Lout = 6000000u
|
|
.PARAM Rout = 80000
|
|
.PARAM Cout = 6n
|
|
.PARAM Cout2 = 0.4p
|
|
.PARAM Zout_Iout_coeff_MIN= 0.01
|
|
.PARAM Iout_dc_tau__source = 0.01m
|
|
.PARAM Iout_dc_tau__sink = 0.01m
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2}
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
.PARAM RN=0.556e+06
|
|
.MODEL DN D AF=1 KF=0
|
|
|
|
|
|
.MODEL R_NO_NOISE RES T_ABS=-273
|
|
.MODEL R_NOISE RES T_ABS=+27
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6 T_ABS=+27
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TSU11X
|
|
*** End of subcircuit definition.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TSV3XX Spice macromodel subckt
|
|
***
|
|
*** Version 2.0 (March 2011)
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSV3XX VP VM VCCP VCCN VS
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET0262 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
V_OUTVLIM_LOW NET0204 NET0196 DC {Vd_compensazione}
|
|
V_OUTVLIM_HIGH NET0234 NET0211 DC {Vd_compensazione}
|
|
VREADIO NET0191 VS DC 0
|
|
VVLIM_LOW_VB NET192 NET193 DC {Vd_compensazione}
|
|
VOS NET0262 VP DC 0
|
|
VPROT_IN_P_VCCP NET196 NET229 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_enhance}
|
|
VVLIM_HIGH_VB NET217 NET203 DC {Vd_compensazione}
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_enhance}
|
|
VPROT_IN_M_VCCN NET208 NET360 DC {V_DPROT}
|
|
VPROT_IN_P_VCCN NET212 NET213 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET348 NET219 DC {V_DPROT}
|
|
D_OUTVLIM_HIGH NET0279 NET0234 DIODE_NOVd
|
|
D_OUTVLIM_LOW NET0196 NET0238 DIODE_NOVd
|
|
DVLIM_HIGH_VB VB NET217 DIODE_NOVd
|
|
DPROT_IN_M_VCCP VM NET219 DIODE_VLIM
|
|
DVLIM_LOW_VB NET193 VB DIODE_NOVd
|
|
DPROT_IN_M_VCCN NET208 VM DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
DPROT_IN_P_VCCP NET0262 NET229 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCN NET212 NET0262 DIODE_VLIM
|
|
C_RO2_1 VB_2 VREF 140p
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 12p
|
|
CCOMP VB VB_2 {Ccomp}
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={IF( V(Vccp,Vccn)<=3.0 , (
|
|
+-212 -62.5*V(Vccp,Vccn) ) -5000*I(VreadIo) , ( -399.5 )
|
|
+-5000*I(VreadIo) )}
|
|
E_RO1 VB_3 NET0191 VALUE={IF(I(VreadIo)>0,
|
|
+V(Ro1_Voh)*I(VreadIo),V(Ro1_Vol)*I(VreadIo))}
|
|
|
|
*Eldo:
|
|
* E_VOHNORL NET0279 VB_3 PWL(1) VCCP VCCN ( 1.8 , 24m ) ( 3.0 , 26m ) (
|
|
*+5.0 , 37m )
|
|
* E_RO1_VOH RO1_VOH 0 PWL(1) VCCP VCCN ( 1.8 , 20 ) ( 3.0 , 18 ) ( 5.0 ,
|
|
*+12 )
|
|
* E_VOLNORL VB_3 NET0238 PWL(1) VCCP VCCN ( 1.8 , 24m ) ( 3.0 , 32m ) (
|
|
*+5.0 , 42m )
|
|
* E_RO1_VOL RO1_VOL 0 PWL(1) VCCP VCCN ( 1.8 , 15 ) ( 3.0 , 11 ) ( 5.0 ,
|
|
*+7 )
|
|
*PSpice:
|
|
* E_VOHNORL NET0279 VB_3 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 24m , 3.0 , 26m ,
|
|
*+5.0 , 37m )}
|
|
* E_RO1_VOH RO1_VOH 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 20 , 3.0 , 18 , 5.0 ,
|
|
*+12 )}
|
|
* E_VOLNORL VB_3 NET0238 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 24m , 3.0 , 32m ,
|
|
*+5.0 , 42m )}
|
|
* E_RO1_VOL RO1_VOL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 15 , 3.0 , 11 , 5.0 ,
|
|
*+7 )}
|
|
E_VOHNORL NET0279 VB_3 POLY(1) VCCP VCCN 0.02746875
|
|
+-0.00408333333333334 0.0011979166666666674
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 20.75 0.3333333333333298
|
|
+-0.41666666666666624
|
|
E_VOLNORL VB_3 NET0238 POLY(1) VCCP VCCN 0.0091875
|
|
+0.009166666666666663 -5.208333333333329E-4
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 23.25 -5.333333333333335
|
|
+0.41666666666666685
|
|
|
|
E50 NET0211 0 VCCP 0 1.0
|
|
E64 IO_VAL 0 VALUE={I(VreadIo)}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN -8.65625E-5
|
|
+2.533333333333334E-4 -2.7604166666666666E-5
|
|
E51 NET0204 0 VCCN 0 1.0
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN 0
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0 VALUE={
|
|
+IF(V(val_vdep_source)>=0, 0, V(val_vdep_source)) }
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={IF( V(Vccp,Vccn)<=3.0 , (
|
|
++212 +62.5*V(Vccp,Vccn) ) -5000*I(VreadIo) , ( +399.5 )
|
|
+-5000*I(VreadIo) )}
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
EVLIM_HIGH_VB NET203 0 VCCP 0 1.0
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0 VALUE={
|
|
+IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink)) }
|
|
EVLIM_LOW_VB NET192 0 VCCN 0 1.0
|
|
E2_REF NET362 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET356 0 1.0
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 2.93875E-4 6.666666666666659E-5
|
|
+-5.208333333333321E-6
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E1_REF NET326 0 VCCP 0 1.0
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*( 0.796875
|
|
++ 0.06666666666666655*V(Vccp,Vccn) -0.005208333333333318*PWR(V(Vccp,Vccn),2)
|
|
+)}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
R1 VB VREF {R1}
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RIN_DIFF VP VM {RIN_DIFF}
|
|
RO2_2 VB_3 VB_2 {Ro2_2}
|
|
RPROT_IN_P_VCCP NET196 VCCP {RPROT_VCCP}
|
|
RPROT_IN_M_VCCP VCCP NET348 {RPROT_VCCP}
|
|
RO2_1 VB_2 VREF {Ro2_1}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
R1_REF NET326 NET356 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET360 {RPROT_VCCN}
|
|
R2_REF NET356 NET362 1Meg
|
|
RPROT_IN_P_VCCN NET213 VCCN {RPROT_VCCN}
|
|
|
|
*Eldo:
|
|
* G_IIB_VP VREF VP TABLE {V(Vccp,Vccn)} = (+1.8 40n) (+3.0 40n) (+5.0
|
|
*+70n)
|
|
* G_IIB_VM VREF VM TABLE {V(Vccp,Vccn)} = (+1.8 40n) (+3.0 40n) (+5.0
|
|
*+70n)
|
|
*PSpice:
|
|
* G_IIB_VP VREF VP VALUE={TABLE(V(Vccp,Vccn), +1.8 , 40n , +3.0 , 40n , +5.0 ,
|
|
*+70n)}
|
|
* G_IIB_VM VREF VM VALUE={TABLE(V(Vccp,Vccn), +1.8 , 40n , +3.0 , 40n , +5.0 ,
|
|
*+70n)}
|
|
G_IIB_VP VREF VP POLY(1) VCCP VCCN 2.78125E-8 5.833333333333326E-9
|
|
+5.208333333333348E-10
|
|
G_IIB_VM VREF VM POLY(1) VCCP VCCN 2.78125E-8 5.833333333333326E-9
|
|
+5.208333333333348E-10
|
|
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
|
|
*Eldo:
|
|
* G_I_VB VB_2 VREF TABLE {V(VB,Vref)} = (-2.7 {-2.7*GB*5}) (-2.0
|
|
*+{-2.0*GB*4}) (-1.5 {-1.5*GB*3}) (-0.85 {-0.85*GB*2}) (-0.8 {-0.8*GB*1.0})
|
|
*+(-0.15 {-0.15*GB*1}) (-0.050 {-0.050*GB*1}) (-0.015 {-0.015*GB*1})
|
|
*+(-0.0001 {-0.0001*GB*1}) (0 0) (+0.0001 {0.0001*GB*1}) (+0.015
|
|
*+{+0.015*GB*1}) (+0.050 {+0.050*GB*1}) (+0.15 {+0.15*GB*1}) (+0.8
|
|
*+{0.8*GB*1.0}) (+0.85 {0.85*GB*2}) (+1.5 {1.5*GB*3}) (+2.0 {2.0*GB*4})
|
|
*+(+2.7 {2.7*GB*5})
|
|
*PSpice:
|
|
* G_I_VB VB_2 VREF VALUE={ TABLE( V(VB_Vref) , -2.7 , -2.7*GB*5 , -2.0 ,
|
|
*+ -2.0*GB*4 , -1.5 , -1.5*GB*3 , -0.85 , -0.85*GB*2 , -0.8 , -0.8*GB*1.0 ,
|
|
*+ -0.15 , -0.15*GB*1 , -0.050 , -0.050*GB*1 , -0.015 , -0.015*GB*1 ,
|
|
*+ -0.0001 , -0.0001*GB*1 , 0 , 0 , +0.0001 , +0.0001*GB*1 , +0.015 ,
|
|
*+ +0.015*GB*1 , +0.050 , +0.050*GB*1 , +0.15 , +0.15*GB*1 , +0.8 ,
|
|
*+ +0.8*GB*1.0 , +0.85 , +0.85*GB*2 , +1.5 , +1.5*GB*3 , +2.0 , +2.0*GB*4 ,
|
|
*+ +2.7 ,+2.7*GB*5) }
|
|
G_I_VB VB_2 VREF POLY(1) VB_VREF 0 -9.856565891257244E-19
|
|
+0.005261002312869361 -1.07732629780586E-18 0.006364309660287821
|
|
+1.4051854670098035E-19 -4.0785392718052795E-4
|
|
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
IEE VEE_N VCCN_ENHANCED {IEE}
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high) , 0)}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
G_I_IO VB_2 VREF VALUE={IF(abs(V(Io_val))<50m , V(VB_Vref)*GB*(
|
|
+abs(V(Io_val))/3m ) , V(VB_Vref)*GB*( 50m/3m ) )}
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TS187x subckt:
|
|
*
|
|
.PARAM RINCM=6.4777e+7
|
|
.PARAM CINCM=1.4646e-11
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RINDIFF=2.3412e+5
|
|
.PARAM CINDIFF=9.2768e-12
|
|
.PARAM RIN_DIFF={(2*RINCM*RINDIFF)/(2*RINCM - RINDIFF)}
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM A0 = 6.8366e+5
|
|
.PARAM Ro = 2.5282e+4
|
|
.PARAM Ccomp=4.85p
|
|
.PARAM IEE=3u
|
|
.PARAM W=2.1u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=5.617737386835048e-05
|
|
.PARAM GB=6m
|
|
.PARAM Ro1=15
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={Ro - Ro2_2 - Ro1}
|
|
.PARAM R1={A0/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM RPROT_VCCP=100
|
|
.PARAM RPROT_VCCN=15k
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
*Eldo:
|
|
*.MODEL MOS_N NMOS LEVEL=1 MODTYPE=ELDO VTO=+0.65 KP=500E-6
|
|
*.MODEL DIODE_NOVd D LEVEL=1 MODTYPE=ELDO IS=10E-15 N=0.001
|
|
*.MODEL DIODE_VLIM D LEVEL=1 MODTYPE=ELDO IS=0.8E-15
|
|
*.MODEL DIODE_ILIM D LEVEL=1 MODTYPE=ELDO IS=0.8E-15
|
|
*.MODEL DX D LEVEL=1 MODTYPE=ELDO IS=1E-14
|
|
*PSpice:
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DX D LEVEL=1 IS=1E-14
|
|
*******************************************************************************
|
|
|
|
.ENDS TSV3XX
|
|
|
|
|
|
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TSV521 Spice macromodel subckt
|
|
***
|
|
*** April 2012
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSV52X VP VM VCCP VCCN VS
|
|
LOUT VZOUT 0 {Lout}
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET194 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
VREADI_R1 VB NET0258 DC 0
|
|
VVLIM_LOW_VB NET192 NET193 DC -770m
|
|
VOS NET194 VP DC 0
|
|
VPROT_IN_P_VCCP NET196 NET229 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_enhance}
|
|
VREADIO NET0329 VS DC 0
|
|
VVLIM_HIGH_VB NET217 NET203 DC -770m
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_enhance}
|
|
V_OUTVLIM_LOW NET206 NET207 DC {Vd_compensazione}
|
|
VPROT_IN_M_VCCN NET208 NET360 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET235 NET211 DC {Vd_compensazione}
|
|
VPROT_IN_P_VCCN NET212 NET213 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET348 NET219 DC {V_DPROT}
|
|
DVLIM_HIGH_VB VB NET217 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET219 DIODE_VLIM
|
|
DVLIM_LOW_VB NET193 VB DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET208 VM DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D_OUTVLIM_LOW NET207 VB_3 DIODE_NOVd
|
|
DPROT_IN_P_VCCP NET194 NET229 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCN NET212 NET194 DIODE_VLIM
|
|
D_OUTVLIM_HIGH VB_3 NET235 DIODE_NOVd
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
COUT2 VZOUT 0 {Cout2}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
* C_RO2_1 NET0299 VREF 5p
|
|
COUT NET0410 0 {Cout}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 22p
|
|
CCOMP VB VB_2 {Ccomp}
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 2.507728337236533
|
|
+-0.3021077283372364
|
|
EZOUT_IOUT_COEFF NET0295 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
EZOUT VB_3 NET0329
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.9398976982097182 -0.09454390451832913*V(Vccp,Vccn) +
|
|
+0.02131287297527709*PWR(V(Vccp,Vccn),2) )}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 0
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 61.355498721227576
|
|
+-8.959931798806466 0.9377664109121895
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN 0
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
E58 VB_2_VREF 0 VB_2 VREF 1.0
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 174.5588235294119
|
|
+-48.97058823529426 4.411764705882373
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -84.51534526854252 +
|
|
+55.81841432225082*V(Vccp,Vccn) + 3.1969309462915385*PWR(V(Vccp,Vccn),2) )
|
|
+ -5000*I(VreadIo)}
|
|
EVLIM_HIGH_VOUT NET211 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
EVLIM_LOW_VOUT NET206 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo) +
|
|
+V(VOL_noRL) }
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
EVLIM_HIGH_VB NET203 0 VCCP 0 1.0
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E_R1 NET0258 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
EVLIM_LOW_VB NET192 0 VCCN 0 1.0
|
|
E2_REF NET362 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET356 0 1.0
|
|
E_VOL_NORL VOL_NORL 0 VALUE={0}
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E1_REF NET326 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( 110.09079283887515
|
|
+-86.50895140664989*V(Vccp,Vccn) + 1.9181585677749706*PWR(V(Vccp,Vccn),2)
|
|
+) -5000*I(VreadIo)}
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET0295 50
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RIN_DIFF VP VM {RIN_DIFF}
|
|
ROUT NET0410 VZOUT {Rout}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RO2_2 VB_3 VB_2 {Ro2_2}
|
|
RPROT_IN_P_VCCP NET196 VCCP 100
|
|
RPROT_IN_M_VCCP VCCP NET348 100
|
|
RO2_1 VB_2 VREF {Ro2_1}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
R1_REF NET326 NET356 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET360 15K
|
|
R2_REF NET356 NET362 1Meg
|
|
RPROT_IN_P_VCCN NET213 VCCN 15K
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 50*( 1 -
|
|
+exp(-abs(V(v_Io_val))/1.5m )) ) }
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_IIB_VM VREF VM VALUE={1p}
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 1.4491841432225065E-5
|
|
+7.301790281329922E-6 -3.836317135549871E-7
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
G_IIB_VP VREF VP VALUE={1p}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSV521 subckt:
|
|
*
|
|
.PARAM VCC_MIN=1.0
|
|
.PARAM RINCM=2.0827E+11
|
|
.PARAM CINCM=1.7878E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RIN_DIFF=1T
|
|
.PARAM CIN_DIFF=1f
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=2.138m
|
|
.PARAM Ro = 339625
|
|
.PARAM A0_source = 1479108
|
|
.PARAM A0_sink = 1479108
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=4p
|
|
.PARAM IEE=3.59u
|
|
.PARAM W=0.515u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=3.0417E-05
|
|
.PARAM Lout = 20u
|
|
.PARAM Rout = 1200
|
|
.PARAM Cout = 0.2n
|
|
.PARAM Cout2 = 2p
|
|
.PARAM Zout_Iout_coeff_MIN= 0.04
|
|
.PARAM Iout_dc_tau__source = 0.6m
|
|
.PARAM Iout_dc_tau__sink = 0.1m
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2}
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TSV52X
|
|
|
|
|
|
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TSV61x Spice macromodel subckt
|
|
***
|
|
*** Version 3.0 (March 2011)
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSV61X VP VM VCCP VCCN VS
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
LOUT VZOUT 0 {Lout}
|
|
G_IIB_VM VREF VM VALUE={1p}
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 10*( 1 -
|
|
+exp(-abs(V(v_Io_val))/3m )) ) }
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 8.423161764705879E-6
|
|
+-7.29166666666657E-8 7.965686274509793E-8
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
G_IIB_VP VREF VP VALUE={1p}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
ROUT NET0249 VZOUT {Rout}
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET0286 50
|
|
RIN_DIFF VP VM 1T
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
RO2_1 VB_2 VREF {Ro2_1}
|
|
RPROT_IN_P_VCCP NET403 VCCP 100
|
|
RPROT_IN_M_VCCP VCCP NET241 100
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
R1_REF NET271 NET235 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
R2_REF NET235 NET229 1Meg
|
|
RPROT_IN_M_VCCN VCCN NET231 15K
|
|
RPROT_IN_P_VCCN NET388 VCCN 15K
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RO2_2 VB_3 VB_2 {Ro2_2}
|
|
EVLIM_HIGH_VOUT NET390 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 0
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
EVLIM_LOW_VOUT NET393 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo) +
|
|
+V(VOLnoRL)}
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
E2_REF NET229 0 VCCN 0 1.0
|
|
EVLIM_LOW_VB NET407 0 VCCN 0 1.0
|
|
|
|
*E_RO1_VOL RO1_VOL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 45 , 3.3 , 25 , 5.0 ,
|
|
*+24 )}
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 92.65808823529412
|
|
+-33.64583333333336 3.9828431372549056
|
|
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -155.26102941176467 +
|
|
+124.8958333333334*V(Vccp,Vccn) -6.188725490196091*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
EZOUT VB_3 NET0213
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( 302.61248012718784
|
|
+-270.8887965505632*V(Vccp,Vccn) + 40.840439369851765*PWR(V(Vccp,Vccn),2)
|
|
+-2.0294358529653245*PWR(V(Vccp,Vccn),3) ) -5000*I(VreadIo)}
|
|
EVLIM_HIGH_VB NET398 0 VCCP 0 1.0
|
|
E1_REF NET271 0 VCCP 0 1.0
|
|
E_R1 NET295 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
|
|
*E_VOLNORL VOLNORL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 3m , 3.3 , 6m , 5.0 ,
|
|
*+10m )}
|
|
E_VOLNORL VOLNORL 0 POLY(1) VCCP VCCN 5.5147058823525646E-5 0.0014375
|
|
+1.102941176470584E-4
|
|
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E_VREF VREF 0 NET235 0 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
|
|
*E_RO1_VOH RO1_VOH 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 53 , 3.3 , 33 , 5.0 ,
|
|
*+27 )}
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 95.19852941176471
|
|
+-28.958333333333357 3.0637254901960818
|
|
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
|
|
*EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 1.3 , 3.3
|
|
*+, 1.2 , 5.0 , 1.0 )}
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 1.3253676470588234
|
|
+0.014583333333333308 -0.015931372549019603
|
|
|
|
EZOUT_IOUT_COEFF NET0286 0 VALUE={( Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau)) )}
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN -3.8158972691807494E-5
|
|
+3.732444733420025E-5
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*( +
|
|
+0.7536764705882353 + 0.012499999999999935*V(Vccp,Vccn) +
|
|
+0.007352941176470591*PWR(V(Vccp,Vccn),2) )}
|
|
COUT2 VZOUT 0 {Cout2}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
CCOMP VB VB_2 {Ccomp}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 130p
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
C_RO2_1 VB_2 VREF 35n
|
|
COUT NET0249 0 {Cout}
|
|
DVLIM_HIGH_VB VB NET382 DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D_OUTVLIM_HIGH VB_3 NET364 DIODE_NOVd
|
|
DPROT_IN_P_VCCN NET387 NET405 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET380 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCP NET405 NET370 DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET391 VM DIODE_VLIM
|
|
DVLIM_LOW_VB NET408 VB DIODE_VLIM
|
|
D_OUTVLIM_LOW NET394 VB_3 DIODE_NOVd
|
|
VVLIM_HIGH_VB NET382 NET398 DC -770m
|
|
VPROT_IN_P_VCCN NET387 NET388 DC {V_DPROT}
|
|
VREADI_R1 VB NET295 DC 0
|
|
VPROT_IN_P_VCCP NET403 NET370 DC {V_DPROT}
|
|
VOS NET405 VP DC 0
|
|
V_OUTVLIM_HIGH NET364 NET390 DC {Vd_compensazione}
|
|
VPROT_IN_M_VCCP NET241 NET380 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_enhance}
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_enhance}
|
|
VREADIO NET0213 VS DC 0
|
|
VPROT_IN_M_VCCN NET391 NET231 DC {V_DPROT}
|
|
VVLIM_LOW_VB NET407 NET408 DC -770m
|
|
V_OUTVLIM_LOW NET393 NET394 DC {Vd_compensazione}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET405 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSV61x subckt:
|
|
*
|
|
.PARAM RINCM=2.0828E+11
|
|
.PARAM CINCM=6.3492E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM CINDIFF=3.2785E-12
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=62.16m
|
|
.PARAM Ro = 794328
|
|
.PARAM A0_source = 158489319
|
|
.PARAM A0_sink = 1.3e+6
|
|
.PARAM Lout = 1.8m
|
|
.PARAM Rout = 5600
|
|
.PARAM Cout = 333p
|
|
.PARAM Cout2 = 3.5p
|
|
.PARAM Zout_Iout_coeff_MIN= 0.01
|
|
.PARAM Iout_dc_tau = 0.05m
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=11p
|
|
.PARAM IEE=0.45u
|
|
.PARAM W=0.31u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=8.359416242253981e-06
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2 }
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS
|
|
|
|
|
|
|
|
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TSV619x Spice macromodel subckt
|
|
***
|
|
*** June 2011
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSV619X VP VM VCCP VCCN VS
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
LOUT VZOUT 0 {Lout}
|
|
G_IIB_VM VREF VM VALUE={1p}
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 10*( 1 -
|
|
+exp(-abs(V(v_Io_val))/3m )) ) }
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 8.423161764705879E-6
|
|
+-7.29166666666657E-8 7.965686274509793E-8
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
G_IIB_VP VREF VP VALUE={1p}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
ROUT NET0249 VZOUT {Rout}
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET0286 50
|
|
RIN_DIFF VP VM {RIN_DIFF}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
RO2_1 VB_2 VREF {Ro2_1}
|
|
RPROT_IN_P_VCCP NET403 VCCP 100
|
|
RPROT_IN_M_VCCP VCCP NET241 100
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
R1_REF NET271 NET235 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
R2_REF NET235 NET229 1Meg
|
|
RPROT_IN_M_VCCN VCCN NET231 15K
|
|
RPROT_IN_P_VCCN NET388 VCCN 15K
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RO2_2 VB_3 VB_2 {Ro2_2}
|
|
EVLIM_HIGH_VOUT NET390 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 0
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
EVLIM_LOW_VOUT NET393 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo) +
|
|
+V(VOLnoRL)}
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
E2_REF NET229 0 VCCN 0 1.0
|
|
EVLIM_LOW_VB NET407 0 VCCN 0 1.0
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 92.65808823529412
|
|
+-33.64583333333336 3.9828431372549056
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -155.26102941176467 +
|
|
+124.8958333333334*V(Vccp,Vccn) -6.188725490196091*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
EZOUT VB_3 NET0353
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( 302.61248012718784
|
|
+-270.8887965505632*V(Vccp,Vccn) + 40.840439369851765*PWR(V(Vccp,Vccn),2)
|
|
+-2.0294358529653245*PWR(V(Vccp,Vccn),3) ) -5000*I(VreadIo)}
|
|
EVLIM_HIGH_VB NET398 0 VCCP 0 1.0
|
|
E1_REF NET271 0 VCCP 0 1.0
|
|
E_R1 NET295 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
E_VOLNORL VOLNORL 0 POLY(1) VCCP VCCN 5.5147058823525646E-5 0.0014375
|
|
+1.102941176470584E-4
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E_VREF VREF 0 NET235 0 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 95.19852941176471
|
|
+-28.958333333333357 3.0637254901960818
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 1.9669117647058814
|
|
+0.13750000000000015 -0.06617647058823531
|
|
EZOUT_IOUT_COEFF NET0286 0 VALUE={( Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau)) )}
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN -3.8158972691807494E-5
|
|
+3.732444733420025E-5
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
++0.8735294117647053 -0.043333333333333154*V(Vccp,Vccn) +
|
|
+0.013725490196078403*PWR(V(Vccp,Vccn),2) )}
|
|
COUT2 VZOUT 0 {Cout2}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
CCOMP VB VB_2 {Ccomp}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 380p
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
C_RO2_1 VB_2 VREF 10p
|
|
COUT NET0249 0 {Cout}
|
|
DVLIM_HIGH_VB VB NET382 DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D_OUTVLIM_HIGH VB_3 NET364 DIODE_NOVd
|
|
DPROT_IN_P_VCCN NET387 NET405 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET380 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCP NET405 NET370 DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET391 VM DIODE_VLIM
|
|
DVLIM_LOW_VB NET408 VB DIODE_VLIM
|
|
D_OUTVLIM_LOW NET394 VB_3 DIODE_NOVd
|
|
VVLIM_HIGH_VB NET382 NET398 DC -770m
|
|
VPROT_IN_P_VCCN NET387 NET388 DC {V_DPROT}
|
|
VREADI_R1 VB NET295 DC 0
|
|
VPROT_IN_P_VCCP NET403 NET370 DC {V_DPROT}
|
|
VOS NET405 VP DC 0
|
|
V_OUTVLIM_HIGH NET364 NET390 DC {Vd_compensazione}
|
|
VPROT_IN_M_VCCP NET241 NET380 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_enhance}
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_enhance}
|
|
VREADIO NET0353 VS DC 0
|
|
VPROT_IN_M_VCCN NET391 NET231 DC {V_DPROT}
|
|
VVLIM_LOW_VB NET407 NET408 DC -770m
|
|
V_OUTVLIM_LOW NET393 NET394 DC {Vd_compensazione}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET405 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSV619x subckt:
|
|
*
|
|
.PARAM RINCM=2.0828E+11
|
|
.PARAM CINCM=6.3492E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RINDIFF=6.4052E+10
|
|
.PARAM CINDIFF=3.2785E-12
|
|
.PARAM RIN_DIFF={(2*RINCM*RINDIFF)/(2*RINCM - RINDIFF)}
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=48.14m
|
|
.PARAM Ro = 794328
|
|
.PARAM A0_source = 158489319
|
|
.PARAM A0_sink = 1.3e+6
|
|
.PARAM Lout = 1.8m
|
|
.PARAM Rout = 5600
|
|
.PARAM Cout = 100p
|
|
.PARAM Cout2 = 3.5p
|
|
.PARAM Zout_Iout_coeff_MIN= 0.01
|
|
.PARAM Iout_dc_tau = 0.05m
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=5.5p
|
|
.PARAM IEE=0.45u
|
|
.PARAM W=1.08u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=1.5616e-05
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2 }
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
.ENDS TSV619X
|
|
|
|
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TSV62X_SHDN (WITH STAND-BY) Spice macromodel subckt
|
|
***
|
|
*** Version 3.0 (March 2011)
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | | STAND-BY
|
|
**** | | | | | |
|
|
.SUBCKT TSV62X_SHDN VP VM VCCP VCCN VS STB
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
LOUT VZOUT 0 {Lout}
|
|
S_SW_OUT VS_STB VS VSTB_CTRL 0 SW_OUT
|
|
S_SW_LEAK VS 0 VSTB_CTRL 0 SW_LEAK
|
|
S_SW_VB2_VS VB_2 NET0220 VSTB_CTRL 0 SW_VB2_VS
|
|
S_SW_VB_VREF VB NET0224 VSTB_CTRL 0 SW_VB_VREF
|
|
G_IEE_STB VEE_N VCCN_ENHANCED POLY(2) VSTB_CTRL 0 IEE_val 0 0 0 0 0 1
|
|
G_ICC_STB VCCP VCCN POLY(2) VSTB_CTRL 0 Icc_val 0 0 0 0 0 1
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
G2_ICC_STB VCCP VCCN VALUE={ICC_STB*( 1-V(VSTB_ctrl) )}
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high)*V(VSTB_ctrl), 0)}
|
|
|
|
*G_IIB_VP VREF VP TABLE {V(Vccp,Vccn)} = (+1.8 1p) (+3.3 1p) (+5.0 1p)
|
|
G_IIB_VP VREF VP VALUE={1p}
|
|
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low)*V(VSTB_ctrl) , 0)}
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
|
|
*G_IIB_VM VREF VM TABLE {V(Vccp,Vccn)} = (+1.8 1p) (+3.3 1p) (+5.0 1p)
|
|
G_IIB_VM VREF VM VALUE={1p}
|
|
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 10*( 1 -
|
|
+exp(-abs(V(v_Io_val))/3m )) ) }
|
|
G_ISTB 0 STB VALUE={ Iil_STB*(1-V(VSTB_one)) -Iih_STB*V(VSTB_one)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
RSTB_CTRL VSTB_CTRL VSTB_ONE {RSTB_ctrl}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
R1_REF NET287 NET247 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET243 15K
|
|
R2_REF NET247 NET241 1Meg
|
|
RPROT_IN_P_VCCN NET406 VCCN 15K
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET0360 50
|
|
RO2_2 VB_3 VB_2 {Ro2_2}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RPROT_IN_M_VCCP VCCP NET253 100
|
|
RPROT_IN_P_VCCP NET421 VCCP 100
|
|
ROUT NET0325 VZOUT {Rout}
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RIN_DIFF VP VM 1T
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
RO2_1 VB_2 VREF {Ro2_1}
|
|
|
|
*E4 RO1_VOL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 45 , 3.3 , 25 , 5.0 , 24 )}
|
|
E4 RO1_VOL 0 POLY(1) VCCP VCCN 92.65808823529412 -33.64583333333336
|
|
+3.9828431372549056
|
|
|
|
*E_RO1_VOH RO1_VOH 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 54 , 3.3 , 30 , 5.0 ,
|
|
*+27 )}
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 109.22426470588235
|
|
+-38.68750000000002 4.448529411764708
|
|
|
|
*E3 VIL_STB_VAL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , {0.5/1.8} , 5.0 ,
|
|
*+{0.5/5.0} )}
|
|
E3 VIL_STB_VAL 0 POLY(1) VCCP VCCN 0.37777777777777777
|
|
+-0.05555555555555556
|
|
|
|
*E2 VIH_STB_VAL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , {1.3/1.8} , 5.0 ,
|
|
*+{4.5/5.0} )}
|
|
E2 VIH_STB_VAL 0 POLY(1) VCCP VCCN 0.6222222222222219
|
|
+0.05555555555555557
|
|
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 0
|
|
ESTB VSTB_ONE 0 VALUE={IF( (V(STB,Vccn)/V(Vccp,Vccn)) >=
|
|
+V(VIH_STB_val) , 1 , V(VSTB_zero) )}
|
|
E0 VSTB_ZERO 0 VALUE={IF( (V(STB,Vccn)/V(Vccp,Vccn)) <=
|
|
+V(VIL_STB_val) , 0 , 0.5 )}
|
|
EREAD_VS NET0220 0 VS 0 1.0
|
|
EREAD_VREF NET0224 0 VREF 0 1.0
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
EZOUT VB_3 NET356
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 1.669117647058823
|
|
+-0.1583333333333334 0.004901960784313741
|
|
E2_REF NET241 0 VCCN 0 1.0
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_R1 NET311 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
EVLIM_LOW_VB NET425 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET247 0 1.0
|
|
EVLIM_LOW_VOUT NET411 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo)}
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.700735294117647 + 0.0525*V(Vccp,Vccn) +
|
|
+0.0014705882352941194*PWR(V(Vccp,Vccn),2) )}
|
|
EZOUT_IOUT_COEFF NET0360 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
EVLIM_HIGH_VOUT NET408 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN -5.427573529411765E-5
|
|
+4.281250000000003E-5 -5.51470588235299E-7
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -95.20588235294117 +
|
|
+73.33333333333336*V(Vccp,Vccn) + 3.921568627450974*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
EVLIM_HIGH_VB NET416 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( 211.65808823529403
|
|
+-172.8125*V(Vccp,Vccn) + 12.316176470588244*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
E1_REF NET287 0 VCCP 0 1.0
|
|
E_ICC ICC_VAL 0 POLY(1) VCCP VCCN 2.433823529411765E-5
|
|
+-1.0833333333333407E-6 3.4313725490196195E-7
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
COUT2 VZOUT 0 {Cout2}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
COUT NET0325 0 {Cout}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CSTB_CTRL VSTB_CTRL 0 1n
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 80p
|
|
C_RO2_1 VB_2 VREF 100p
|
|
CCOMP VB VB_2 {Ccomp}
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCP NET423 NET388 DIODE_VLIM
|
|
DVLIM_HIGH_VB VB NET400 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET398 DIODE_VLIM
|
|
DVLIM_LOW_VB NET426 VB DIODE_VLIM
|
|
D_OUTVLIM_LOW NET412 VB_3 DIODE_NOVd
|
|
D_OUTVLIM_HIGH VB_3 NET382 DIODE_NOVd
|
|
DPROT_IN_M_VCCN NET409 VM DIODE_VLIM
|
|
DPROT_IN_P_VCCN NET405 NET423 DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
V_IEE IEE_VAL 0 DC {IEE}
|
|
VPROT_IN_M_VCCP NET253 NET398 DC {V_DPROT}
|
|
VREADI_R1 VB NET311 DC 0
|
|
VVLIM_LOW_VB NET425 NET426 DC -770m
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_enhance}
|
|
VPROT_IN_P_VCCP NET421 NET388 DC {V_DPROT}
|
|
VOS NET423 VP DC 0
|
|
VVLIM_HIGH_VB NET400 NET416 DC -770m
|
|
V_OUTVLIM_LOW NET411 NET412 DC {Vd_compensazione}
|
|
VPROT_IN_M_VCCN NET409 NET243 DC {V_DPROT}
|
|
VREADIO NET356 VS_STB DC 0
|
|
VPROT_IN_P_VCCN NET405 NET406 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET382 NET408 DC {Vd_compensazione}
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_enhance}
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET423 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSV620 subckt:
|
|
*
|
|
.PARAM RINCM=2.0828E+11
|
|
.PARAM CINCM=6.3491E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM CINDIFF=3.3573E-12
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=92m
|
|
.PARAM Ro = 4e5
|
|
.PARAM A0_source = 5.959352977968012e+7
|
|
.PARAM A0_sink = 1.0e+6
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=10.7p
|
|
.PARAM IEE=1.5u
|
|
.PARAM W=1.07u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=2.835519773730752e-05
|
|
.PARAM Lout = 700u
|
|
.PARAM Rout = 1.75k
|
|
.PARAM Cout = 750p
|
|
.PARAM Cout2 = 3.5p
|
|
.PARAM Zout_Iout_coeff_MIN= 0.02
|
|
.PARAM Iout_dc_tau__source = 0.21m
|
|
.PARAM Iout_dc_tau__sink = 0.03m
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2 }
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
.PARAM ICC_STB = 5n
|
|
.PARAM VIL_STB = 100m
|
|
.PARAM VIH_STB = 900m
|
|
.PARAM Iout_leak_STB = 50p
|
|
.PARAM RSTB_ctrl = 51
|
|
.PARAM Iil_STB = 10p
|
|
.PARAM Iih_STB = 10p
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL SW_OUT VSWITCH VON={VIH_STB} VOFF={VIL_STB} RON=1m ROFF=1T
|
|
.MODEL SW_LEAK VSWITCH VON={VIH_STB} VOFF={VIL_STB} RON=1T ROFF={2.5/Iout_leak_STB -2e3}
|
|
.MODEL SW_VB2_VS VSWITCH VON={VIH_STB} VOFF={VIL_STB} RON=1T ROFF=1m
|
|
.MODEL SW_VB_VREF VSWITCH VON={VIH_STB} VOFF={VIL_STB} RON=1T ROFF=1m
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TSV62X_SHDN
|
|
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TSV62X (WITHOUT STAND-BY) Spice macromodel subckt
|
|
***
|
|
*** Version 3.0 (March 2011)
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSV62X VP VM VCCP VCCN VS
|
|
LOUT VZOUT 0 {Lout}
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
|
|
*G_IIB_VM VREF VM TABLE {V(Vccp,Vccn)} = (+1.8 1p) (+3.3 1p) (+5.0 1p)
|
|
G_IIB_VM VREF VM VALUE={1p}
|
|
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 2.433823529411765E-5
|
|
+-1.0833333333333407E-6 3.4313725490196195E-7
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
|
|
*G_IIB_VP VREF VP TABLE {V(Vccp,Vccn)} = (+1.8 1p) (+3.3 1p) (+5.0 1p)
|
|
G_IIB_VP VREF VP VALUE={1p}
|
|
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 10*( 1 -
|
|
+exp(-abs(V(v_Io_val))/3m )) ) }
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
RIN_DIFF VP VM 1T
|
|
RPROT_IN_P_VCCP NET403 VCCP 100
|
|
RO2_1 VB_2 VREF {Ro2_1}
|
|
RPROT_IN_M_VCCP VCCP NET241 100
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET0285 50
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
ROUT NET0254 VZOUT {Rout}
|
|
R1_REF NET271 NET235 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
R2_REF NET235 NET229 1Meg
|
|
RPROT_IN_M_VCCN VCCN NET231 15K
|
|
RPROT_IN_P_VCCN NET388 VCCN 15K
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RO2_2 VB_3 VB_2 {Ro2_2}
|
|
EVLIM_LOW_VOUT NET393 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo)}
|
|
|
|
*E4 RO1_VOL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 45 , 3.3 , 25 , 5.0 , 24 )}
|
|
E4 RO1_VOL 0 POLY(1) VCCP VCCN 92.65808823529412 -33.64583333333336
|
|
+3.9828431372549056
|
|
|
|
EVLIM_HIGH_VOUT NET390 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
|
|
*E_RO1_VOH RO1_VOH 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 54 , 3.3 , 30 , 5.0 ,
|
|
*+27 )}
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 109.22426470588235
|
|
+-38.68750000000002 4.448529411764708
|
|
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 1.669117647058823
|
|
+-0.1583333333333334 0.004901960784313741
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 0
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
E2_REF NET229 0 VCCN 0 1.0
|
|
EVLIM_LOW_VB NET407 0 VCCN 0 1.0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -95.20588235294117 +
|
|
+73.33333333333336*V(Vccp,Vccn) + 3.921568627450974*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( 211.65808823529403
|
|
+-172.8125*V(Vccp,Vccn) + 12.316176470588244*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
EVLIM_HIGH_VB NET398 0 VCCP 0 1.0
|
|
E1_REF NET271 0 VCCP 0 1.0
|
|
E_R1 NET295 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
EZOUT VB_3 NET0207
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
EZOUT_IOUT_COEFF NET0285 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
E_VREF VREF 0 NET235 0 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN -5.427573529411765E-5
|
|
+4.281250000000003E-5 -5.51470588235299E-7
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.700735294117647 + 0.0525*V(Vccp,Vccn) +
|
|
+0.0014705882352941194*PWR(V(Vccp,Vccn),2) )}
|
|
COUT NET0254 0 {Cout}
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
COUT2 VZOUT 0 {Cout2}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CCOMP VB VB_2 {Ccomp}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 80p
|
|
C_RO2_1 VB_2 VREF 100p
|
|
DVLIM_HIGH_VB VB NET382 DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D_OUTVLIM_HIGH VB_3 NET364 DIODE_NOVd
|
|
DPROT_IN_P_VCCN NET387 NET405 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET380 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCP NET405 NET370 DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET391 VM DIODE_VLIM
|
|
DVLIM_LOW_VB NET408 VB DIODE_VLIM
|
|
D_OUTVLIM_LOW NET394 VB_3 DIODE_NOVd
|
|
VVLIM_HIGH_VB NET382 NET398 DC -770m
|
|
VPROT_IN_P_VCCN NET387 NET388 DC {V_DPROT}
|
|
VREADI_R1 VB NET295 DC 0
|
|
VPROT_IN_P_VCCP NET403 NET370 DC {V_DPROT}
|
|
VOS NET405 VP DC 0
|
|
V_OUTVLIM_HIGH NET364 NET390 DC {Vd_compensazione}
|
|
VPROT_IN_M_VCCP NET241 NET380 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_enhance}
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_enhance}
|
|
VREADIO NET0207 VS DC 0
|
|
VPROT_IN_M_VCCN NET391 NET231 DC {V_DPROT}
|
|
VVLIM_LOW_VB NET407 NET408 DC -770m
|
|
V_OUTVLIM_LOW NET393 NET394 DC {Vd_compensazione}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET405 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSV621 subckt:
|
|
*
|
|
.PARAM RINCM=2.0828E+11
|
|
.PARAM CINCM=6.3491E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM CINDIFF=3.3573E-12
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=92m
|
|
.PARAM Ro = 4e5
|
|
.PARAM A0_source = 5.959352977968012e+7
|
|
.PARAM A0_sink = 1.0e+6
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=10.7p
|
|
.PARAM IEE=1.5u
|
|
.PARAM W=1.07u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=2.835519773730752e-05
|
|
.PARAM Lout = 700u
|
|
.PARAM Rout = 1.75k
|
|
.PARAM Cout = 750p
|
|
.PARAM Cout2 = 3.5p
|
|
.PARAM Zout_Iout_coeff_MIN= 0.02
|
|
.PARAM Iout_dc_tau__source = 0.21m
|
|
.PARAM Iout_dc_tau__sink = 0.03m
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2 }
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TSV62X
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TSV629X_SHDN (WITH STAND-BY) Spice macromodel subckt
|
|
***
|
|
*** Version 2.0 (March 2011)
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | | STAND-BY
|
|
**** | | | | | |
|
|
.SUBCKT TSV629X_SHDN VP VM VCCP VCCN VS STB
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
LOUT VZOUT 0 {Lout}
|
|
S_SW_OUT VS_STB VS VSTB_CTRL 0 SW_OUT
|
|
S_SW_LEAK VS 0 VSTB_CTRL 0 SW_LEAK
|
|
S_SW_VB2_VS VB_2 NET0220 VSTB_CTRL 0 SW_VB2_VS
|
|
S_SW_VB_VREF VB NET0224 VSTB_CTRL 0 SW_VB_VREF
|
|
G_ISTB 0 STB VALUE={ Iil_STB*(1-V(VSTB_one)) -Iih_STB*V(VSTB_one)}
|
|
G_IEE_STB VEE_N VCCN_ENHANCED POLY(2) VSTB_CTRL 0 IEE_val 0 0 0 0 0 1
|
|
G_ICC_STB VCCP VCCN POLY(2) VSTB_CTRL 0 Icc_val 0 0 0 0 0 1
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
G2_ICC_STB VCCP VCCN VALUE={ICC_STB*( 1-V(VSTB_ctrl) )}
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high)*V(VSTB_ctrl), 0)}
|
|
|
|
*G_IIB_VP VREF VP TABLE {V(Vccp,Vccn)} = (+1.8 1p) (+3.3 1p) (+5.0 1p)
|
|
G_IIB_VP VREF VP VALUE={1p}
|
|
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low)*V(VSTB_ctrl) , 0)}
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
|
|
*G_IIB_VM VREF VM TABLE {V(Vccp,Vccn)} = (+1.8 1p) (+3.3 1p) (+5.0 1p)
|
|
G_IIB_VM VREF VM VALUE={1p}
|
|
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 10*( 1 -
|
|
+exp(-abs(V(v_Io_val))/3m )) ) }
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
R1_REF NET287 NET247 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET243 15K
|
|
R2_REF NET247 NET241 1Meg
|
|
RPROT_IN_P_VCCN NET406 VCCN 15K
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET0360 50
|
|
RO2_2 VB_3 VB_2 {Ro2_2}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RPROT_IN_M_VCCP VCCP NET253 100
|
|
RPROT_IN_P_VCCP NET421 VCCP 100
|
|
RSTB_CTRL VSTB_CTRL VSTB_ONE {RSTB_ctrl}
|
|
ROUT NET0325 VZOUT {Rout}
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RIN_DIFF VP VM 1T
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
RO2_1 VB_2 VREF {Ro2_1}
|
|
EZOUT_IOUT_COEFF NET0360 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
ESTB VSTB_ONE 0 VALUE={IF( (V(STB,Vccn)/V(Vccp,Vccn)) >=
|
|
+V(VIH_STB_val) , 1 , V(VSTB_zero) )}
|
|
|
|
*E_RO1_VOH RO1_VOH 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 54 , 3.3 , 30 , 5.0 ,
|
|
*+27 )}
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 109.22426470588235
|
|
+-38.68750000000002 4.448529411764708
|
|
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 0
|
|
EVLIM_HIGH_VOUT NET408 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
EVLIM_LOW_VOUT NET411 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo)}
|
|
|
|
*E4 RO1_VOL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 45 , 3.3 , 25 , 5.0 , 24 )}
|
|
E4 RO1_VOL 0 POLY(1) VCCP VCCN 92.65808823529412 -33.64583333333336
|
|
+3.9828431372549056
|
|
|
|
EREAD_VS NET0220 0 VS 0 1.0
|
|
|
|
*E3 VIL_STB_VAL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , {0.5/1.8} , 5.0 ,
|
|
*+{0.5/5.0} )}
|
|
E3 VIL_STB_VAL 0 POLY(1) VCCP VCCN 0.37777777777777777
|
|
+-0.05555555555555556
|
|
|
|
*E2 VIH_STB_VAL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , {1.3/1.8} , 5.0 ,
|
|
*+{4.5/5.0} )}
|
|
E2 VIH_STB_VAL 0 POLY(1) VCCP VCCN 0.6222222222222219
|
|
+0.05555555555555557
|
|
|
|
|
|
EREAD_VREF NET0224 0 VREF 0 1.0
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E0 VSTB_ZERO 0 VALUE={IF( (V(STB,Vccn)/V(Vccp,Vccn)) <=
|
|
+V(VIL_STB_val) , 0 , 0.5 )}
|
|
EZOUT VB_3 NET356
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E2_REF NET241 0 VCCN 0 1.0
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_R1 NET311 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
EVLIM_LOW_VB NET425 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET247 0 1.0
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.7561397058823526 + 0.0540416666666669*V(Vccp,Vccn)
|
|
+-0.0010539215686274882*PWR(V(Vccp,Vccn),2) )}
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 1.669117647058823
|
|
+-0.1583333333333334 0.004901960784313741
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN -5.427573529411765E-5
|
|
+4.281250000000003E-5 -5.51470588235299E-7
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -95.20588235294117 +
|
|
+73.33333333333336*V(Vccp,Vccn) + 3.921568627450974*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
EVLIM_HIGH_VB NET416 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( 211.65808823529403
|
|
+-172.8125*V(Vccp,Vccn) + 12.316176470588244*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
E1_REF NET287 0 VCCP 0 1.0
|
|
E_ICC ICC_VAL 0 POLY(1) VCCP VCCN 2.433823529411765E-5
|
|
+-1.0833333333333407E-6 3.4313725490196195E-7
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
CSTB_CTRL VSTB_CTRL 0 1n
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
COUT2 VZOUT 0 {Cout2}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
COUT NET0325 0 {Cout}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 112p
|
|
C_RO2_1 VB_2 VREF 300p
|
|
CCOMP VB VB_2 {Ccomp}
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCP NET423 NET388 DIODE_VLIM
|
|
DVLIM_HIGH_VB VB NET400 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET398 DIODE_VLIM
|
|
DVLIM_LOW_VB NET426 VB DIODE_VLIM
|
|
D_OUTVLIM_LOW NET412 VB_3 DIODE_NOVd
|
|
D_OUTVLIM_HIGH VB_3 NET382 DIODE_NOVd
|
|
DPROT_IN_M_VCCN NET409 VM DIODE_VLIM
|
|
DPROT_IN_P_VCCN NET405 NET423 DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
V_IEE IEE_VAL 0 DC {IEE}
|
|
VPROT_IN_M_VCCP NET253 NET398 DC {V_DPROT}
|
|
VREADI_R1 VB NET311 DC 0
|
|
VVLIM_LOW_VB NET425 NET426 DC -770m
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_enhance}
|
|
VPROT_IN_P_VCCP NET421 NET388 DC {V_DPROT}
|
|
VOS NET423 VP DC 0
|
|
VVLIM_HIGH_VB NET400 NET416 DC -770m
|
|
V_OUTVLIM_LOW NET411 NET412 DC {Vd_compensazione}
|
|
VPROT_IN_M_VCCN NET409 NET243 DC {V_DPROT}
|
|
VREADIO NET356 VS_STB DC 0
|
|
VPROT_IN_P_VCCN NET405 NET406 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET382 NET408 DC {Vd_compensazione}
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_enhance}
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET423 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSV6290 subckt:
|
|
*
|
|
.PARAM RINCM=2.0828E+11
|
|
.PARAM CINCM=6.3491E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM CINDIFF=3.3573E-12
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=62.23m
|
|
.PARAM Ro = 4e5
|
|
.PARAM A0_source = 5.959352977968012e+7
|
|
.PARAM A0_sink = 1.0e+6
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=2.7p
|
|
.PARAM IEE=1.5u
|
|
.PARAM W=0.65u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=2.20959021339181e-05
|
|
.PARAM Lout = 550u
|
|
.PARAM Rout = 2850
|
|
.PARAM Cout = 120p
|
|
.PARAM Cout2 = 3p
|
|
.PARAM Zout_Iout_coeff_MIN= 0.02
|
|
.PARAM Iout_dc_tau__source = 0.07m
|
|
.PARAM Iout_dc_tau__sink = 0.005m
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2 }
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
.PARAM ICC_STB = 5n
|
|
.PARAM Iout_leak_STB = 50p
|
|
.PARAM RSTB_ctrl = 30
|
|
.PARAM Iil_STB = 10p
|
|
.PARAM Iih_STB = 10p
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL SW_OUT VSWITCH VON=0.9 VOFF=0.1 RON=1m ROFF=1T
|
|
.MODEL SW_LEAK VSWITCH VON=0.9 VOFF=0.1 RON=1T ROFF={2.5/Iout_leak_STB -5e3}
|
|
.MODEL SW_VB2_VS VSWITCH VON=0.9 VOFF=0.1 RON=1T ROFF=1m
|
|
.MODEL SW_VB_VREF VSWITCH VON=0.9 VOFF=0.1 RON=1T ROFF=1m
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TSV629X_SHDN
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TSV629X (WITHOUT STAND-BY) Spice macromodel subckt
|
|
***
|
|
*** Version 2.0 (March 2011)
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSV629X VP VM VCCP VCCN VS
|
|
LOUT VZOUT 0 {Lout}
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
|
|
*G_IIB_VM VREF VM TABLE {V(Vccp,Vccn)} = (+1.8 1p) (+3.3 1p) (+5.0 1p)
|
|
G_IIB_VM VREF VM VALUE={1p}
|
|
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 2.433823529411765E-5
|
|
+-1.0833333333333407E-6 3.4313725490196195E-7
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
|
|
*G_IIB_VP VREF VP TABLE {V(Vccp,Vccn)} = (+1.8 1p) (+3.3 1p) (+5.0 1p)
|
|
G_IIB_VP VREF VP VALUE={1p}
|
|
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 10*( 1 -
|
|
+exp(-abs(V(v_Io_val))/3m )) ) }
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
RIN_DIFF VP VM 1T
|
|
RPROT_IN_P_VCCP NET403 VCCP 100
|
|
RO2_1 VB_2 VREF {Ro2_1}
|
|
RPROT_IN_M_VCCP VCCP NET241 100
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET0285 50
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
ROUT NET0254 VZOUT {Rout}
|
|
R1_REF NET271 NET235 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
R2_REF NET235 NET229 1Meg
|
|
RPROT_IN_M_VCCN VCCN NET231 15K
|
|
RPROT_IN_P_VCCN NET388 VCCN 15K
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RO2_2 VB_3 VB_2 {Ro2_2}
|
|
EVLIM_HIGH_VOUT NET390 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
EVLIM_LOW_VOUT NET393 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo)}
|
|
|
|
*E_RO1_VOH RO1_VOH 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 54 , 3.3 , 30 , 5.0 ,
|
|
*+27 )}
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 109.22426470588235
|
|
+-38.68750000000002 4.448529411764708
|
|
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 1.669117647058823
|
|
+-0.1583333333333334 0.004901960784313741
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 0
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
E2_REF NET229 0 VCCN 0 1.0
|
|
EVLIM_LOW_VB NET407 0 VCCN 0 1.0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -95.20588235294117 +
|
|
+73.33333333333336*V(Vccp,Vccn) + 3.921568627450974*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( 211.65808823529403
|
|
+-172.8125*V(Vccp,Vccn) + 12.316176470588244*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
EVLIM_HIGH_VB NET398 0 VCCP 0 1.0
|
|
E1_REF NET271 0 VCCP 0 1.0
|
|
E_R1 NET295 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
EZOUT VB_3 NET0207
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
|
|
*E4 RO1_VOL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 45 , 3.3 , 25 , 5.0 , 24 )}
|
|
E4 RO1_VOL 0 POLY(1) VCCP VCCN 92.65808823529412 -33.64583333333336
|
|
+3.9828431372549056
|
|
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
EZOUT_IOUT_COEFF NET0285 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
E_VREF VREF 0 NET235 0 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN -5.427573529411765E-5
|
|
+4.281250000000003E-5 -5.51470588235299E-7
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.7561397058823526 + 0.0540416666666669*V(Vccp,Vccn)
|
|
+-0.0010539215686274882*PWR(V(Vccp,Vccn),2) )}
|
|
COUT NET0254 0 {Cout}
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
COUT2 VZOUT 0 {Cout2}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CCOMP VB VB_2 {Ccomp}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 112p
|
|
C_RO2_1 VB_2 VREF 300p
|
|
DVLIM_HIGH_VB VB NET382 DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D_OUTVLIM_HIGH VB_3 NET364 DIODE_NOVd
|
|
DPROT_IN_P_VCCN NET387 NET405 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET380 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCP NET405 NET370 DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET391 VM DIODE_VLIM
|
|
DVLIM_LOW_VB NET408 VB DIODE_VLIM
|
|
D_OUTVLIM_LOW NET394 VB_3 DIODE_NOVd
|
|
VVLIM_HIGH_VB NET382 NET398 DC -770m
|
|
VPROT_IN_P_VCCN NET387 NET388 DC {V_DPROT}
|
|
VREADI_R1 VB NET295 DC 0
|
|
VPROT_IN_P_VCCP NET403 NET370 DC {V_DPROT}
|
|
VOS NET405 VP DC 0
|
|
V_OUTVLIM_HIGH NET364 NET390 DC {Vd_compensazione}
|
|
VPROT_IN_M_VCCP NET241 NET380 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_enhance}
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_enhance}
|
|
VREADIO NET0207 VS DC 0
|
|
VPROT_IN_M_VCCN NET391 NET231 DC {V_DPROT}
|
|
VVLIM_LOW_VB NET407 NET408 DC -770m
|
|
V_OUTVLIM_LOW NET393 NET394 DC {Vd_compensazione}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET405 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSV6291 subckt:
|
|
*
|
|
.PARAM RINCM=2.0828E+11
|
|
.PARAM CINCM=6.3491E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM CINDIFF=3.3573E-12
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=62.23m
|
|
.PARAM Ro = 4e5
|
|
.PARAM A0_source = 5.959352977968012e+7
|
|
.PARAM A0_sink = 1.0e+6
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=2.7p
|
|
.PARAM IEE=1.5u
|
|
.PARAM W=0.65u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=2.20959021339181e-05
|
|
.PARAM Lout = 550u
|
|
.PARAM Rout = 2850
|
|
.PARAM Cout = 120p
|
|
.PARAM Cout2 = 3p
|
|
.PARAM Zout_Iout_coeff_MIN= 0.02
|
|
.PARAM Iout_dc_tau__source = 0.07m
|
|
.PARAM Iout_dc_tau__sink = 0.005m
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2 }
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TSV629X
|
|
****************************************************************************
|
|
****
|
|
*** TSV63X_SHDN (WITH STAND-BY) Spice macromodel subckt
|
|
***
|
|
*** Version 2.0 (March 2011)
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | | STAND-BY
|
|
**** | | | | | |
|
|
.SUBCKT TSV63X_SHDN VP VM VCCP VCCN VS STB
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
LOUT VZOUT 0 {Lout}
|
|
S_SW_OUT VS_STB VS VSTB_CTRL 0 SW_OUT
|
|
S_SW_LEAK VS 0 VSTB_CTRL 0 SW_LEAK
|
|
S_SW_VB2_VS VB_2 NET0220 VSTB_CTRL 0 SW_VB2_VS
|
|
S_SW_VB_VREF VB NET0224 VSTB_CTRL 0 SW_VB_VREF
|
|
G_IEE_STB VEE_N VCCN_ENHANCED POLY(2) VSTB_CTRL 0 IEE_val 0 0 0 0 0 1
|
|
G_ICC_STB VCCP VCCN POLY(2) VSTB_CTRL 0 Icc_val 0 0 0 0 0 1
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
G2_ICC_STB VCCP VCCN VALUE={ICC_STB*( 1-V(VSTB_ctrl) )}
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high)*V(VSTB_ctrl), 0)}
|
|
|
|
*G_IIB_VP VREF VP TABLE {V(Vccp,Vccn)} = (+1.8 1p) (+3.3 1p) (+5.0 1p)
|
|
G_IIB_VP VREF VP VALUE={1p}
|
|
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low)*V(VSTB_ctrl) , 0)}
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 10*( 1 -
|
|
+exp(-abs(V(v_Io_val))/3m )) ) }
|
|
G_ISTB 0 STB VALUE={ Iil_STB*(1-V(VSTB_one)) -Iih_STB*V(VSTB_one)}
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
|
|
*G_IIB_VM VREF VM TABLE {V(Vccp,Vccn)} = (+1.8 1p) (+3.3 1p) (+5.0 1p)
|
|
G_IIB_VM VREF VM VALUE={1p}
|
|
|
|
RIN_DIFF VP VM 1T
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
R1_REF NET287 NET247 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET243 15K
|
|
R2_REF NET247 NET241 1Meg
|
|
ROUT NET0584 VZOUT {Rout}
|
|
RPROT_IN_P_VCCN NET406 VCCN 15K
|
|
RSTB_CTRL VSTB_CTRL VSTB_ONE {RSTB_ctrl}
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
RO2_2 VB_3 VB_2 {Ro2_2}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RPROT_IN_M_VCCP VCCP NET253 100
|
|
RPROT_IN_P_VCCP NET421 VCCP 100
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET0363 50
|
|
RO2_1 VB_2 VREF {Ro2_1}
|
|
EZOUT VB_3 NET0242
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
|
|
*E3 VIL_STB_VAL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , {0.5/1.8} , 5.0 ,
|
|
*+{0.5/5.0} )}
|
|
E3 VIL_STB_VAL 0 POLY(1) VCCP VCCN 0.37777777777777777
|
|
+-0.05555555555555556
|
|
|
|
EVLIM_HIGH_VOUT NET408 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
EREAD_VS NET0220 0 VS 0 1.0
|
|
|
|
*E_RO1_VOL RO1_VOL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 45 , 3.3 , 28 , 5.0 ,
|
|
*+23 )}
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 80.97794117647057
|
|
+-24.708333333333343 2.6225490196078454
|
|
|
|
ESTB VSTB_ONE 0 VALUE={IF( (V(STB,Vccn)/V(Vccp,Vccn)) >=
|
|
+V(VIH_STB_val) , 1 , V(VSTB_zero) )}
|
|
EREAD_VREF NET0224 0 VREF 0 1.0
|
|
|
|
*E2 VIH_STB_VAL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , {1.3/1.8} , 5.0 ,
|
|
*+{4.5/5.0} )}
|
|
E2 VIH_STB_VAL 0 POLY(1) VCCP VCCN 0.6222222222222219
|
|
+0.05555555555555557
|
|
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 1.6599264705882346
|
|
+-0.0645833333333332 -0.01348039215686276
|
|
E0 VSTB_ZERO 0 VALUE={IF( (V(STB,Vccn)/V(Vccp,Vccn)) <=
|
|
+V(VIL_STB_val) , 0 , 0.5 )}
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E2_REF NET241 0 VCCN 0 1.0
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_R1 NET311 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
EZOUT_IOUT_COEFF NET0363 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
EVLIM_LOW_VB NET425 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET247 0 1.0
|
|
EVLIM_LOW_VOUT NET411 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo)}
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.7286764705882351 + 0.1008333333333332*V(Vccp,Vccn)
|
|
+-0.00931372549019606*PWR(V(Vccp,Vccn),2) )}
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 0
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -95.20588235294117 +
|
|
+73.33333333333336*V(Vccp,Vccn) + 3.921568627450974*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN -6.574632352941173E-5
|
|
+4.014583333333334E-5 -1.5931372549019734E-7
|
|
EVLIM_HIGH_VB NET416 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( 211.65808823529403
|
|
+-172.8125*V(Vccp,Vccn) + 12.316176470588244*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
|
|
*E_RO1_VOH RO1_VOH 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 54 , 3.3 , 42 , 5.0 ,
|
|
*+27 )}
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 66.87132352941175 -6.6875
|
|
+-0.25735294117647034
|
|
|
|
E1_REF NET287 0 VCCP 0 1.0
|
|
E_ICC ICC_VAL 0 POLY(1) VCCP VCCN 4.027205882352942E-5
|
|
+3.958333333333329E-6 -1.2254901960784258E-7
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
CSTB_CTRL VSTB_CTRL 0 1n
|
|
COUT NET0584 0 {Cout}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 30p
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CCOMP VB VB_2 {Ccomp}
|
|
COUT2 VZOUT 0 {Cout2}
|
|
C_RO2_1 VB_2 VREF 700p
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCP NET423 NET388 DIODE_VLIM
|
|
DVLIM_HIGH_VB VB NET400 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET398 DIODE_VLIM
|
|
DVLIM_LOW_VB NET426 VB DIODE_VLIM
|
|
D_OUTVLIM_LOW NET412 VB_3 DIODE_NOVd
|
|
D_OUTVLIM_HIGH VB_3 NET382 DIODE_NOVd
|
|
DPROT_IN_M_VCCN NET409 VM DIODE_VLIM
|
|
DPROT_IN_P_VCCN NET405 NET423 DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
V_IEE IEE_VAL 0 DC {IEE}
|
|
VPROT_IN_M_VCCP NET253 NET398 DC {V_DPROT}
|
|
VREADI_R1 VB NET311 DC 0
|
|
VVLIM_LOW_VB NET425 NET426 DC -770m
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_enhance}
|
|
VPROT_IN_P_VCCP NET421 NET388 DC {V_DPROT}
|
|
VOS NET423 VP DC 0
|
|
VVLIM_HIGH_VB NET400 NET416 DC -770m
|
|
V_OUTVLIM_LOW NET411 NET412 DC {Vd_compensazione}
|
|
VPROT_IN_M_VCCN NET409 NET243 DC {V_DPROT}
|
|
VREADIO NET0242 VS_STB DC 0
|
|
VPROT_IN_P_VCCN NET405 NET406 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET382 NET408 DC {Vd_compensazione}
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_enhance}
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET423 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSV630 subckt:
|
|
*
|
|
.PARAM RINCM=2.0828E+11
|
|
.PARAM CINCM=6.6478E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM CINDIFF=3.5657E-12
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=141m
|
|
.PARAM Ro = 223872
|
|
.PARAM A0_source = 5.959352977968012e+7
|
|
.PARAM A0_sink = 0.6e+6
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=8.8p
|
|
.PARAM IEE=3u
|
|
.PARAM W=1.59u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=4.887806568937801e-05
|
|
.PARAM Lout = 230u
|
|
.PARAM Rout = 900
|
|
.PARAM Cout = 2n
|
|
.PARAM Cout2 = 3.7p
|
|
.PARAM Zout_Iout_coeff_MIN= 0.04
|
|
.PARAM Iout_dc_tau__source = 0.9m
|
|
.PARAM Iout_dc_tau__sink = 0.03m
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2}
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
.PARAM ICC_STB = 5n
|
|
.PARAM Iout_leak_STB = 50p
|
|
.PARAM RSTB_ctrl = 51
|
|
.PARAM Iil_STB = 10p
|
|
.PARAM Iih_STB = 10p
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL SW_OUT VSWITCH VON=0.9 VOFF=0.1 RON=1m ROFF=1T
|
|
.MODEL SW_LEAK VSWITCH VON=0.9 VOFF=0.1 RON=1T ROFF={2.5/Iout_leak_STB -2e3}
|
|
.MODEL SW_VB2_VS VSWITCH VON=0.9 VOFF=0.1 RON=1T ROFF=1m
|
|
.MODEL SW_VB_VREF VSWITCH VON=0.9 VOFF=0.1 RON=1T ROFF=1m
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TSV63X_SHDN
|
|
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TSV63X (WITHOUT STAND-BY) Spice macromodel subckt
|
|
***
|
|
*** Version 2.0 (March 2011)
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSV63X VP VM VCCP VCCN VS
|
|
LOUT VZOUT 0 {Lout}
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET194 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
VREADI_R1 VB NET0258 DC 0
|
|
VVLIM_LOW_VB NET192 NET193 DC -770m
|
|
VOS NET194 VP DC 0
|
|
VPROT_IN_P_VCCP NET196 NET229 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_enhance}
|
|
VREADIO NET0329 VS DC 0
|
|
VVLIM_HIGH_VB NET217 NET203 DC -770m
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_enhance}
|
|
V_OUTVLIM_LOW NET206 NET207 DC {Vd_compensazione}
|
|
VPROT_IN_M_VCCN NET208 NET360 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET235 NET211 DC {Vd_compensazione}
|
|
VPROT_IN_P_VCCN NET212 NET213 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET348 NET219 DC {V_DPROT}
|
|
DVLIM_HIGH_VB VB NET217 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET219 DIODE_VLIM
|
|
DVLIM_LOW_VB NET193 VB DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET208 VM DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D_OUTVLIM_LOW NET207 VB_3 DIODE_NOVd
|
|
DPROT_IN_P_VCCP NET194 NET229 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCN NET212 NET194 DIODE_VLIM
|
|
D_OUTVLIM_HIGH VB_3 NET235 DIODE_NOVd
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
COUT2 VZOUT 0 {Cout2}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
C_RO2_1 VB_2 VREF 700.0p
|
|
COUT NET0410 0 {Cout}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 30p
|
|
CCOMP VB VB_2 {Ccomp}
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 1.6599264705882346
|
|
+-0.0645833333333332 -0.01348039215686276
|
|
EZOUT_IOUT_COEFF NET0295 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
EZOUT VB_3 NET0329
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 0
|
|
|
|
*E_RO1_VOL RO1_VOL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 45 , 3.3 , 28 , 5.0 ,
|
|
*+23 )}
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 80.97794117647057
|
|
+-24.708333333333343 2.6225490196078454
|
|
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN -6.574632352941173E-5
|
|
+4.014583333333334E-5 -1.5931372549019734E-7
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
|
|
* E_RO1_VOH RO1_VOH 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 54 , 3.3 , 42 , 5.0 ,
|
|
*+27 )}
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 66.87132352941175 -6.6875
|
|
+-0.25735294117647034
|
|
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -95.20588235294117 +
|
|
+73.33333333333336*V(Vccp,Vccn) + 3.921568627450974*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
EVLIM_HIGH_VOUT NET211 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
EVLIM_LOW_VOUT NET206 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo)}
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
EVLIM_HIGH_VB NET203 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( 211.65808823529403
|
|
+-172.8125*V(Vccp,Vccn) + 12.316176470588244*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E_R1 NET0258 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
EVLIM_LOW_VB NET192 0 VCCN 0 1.0
|
|
E2_REF NET362 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET356 0 1.0
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E1_REF NET326 0 VCCP 0 1.0
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.7286764705882351 + 0.1008333333333332*V(Vccp,Vccn)
|
|
+-0.00931372549019606*PWR(V(Vccp,Vccn),2) )}
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET0295 50
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RIN_DIFF VP VM 1T
|
|
ROUT NET0410 VZOUT {Rout}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RO2_2 VB_3 VB_2 {Ro2_2}
|
|
RPROT_IN_P_VCCP NET196 VCCP 100
|
|
RPROT_IN_M_VCCP VCCP NET348 100
|
|
RO2_1 VB_2 VREF {Ro2_1}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
R1_REF NET326 NET356 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET360 15k
|
|
R2_REF NET356 NET362 1Meg
|
|
RPROT_IN_P_VCCN NET213 VCCN 15k
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 10*( 1 -
|
|
+exp(-abs(V(v_Io_val))/3m )) ) }
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
|
|
*G_IIB_VM VREF VM TABLE {V(Vccp,Vccn)} = (+1.8 1p) (+3.3 1p) (+5.0 1p)
|
|
G_IIB_VM VREF VM VALUE={1p}
|
|
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 4.027205882352942E-5
|
|
+3.958333333333329E-6 -1.2254901960784258E-7
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
|
|
*G_IIB_VP VREF VP TABLE {V(Vccp,Vccn)} = (+1.8 1p) (+3.3 1p) (+5.0 1p)
|
|
G_IIB_VP VREF VP VALUE={1p}
|
|
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSV631 subckt:
|
|
*
|
|
.PARAM RINCM=2.0828E+11
|
|
.PARAM CINCM=6.6478E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM CINDIFF=3.5657E-12
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=141m
|
|
.PARAM Ro = 223872
|
|
.PARAM A0_source = 5.959352977968012e+7
|
|
.PARAM A0_sink = 0.6e+6
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=8.8p
|
|
.PARAM IEE=3u
|
|
.PARAM W=1.59u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=4.887806568937801e-05
|
|
.PARAM Lout = 230u
|
|
.PARAM Rout = 900
|
|
.PARAM Cout = 2n
|
|
.PARAM Cout2 = 3.7p
|
|
.PARAM Zout_Iout_coeff_MIN= 0.04
|
|
.PARAM Iout_dc_tau__source = 0.9m
|
|
.PARAM Iout_dc_tau__sink = 0.03m
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2}
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TSV63X
|
|
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TSV639X_SHDN (WITH STAND-BY) PSpice macromodel subckt
|
|
***
|
|
*** Version 3.0 (March 2011)
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | | STAND-BY
|
|
**** | | | | | |
|
|
.SUBCKT TSV639X_SHDN VP VM VCCP VCCN VS STB
|
|
LOUT VZOUT 0 {Lout}
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
S_SW_VB2_VS VB_2 NET0247 VSTB_CTRL 0 SW_VB2_VS
|
|
S_SW_OUT VS_STB VS VSTB_CTRL 0 SW_OUT
|
|
S_SW_LEAK VS 0 VSTB_CTRL 0 SW_LEAK
|
|
S_SW_VB_VREF VB NET0224 VSTB_CTRL 0 SW_VB_VREF
|
|
G_IEE_STB VEE_N VCCN_ENHANCED POLY(2) VSTB_CTRL 0 IEE_val 0 0 0 0 0 1
|
|
G_ICC_STB VCCP VCCN POLY(2) VSTB_CTRL 0 Icc_val 0 0 0 0 0 1
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
G2_ICC_STB VCCP VCCN VALUE={ICC_STB*( 1-V(VSTB_ctrl) )}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high)*V(VSTB_ctrl), 0)}
|
|
|
|
*G_IIB_VP VREF VP TABLE {V(Vccp,Vccn)} = (+1.8 1p) (+3.3 1p) (+5.0 1p)
|
|
G_IIB_VP VREF VP VALUE={1p}
|
|
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low)*V(VSTB_ctrl) , 0)}
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
|
|
*G_IIB_VM VREF VM TABLE {V(Vccp,Vccn)} = (+1.8 1p) (+3.3 1p) (+5.0 1p)
|
|
G_IIB_VM VREF VM VALUE={1p}
|
|
|
|
G_ISTB 0 STB VALUE={ Iil_STB*(1-V(VSTB_one)) -Iih_STB*V(VSTB_one)}
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 10*( 1 -
|
|
+exp(-abs(V(v_Io_val))/3m )) ) }
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
R1_REF NET287 NET247 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET243 15K
|
|
R2_REF NET247 NET241 1Meg
|
|
RPROT_IN_P_VCCN NET406 VCCN 15K
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
ROUT NET0314 VZOUT {Rout}
|
|
RIN_DIFF VP VM 1T
|
|
RO2_1 VB_2 VREF {Ro2_1}
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RO2_2 VB_3 VB_2 {Ro2_2}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RPROT_IN_M_VCCP VCCP NET253 100
|
|
RPROT_IN_P_VCCP NET421 VCCP 100
|
|
RSTB_CTRL VSTB_CTRL VSTB_ONE {RSTB_ctrl}
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET0355 50
|
|
EVLIM_LOW_VOUT NET411 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo)}
|
|
|
|
*E_RO1_VOL RO1_VOL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 45 , 3.3 , 28 , 5.0 ,
|
|
*+23 )}
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 80.97794117647057
|
|
+-24.708333333333343 2.6225490196078454
|
|
|
|
EVLIM_HIGH_VOUT NET408 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
|
|
*E_RO1_VOH RO1_VOH 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 54 , 3.3 , 42 , 5.0 ,
|
|
*+27 )}
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 66.87132352941175 -6.6875
|
|
+-0.25735294117647034
|
|
|
|
EREAD_VS NET0247 0 VS 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( 233.4963235294118
|
|
+-191.5625*V(Vccp,Vccn) + 15.992647058823547*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 1.6599264705882346
|
|
+-0.0645833333333332 -0.01348039215686276
|
|
E0 VSTB_ZERO 0 VALUE={IF( (V(STB,Vccn)/V(Vccp,Vccn)) <=
|
|
+V(VIL_STB_val) , 0 , 0.5 )}
|
|
EZOUT_IOUT_COEFF NET0355 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
EREAD_VREF NET0224 0 VREF 0 1.0
|
|
|
|
*E2 VIH_STB_VAL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , {1.3/1.8} , 5.0 ,
|
|
*+{4.5/5.0} )}
|
|
E2 VIH_STB_VAL 0 POLY(1) VCCP VCCN 0.6222222222222219
|
|
+0.05555555555555557
|
|
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E2_REF NET241 0 VCCN 0 1.0
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
|
|
*E3 VIL_STB_VAL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , {0.5/1.8} , 5.0 ,
|
|
*+{0.5/5.0} )}
|
|
E3 VIL_STB_VAL 0 POLY(1) VCCP VCCN 0.37777777777777777
|
|
+-0.05555555555555556
|
|
|
|
E_R1 NET311 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
EVLIM_LOW_VB NET425 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET247 0 1.0
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.7685661764705877 + 0.027291666666666915*V(Vccp,Vccn) +
|
|
+0.0037990196078431008*PWR(V(Vccp,Vccn),2) )}
|
|
ESTB VSTB_ONE 0 VALUE={IF( (V(STB,Vccn)/V(Vccp,Vccn)) >=
|
|
+V(VIH_STB_val) , 1 , V(VSTB_zero) )}
|
|
EZOUT VB_3 NET0236
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 0
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN -6.574632352941173E-5
|
|
+4.014583333333334E-5 -1.5931372549019734E-7
|
|
EVLIM_HIGH_VB NET416 0 VCCP 0 1.0
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -106.12500000000007 +
|
|
+82.70833333333343*V(Vccp,Vccn) + 2.0833333333333175*PWR(V(Vccp,Vccn),2) )
|
|
+ -5000*I(VreadIo)}
|
|
E1_REF NET287 0 VCCP 0 1.0
|
|
E_ICC ICC_VAL 0 POLY(1) VCCP VCCN 4.027205882352942E-5
|
|
+3.958333333333329E-6 -1.2254901960784258E-7
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
CSTB_CTRL VSTB_CTRL 0 1n
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
COUT2 VZOUT 0 {Cout2}
|
|
COUT NET0314 0 {Cout}
|
|
C_RO2_1 VB_2 VREF 10p
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 72p
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CCOMP VB VB_2 {Ccomp}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCP NET423 NET388 DIODE_VLIM
|
|
DVLIM_HIGH_VB VB NET400 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET398 DIODE_VLIM
|
|
DVLIM_LOW_VB NET426 VB DIODE_VLIM
|
|
D_OUTVLIM_LOW NET412 VB_3 DIODE_NOVd
|
|
D_OUTVLIM_HIGH VB_3 NET382 DIODE_NOVd
|
|
DPROT_IN_M_VCCN NET409 VM DIODE_VLIM
|
|
DPROT_IN_P_VCCN NET405 NET423 DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
V_IEE IEE_VAL 0 DC {IEE}
|
|
VREADIO NET0236 VS_STB DC 0
|
|
VPROT_IN_M_VCCP NET253 NET398 DC {V_DPROT}
|
|
VREADI_R1 VB NET311 DC 0
|
|
VVLIM_LOW_VB NET425 NET426 DC -770m
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_enhance}
|
|
VPROT_IN_P_VCCP NET421 NET388 DC {V_DPROT}
|
|
VOS NET423 VP DC 0
|
|
VVLIM_HIGH_VB NET400 NET416 DC -770m
|
|
V_OUTVLIM_LOW NET411 NET412 DC {Vd_compensazione}
|
|
VPROT_IN_M_VCCN NET409 NET243 DC {V_DPROT}
|
|
VPROT_IN_P_VCCN NET405 NET406 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET382 NET408 DC {Vd_compensazione}
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_enhance}
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET423 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSV6390 subckt:
|
|
*
|
|
.PARAM RINCM=2.0828E+11
|
|
.PARAM CINCM=6.6478E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM CINDIFF=3.5657E-12
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=95m
|
|
.PARAM Ro = 223872
|
|
.PARAM A0_source = 5.959352977968012e+7
|
|
.PARAM A0_sink = 0.6e+6
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=2.65p
|
|
.PARAM IEE=3u
|
|
.PARAM W=1.06u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=3.990140517663634e-05
|
|
.PARAM Lout = 220u
|
|
.PARAM Rout = 1.95k
|
|
.PARAM Cout = 105p
|
|
.PARAM Cout2 = 3p
|
|
.PARAM Zout_Iout_coeff_MIN= 0.04
|
|
.PARAM Iout_dc_tau__source = 0.17m
|
|
.PARAM Iout_dc_tau__sink = 0.03m
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2 }
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
.PARAM ICC_STB = 5n
|
|
.PARAM Iout_leak_STB = 50p
|
|
.PARAM RSTB_ctrl = 33
|
|
.PARAM Iil_STB = 10p
|
|
.PARAM Iih_STB = 10p
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL SW_VB2_VS VSWITCH VON=0.9 VOFF=0.1 RON=1T ROFF=1m
|
|
.MODEL SW_OUT VSWITCH VON=0.9 VOFF=0.1 RON=1m ROFF=1T
|
|
.MODEL SW_LEAK VSWITCH VON=0.9 VOFF=0.1 RON=1T ROFF={2.5/Iout_leak_STB -2e3}
|
|
.MODEL SW_VB_VREF VSWITCH VON=0.9 VOFF=0.1 RON=1T ROFF=1m
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TSV639X_SHDN
|
|
*** End of subcircuit definition.
|
|
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TSV639X (WITHOUT STAND-BY) Spice macromodel subckt
|
|
***
|
|
*** Version 3.0 (March 2011)
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSV639X VP VM VCCP VCCN VS
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
LOUT VZOUT 0 {Lout}
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET194 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
VREADI_R1 VB NET0258 DC 0
|
|
VVLIM_LOW_VB NET192 NET193 DC -770m
|
|
VOS NET194 VP DC 0
|
|
VPROT_IN_P_VCCP NET196 NET229 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_enhance}
|
|
VREADIO NET0266 VS DC 0
|
|
VVLIM_HIGH_VB NET217 NET203 DC -770m
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_enhance}
|
|
V_OUTVLIM_LOW NET206 NET207 DC {Vd_compensazione}
|
|
VPROT_IN_M_VCCN NET208 NET360 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET235 NET211 DC {Vd_compensazione}
|
|
VPROT_IN_P_VCCN NET212 NET213 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET348 NET219 DC {V_DPROT}
|
|
DVLIM_HIGH_VB VB NET217 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET219 DIODE_VLIM
|
|
DVLIM_LOW_VB NET193 VB DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET208 VM DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D_OUTVLIM_LOW NET207 VB_3 DIODE_NOVd
|
|
DPROT_IN_P_VCCP NET194 NET229 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCN NET212 NET194 DIODE_VLIM
|
|
D_OUTVLIM_HIGH VB_3 NET235 DIODE_NOVd
|
|
COUT NET0394 0 {Cout}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
C_RO2_1 VB_2 VREF 10p
|
|
COUT2 VZOUT 0 {Cout2}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 72p
|
|
CCOMP VB VB_2 {Ccomp}
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 1.6599264705882346
|
|
+-0.0645833333333332 -0.01348039215686276
|
|
|
|
*E_RO1_VOH RO1_VOH 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 54 , 3.3 , 42 , 5.0 ,
|
|
*+27 )}
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 66.87132352941175 -6.6875
|
|
+-0.25735294117647034
|
|
|
|
EVLIM_HIGH_VOUT NET211 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
EZOUT_IOUT_COEFF NET0283 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 0
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN -6.574632352941173E-5
|
|
+4.014583333333334E-5 -1.5931372549019734E-7
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -106.12500000000007 +
|
|
+82.70833333333343*V(Vccp,Vccn) + 2.0833333333333175*PWR(V(Vccp,Vccn),2) )
|
|
+ -5000*I(VreadIo)}
|
|
|
|
*E_RO1_VOL RO1_VOL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 45 , 3.3 , 28 , 5.0 ,
|
|
*+23 )}
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 80.97794117647057
|
|
+-24.708333333333343 2.6225490196078454
|
|
|
|
EZOUT VB_3 NET0266
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
EVLIM_HIGH_VB NET203 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( 233.4963235294118
|
|
+-191.5625*V(Vccp,Vccn) + 15.992647058823547*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
EVLIM_LOW_VOUT NET206 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo)}
|
|
E_R1 NET0258 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
EVLIM_LOW_VB NET192 0 VCCN 0 1.0
|
|
E2_REF NET362 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET356 0 1.0
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E1_REF NET326 0 VCCP 0 1.0
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.7685661764705877 + 0.027291666666666915*V(Vccp,Vccn) +
|
|
+0.0037990196078431008*PWR(V(Vccp,Vccn),2) )}
|
|
RIN_DIFF VP VM 1T
|
|
RO2_1 VB_2 VREF {Ro2_1}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RO2_2 VB_3 VB_2 {Ro2_2}
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET0283 50
|
|
ROUT NET0394 VZOUT {Rout}
|
|
RPROT_IN_P_VCCP NET196 VCCP 100
|
|
RPROT_IN_M_VCCP VCCP NET348 100
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
R1_REF NET326 NET356 1Meg
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET360 15K
|
|
R2_REF NET356 NET362 1Meg
|
|
RPROT_IN_P_VCCN NET213 VCCN 15K
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 10*( 1 -
|
|
+exp(-abs(V(v_Io_val))/3m )) ) }
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
|
|
*G_IIB_VM VREF VM TABLE {V(Vccp,Vccn)} = (+1.8 1p) (+3.3 1p) (+5.0 1p)
|
|
G_IIB_VM VREF VM VALUE={1p}
|
|
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 4.027205882352942E-5
|
|
+3.958333333333329E-6 -1.2254901960784258E-7
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
|
|
*G_IIB_VP VREF VP TABLE {V(Vccp,Vccn)} = (+1.8 1p) (+3.3 1p) (+5.0 1p)
|
|
G_IIB_VP VREF VP VALUE={1p}
|
|
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSV6391 subckt:
|
|
*
|
|
.PARAM RINCM=2.0828E+11
|
|
.PARAM CINCM=6.6478E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM CINDIFF=3.5657E-12
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=95m
|
|
.PARAM Ro = 223872
|
|
.PARAM A0_source = 5.959352977968012e+7
|
|
.PARAM A0_sink = 0.6e+6
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=2.65p
|
|
.PARAM IEE=3u
|
|
.PARAM W=1.06u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=3.990140517663634e-05
|
|
.PARAM Lout = 220u
|
|
.PARAM Rout = 1.95k
|
|
.PARAM Cout = 105p
|
|
.PARAM Cout2 = 3p
|
|
.PARAM Zout_Iout_coeff_MIN= 0.04
|
|
.PARAM Iout_dc_tau__source = 0.17m
|
|
.PARAM Iout_dc_tau__sink = 0.03m
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2 }
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
.ENDS TSV639X
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TSV71X Spice macromodel subckt
|
|
***
|
|
*** October 2013
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSV71X VP VM VCCP VCCN VS
|
|
LOUT VZOUT 0 {LOUT}
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET229 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
VREADI_R1 VB NET367 DC 0
|
|
VVLIM_LOW_VB NET227 NET228 DC -770m
|
|
VOS NET229 VP DC 0
|
|
VPROT_IN_P_VCCP NET231 NET264 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_ENHANCE}
|
|
VREADIO NET0300 VS DC 0
|
|
VVLIM_HIGH_VB NET252 NET238 DC -770m
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_ENHANCE}
|
|
V_OUTVLIM_LOW NET241 NET242 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_M_VCCN NET243 NET425 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET270 NET246 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_P_VCCN NET247 NET248 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET411 NET254 DC {V_DPROT}
|
|
DVLIM_HIGH_VB VB NET252 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET254 DIODE_VLIM
|
|
DVLIM_LOW_VB NET228 VB DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET243 VM DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D_OUTVLIM_LOW NET242 VB_3 DIODE_NOVd
|
|
DPROT_IN_P_VCCP NET229 NET264 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCN NET247 NET229 DIODE_VLIM
|
|
D_OUTVLIM_HIGH VB_3 NET270 DIODE_NOVd
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
COUT2 VZOUT 0 {COUT2}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
C_RO2_1 VB_2 VREF 100p
|
|
COUT NET404 0 {COUT}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 270p
|
|
CCOMP VB VB_2 {CCOMP}
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 1.9898897058823524
|
|
+-0.096875 -0.02022058823529411
|
|
EZOUT_IOUT_COEFF NET295 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
EZOUT VB_3 NET0300
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 0
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 113.44485294117663
|
|
+-51.54738562091519 10.31794662309373 -0.7012527233115518
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN -5.948529411764708E-6
|
|
+8.20833333333334E-6 -5.637254901960795E-7
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 168.70680147058854
|
|
+-76.77369281045773 14.837792755991346 -0.9582652505446686
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -93.33088235294122 +
|
|
+75.2083333333334*V(Vccp,Vccn) -2.328431372549031*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
EVLIM_HIGH_VOUT NET246 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
EVLIM_LOW_VOUT NET241 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo)}
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
EVLIM_HIGH_VB NET238 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( 88.5147058823529
|
|
+-87.08333333333337*V(Vccp,Vccn) + 2.6960784313725568*PWR(V(Vccp,Vccn),2)
|
|
+) -5000*I(VreadIo)}
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E_R1 NET367 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
EVLIM_LOW_VB NET227 0 VCCN 0 1.0
|
|
E2_REF NET427 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET421 0 1.0
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E1_REF NET387 0 VCCP 0 1.0
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.7406249999999998 -0.02104166666666665*V(Vccp,Vccn) +
|
|
+0.014583333333333334*PWR(V(Vccp,Vccn),2) )}
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET295 50
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RIN_DIFF VP VM {RIN_DIFF}
|
|
ROUT NET404 VZOUT {ROUT}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RO2_2 VB_3 VB_2 {RO2_2}
|
|
RPROT_IN_P_VCCP NET231 VCCP 100
|
|
RPROT_IN_M_VCCP VCCP NET411 100
|
|
RO2_1 VB_2 VREF {RO2_1}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
R1_REF NET387 NET421 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET425 15K
|
|
R2_REF NET421 NET427 1Meg
|
|
RPROT_IN_P_VCCN NET248 VCCN 15K
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 2*( 1 -
|
|
+exp(-abs(V(v_Io_val))/3m )) ) }
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_IIB_VM VREF VM VALUE={1p}
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 7.771575630252083E-6
|
|
+9.571778711484804E-7 -4.0161064425771053E-7 5.602240896358624E-8
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
G_IIB_VP VREF VP VALUE={1p}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSV711 subckt:
|
|
*
|
|
.PARAM VCC_MIN=1.0
|
|
.PARAM RINCM=5.4959E+10
|
|
.PARAM CINCM=3.9597E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RINDIFF=7.7132E+10
|
|
.PARAM CINDIFF=2.7050E-12
|
|
.PARAM RIN_DIFF={(2*RINCM*RINDIFF)/(2*RINCM - RINDIFF)}
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=58m
|
|
.PARAM Ro = 3.5758e+6
|
|
.PARAM A0_source = 4.9841e+10
|
|
.PARAM A0_sink = 2e+8
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=8p
|
|
.PARAM IEE=0.48u
|
|
.PARAM W=0.24u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=7.5957E-06
|
|
.PARAM Lout = 10m
|
|
.PARAM Rout = 5600
|
|
.PARAM Cout = 5n
|
|
.PARAM Cout2 = 2p
|
|
.PARAM Zout_Iout_coeff_MIN= 0.04
|
|
.PARAM Iout_dc_tau__source = 0.03m
|
|
.PARAM Iout_dc_tau__sink = 0.03m
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2}
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TSV71X
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TSV73X Spice macromodel subckt
|
|
***
|
|
*** October 2013
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSV73X VP VM VCCP VCCN VS
|
|
LOUT VZOUT 0 {LOUT}
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET229 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
VREADI_R1 VB NET367 DC 0
|
|
VVLIM_LOW_VB NET227 NET228 DC -770m
|
|
VOS NET229 VP DC 0
|
|
VPROT_IN_P_VCCP NET231 NET264 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_ENHANCE}
|
|
VREADIO NET0303 VS DC 0
|
|
VVLIM_HIGH_VB NET252 NET238 DC -770m
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_ENHANCE}
|
|
V_OUTVLIM_LOW NET241 NET242 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_M_VCCN NET243 NET425 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET270 NET246 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_P_VCCN NET247 NET248 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET411 NET254 DC {V_DPROT}
|
|
DVLIM_HIGH_VB VB NET252 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET254 DIODE_VLIM
|
|
DVLIM_LOW_VB NET228 VB DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET243 VM DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D_OUTVLIM_LOW NET242 VB_3 DIODE_NOVd
|
|
DPROT_IN_P_VCCP NET229 NET264 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCN NET247 NET229 DIODE_VLIM
|
|
D_OUTVLIM_HIGH VB_3 NET270 DIODE_NOVd
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
COUT2 VZOUT 0 {COUT2}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
C_RO2_1 VB_2 VREF 10p
|
|
COUT NET404 0 {COUT}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 70p
|
|
CCOMP VB VB_2 {CCOMP}
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 1.2658088235294107
|
|
+-0.04458333333333293 -0.0017156862745098572
|
|
EZOUT_IOUT_COEFF NET295 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
EZOUT VB_3 NET0303
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 0
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 110.9242647058825
|
|
+-49.73692810457526 10.200844226579546 -0.7284858387799591
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN -2.36360294117647E-5
|
|
+1.3020833333333336E-5 6.127450980392101E-8
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 146.64927604629733
|
|
+-57.06821115221597 10.08811372501539 -0.6184765828040271
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -90.4080882352941 +
|
|
+69.0625*V(Vccp,Vccn) + 0.18382352941175562*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
EVLIM_HIGH_VOUT NET246 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
EVLIM_LOW_VOUT NET241 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo)}
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
EVLIM_HIGH_VB NET238 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( 128.88235294117635
|
|
+-110.83333333333334*V(Vccp,Vccn) + 3.431372549019611*PWR(V(Vccp,Vccn),2)
|
|
+) -5000*I(VreadIo)}
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E_R1 NET367 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
EVLIM_LOW_VB NET227 0 VCCN 0 1.0
|
|
E2_REF NET427 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET421 0 1.0
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E1_REF NET387 0 VCCP 0 1.0
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.9340073529411762 + 0.006458333333333389*V(Vccp,Vccn) +
|
|
+0.0013480392156862708*PWR(V(Vccp,Vccn),2) )}
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET295 50
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RIN_DIFF VP VM {RIN_DIFF}
|
|
ROUT NET404 VZOUT {ROUT}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RO2_2 VB_3 VB_2 {RO2_2}
|
|
RPROT_IN_P_VCCP NET231 VCCP 100
|
|
RPROT_IN_M_VCCP VCCP NET411 100
|
|
RO2_1 VB_2 VREF {RO2_1}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
R1_REF NET387 NET421 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET425 15K
|
|
R2_REF NET421 NET427 1Meg
|
|
RPROT_IN_P_VCCN NET248 VCCN 15K
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 5*( 1 -
|
|
+exp(-abs(V(v_Io_val))/3m )) ) }
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_IIB_VM VREF VM VALUE={1p}
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 5.38544117647059E-5
|
|
+7.916666666666461E-7 -2.450980392156583E-8
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
G_IIB_VP VREF VP VALUE={1p}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSV731 subckt:
|
|
*
|
|
**************
|
|
************** MACROMODEL PARAMS elencati nell'ordine in cui vengono DIMENSIONATI
|
|
**************
|
|
.PARAM VCC_MIN=1.0
|
|
.PARAM RINCM=5.4959E+10
|
|
.PARAM CINCM=3.9650E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RINDIFF=7.7132E+10
|
|
.PARAM CINDIFF=2.7050E-12
|
|
.PARAM RIN_DIFF={(2*RINCM*RINDIFF)/(2*RINCM - RINDIFF)}
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=130.3m
|
|
.PARAM Ro = 7.1766E+05
|
|
.PARAM A0_source = 2.7e+11
|
|
.PARAM A0_sink = 7e+7
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=8p
|
|
.PARAM IEE=2.8u
|
|
.PARAM W=1.4617u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=4.5275E-05
|
|
.PARAM Lout = 450u
|
|
.PARAM Rout = 460
|
|
.PARAM Cout = 15n
|
|
.PARAM Cout2 = 2p
|
|
.PARAM Zout_Iout_coeff_MIN= 0.04
|
|
.PARAM Iout_dc_tau__source = 0.03m
|
|
.PARAM Iout_dc_tau__sink = 0.03m
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2}
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TSV73X
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TSV85X_SHDN (WITH STAND-BY) Spice macromodel subckt
|
|
***
|
|
*** November 2011
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | | STAND-BY
|
|
**** | | | | | |
|
|
.SUBCKT TSV85X_SHDN VP VM VCCP VCCN VS STB
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
LOUT VZOUT 0 {Lout}
|
|
S_SW_OUT VS_STB VS VSTB_CTRL 0 SW_OUT
|
|
S_SW_LEAK VS 0 VSTB_CTRL 0 SW_LEAK
|
|
S_SW_VB2_VS VB_2 NET0220 VSTB_CTRL 0 SW_VB2_VS
|
|
S_SW_VB_VREF VB NET0224 VSTB_CTRL 0 SW_VB_VREF
|
|
G_IEE_STB VEE_N VCCN_ENHANCED POLY(2) VSTB_CTRL 0 IEE_val 0 0 0 0 0 1
|
|
G_ICC_STB VCCP VCCN POLY(2) VSTB_CTRL 0 Icc_val 0 0 0 0 0 1
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
G2_ICC_STB VCCP VCCN VALUE={ICC_STB*( 1-V(VSTB_ctrl) )}
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high)*V(VSTB_ctrl), 0)}
|
|
G_IIB_VP VP VREF POLY(2) VSTB_CTRL 0 Iib_VP_val 0 0 0 0 0 1
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low)*V(VSTB_ctrl) , 0)}
|
|
G_ISTB 0 STB VALUE={ Iil_STB*(1-V(VSTB_one)) -Iih_STB*V(VSTB_one)}
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_IIB_VM VM VREF POLY(2) VSTB_CTRL 0 Iib_VM_val 0 0 0 0 0 1
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 11*( 1 -
|
|
+exp(-abs(V(v_Io_val))/6m )) ) }
|
|
RIN_DIFF VP VM {RIN_DIFF}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
R1_REF NET287 NET247 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET243 15K
|
|
R2_REF NET247 NET241 1Meg
|
|
ROUT NET0584 VZOUT {Rout}
|
|
RPROT_IN_P_VCCN NET406 VCCN 15K
|
|
RSTB_CTRL VSTB_CTRL VSTB_ONE {RSTB_ctrl}
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
RO2_2 VB_3 VB_2 {Ro2_2}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RPROT_IN_M_VCCP VCCP NET253 100
|
|
RPROT_IN_P_VCCP NET421 VCCP 100
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET0363 50
|
|
RO2_1 VB_2 VREF {Ro2_1}
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 136.08695652173913
|
|
+-15.217391304347831
|
|
E_VOL_NORL VOL_NORL 0 POLY(1) VCCP VCCN 0.0608695652173913
|
|
+-0.002173913043478261
|
|
EZOUT VB_3 NET0242
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
EVLIM_LOW_VOUT NET411 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo) +
|
|
+V(VOL_noRL) }
|
|
E_VIL VIL_STB_VAL 0 POLY(1) VCCP VCCN 0.2851851847826086
|
|
+-0.03703703695652173
|
|
E_IIB_VM_VAL IIB_VM_VAL 0 VALUE={-27n}
|
|
EVLIM_HIGH_VOUT NET408 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
EREAD_VS NET0220 0 VS 0 1.0
|
|
ESTB VSTB_ONE 0 VALUE={IF( (V(STB,Vccn)/V(Vccp,Vccn)) >=
|
|
+V(VIH_STB_val) , 1 , V(VSTB_zero) )}
|
|
EREAD_VREF NET0224 0 VREF 0 1.0
|
|
E_VIH VIH_STB_VAL 0 POLY(1) VCCP VCCN 0.7148148130434779
|
|
+0.03703703739130437
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 4.260869565217392
|
|
+-0.6521739130434785
|
|
E0 VSTB_ZERO 0 VALUE={IF( (V(STB,Vccn)/V(Vccp,Vccn)) <=
|
|
+V(VIL_STB_val) , 0 , 0.5 )}
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E2_REF NET241 0 VCCN 0 1.0
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_R1 NET311 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
EZOUT_IOUT_COEFF NET0363 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
EVLIM_LOW_VB NET425 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET247 0 1.0
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.6891304347826086 + 0.062173913043478246*V(Vccp,Vccn) )}
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_IIB_VP_VAL IIB_VP_VAL 0 VALUE={-27n}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 0
|
|
E_ICC ICC_VAL 0 POLY(1) VCCP VCCN 1.0444086956521737E-4
|
|
+4.3478260869565205E-6
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -183.1086956521739 +
|
|
+106.5217391304348*V(Vccp,Vccn) ) -5000*I(VreadIo)}
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN 3.3730434782608675E-4
|
|
+4.1739130434782646E-5
|
|
EVLIM_HIGH_VB NET416 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( -29.71739130434781
|
|
+-36.95652173913044*V(Vccp,Vccn) ) -5000*I(VreadIo)}
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 103.39130434782608
|
|
+-13.47826086956522
|
|
E1_REF NET287 0 VCCP 0 1.0
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
CSTB_CTRL VSTB_CTRL 0 1n
|
|
COUT NET0584 0 {Cout}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 18p
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CCOMP VB VB_2 {Ccomp}
|
|
COUT2 VZOUT 0 {Cout2}
|
|
C_RO2_1 VB_2 VREF 5p
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCP NET423 NET388 DIODE_VLIM
|
|
DVLIM_HIGH_VB VB NET400 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET398 DIODE_VLIM
|
|
DVLIM_LOW_VB NET426 VB DIODE_VLIM
|
|
D_OUTVLIM_LOW NET412 VB_3 DIODE_NOVd
|
|
D_OUTVLIM_HIGH VB_3 NET382 DIODE_NOVd
|
|
DPROT_IN_M_VCCN NET409 VM DIODE_VLIM
|
|
DPROT_IN_P_VCCN NET405 NET423 DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
V_IEE IEE_VAL 0 DC {IEE}
|
|
VPROT_IN_M_VCCP NET253 NET398 DC {V_DPROT}
|
|
VREADI_R1 VB NET311 DC 0
|
|
VVLIM_LOW_VB NET425 NET426 DC -770m
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_enhance}
|
|
VPROT_IN_P_VCCP NET421 NET388 DC {V_DPROT}
|
|
VOS NET423 VP DC 0
|
|
VVLIM_HIGH_VB NET400 NET416 DC -770m
|
|
V_OUTVLIM_LOW NET411 NET412 DC {Vd_compensazione}
|
|
VPROT_IN_M_VCCN NET409 NET243 DC {V_DPROT}
|
|
VREADIO NET0242 VS_STB DC 0
|
|
VPROT_IN_P_VCCN NET405 NET406 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET382 NET408 DC {Vd_compensazione}
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_enhance}
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET423 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSV850 subckt:
|
|
*
|
|
.PARAM RINCM=4.3598E+08
|
|
.PARAM CINCM=4.9396E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RINDIFF=8.7288E+08
|
|
.PARAM CINDIFF=2.3471E-12
|
|
.PARAM RIN_DIFF=1T
|
|
.PARAM CIN_DIFF=1f
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=3.4m
|
|
.PARAM Ro = 85.35k
|
|
.PARAM A0_source = 25118864
|
|
.PARAM A0_sink = 0.9e+6
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=5.5p
|
|
.PARAM IEE=3.86u
|
|
.PARAM W=1.6u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=5.561e-05
|
|
.PARAM Lout = 5u
|
|
.PARAM Rout = 890
|
|
.PARAM Cout = 0.03n
|
|
.PARAM Cout2 = 4p
|
|
.PARAM Zout_Iout_coeff_MIN= 0.04
|
|
.PARAM Iout_dc_tau__source = 0.9m
|
|
.PARAM Iout_dc_tau__sink = 0.03m
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2}
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
.PARAM ICC_STB = 2.5n
|
|
.PARAM Iout_leak_STB = 50p
|
|
.PARAM RSTB_ctrl = 33
|
|
.PARAM Iil_STB = 10p
|
|
.PARAM Iih_STB = 10p
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL SW_OUT VSWITCH VON=0.9 VOFF=0.1 RON=1m ROFF=1T
|
|
.MODEL SW_LEAK VSWITCH VON=0.9 VOFF=0.1 RON=1T ROFF={2.5/Iout_leak_STB -2e3}
|
|
.MODEL SW_VB2_VS VSWITCH VON=0.9 VOFF=0.1 RON=1T ROFF=1m
|
|
.MODEL SW_VB_VREF VSWITCH VON=0.9 VOFF=0.1 RON=1T ROFF=1m
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TSV85X_SHDN
|
|
|
|
****************************************************************************
|
|
****
|
|
*** November 2011
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSV85X VP VM VCCP VCCN VS
|
|
LOUT VZOUT 0 {Lout}
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET194 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
VREADI_R1 VB NET0258 DC 0
|
|
VVLIM_LOW_VB NET192 NET193 DC -770m
|
|
VOS NET194 VP DC 0
|
|
VPROT_IN_P_VCCP NET196 NET229 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_enhance}
|
|
VREADIO NET0329 VS DC 0
|
|
VVLIM_HIGH_VB NET217 NET203 DC -770m
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_enhance}
|
|
V_OUTVLIM_LOW NET206 NET207 DC {Vd_compensazione}
|
|
VPROT_IN_M_VCCN NET208 NET360 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET235 NET211 DC {Vd_compensazione}
|
|
VPROT_IN_P_VCCN NET212 NET213 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET348 NET219 DC {V_DPROT}
|
|
DVLIM_HIGH_VB VB NET217 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET219 DIODE_VLIM
|
|
DVLIM_LOW_VB NET193 VB DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET208 VM DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D_OUTVLIM_LOW NET207 VB_3 DIODE_NOVd
|
|
DPROT_IN_P_VCCP NET194 NET229 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCN NET212 NET194 DIODE_VLIM
|
|
D_OUTVLIM_HIGH VB_3 NET235 DIODE_NOVd
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
COUT2 VZOUT 0 {Cout2}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
C_RO2_1 VB_2 VREF 5p
|
|
COUT NET0410 0 {Cout}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 18p
|
|
CCOMP VB VB_2 {Ccomp}
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 136.08695652173913
|
|
+-15.217391304347831
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 4.260869565217392
|
|
+-0.6521739130434785
|
|
EZOUT_IOUT_COEFF NET0295 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
EZOUT VB_3 NET0329
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.6891304347826086 + 0.062173913043478246*V(Vccp,Vccn) )}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 0
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN 3.3730434782608675E-4
|
|
+4.1739130434782646E-5
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 103.39130434782608
|
|
+-13.47826086956522
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -183.1086956521739 +
|
|
+106.5217391304348*V(Vccp,Vccn) ) -5000*I(VreadIo)}
|
|
EVLIM_HIGH_VOUT NET211 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
EVLIM_LOW_VOUT NET206 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo) +
|
|
+V(VOL_noRL) }
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
EVLIM_HIGH_VB NET203 0 VCCP 0 1.0
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E_R1 NET0258 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
EVLIM_LOW_VB NET192 0 VCCN 0 1.0
|
|
E2_REF NET362 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET356 0 1.0
|
|
E_VOL_NORL VOL_NORL 0 POLY(1) VCCP VCCN 0.0608695652173913
|
|
+-0.002173913043478261
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E1_REF NET326 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( -29.71739130434781
|
|
+-36.95652173913044*V(Vccp,Vccn) ) -5000*I(VreadIo)}
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET0295 50
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RIN_DIFF VP VM {RIN_DIFF}
|
|
ROUT NET0410 VZOUT {Rout}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RO2_2 VB_3 VB_2 {Ro2_2}
|
|
RPROT_IN_P_VCCP NET196 VCCP 100
|
|
RPROT_IN_M_VCCP VCCP NET348 100
|
|
RO2_1 VB_2 VREF {Ro2_1}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
R1_REF NET326 NET356 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET360 15K
|
|
R2_REF NET356 NET362 1Meg
|
|
RPROT_IN_P_VCCN NET213 VCCN 15K
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 11*( 1 -
|
|
+exp(-abs(V(v_Io_val))/6m )) ) }
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_IIB_VM VREF VM VALUE={27n}
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 1.0444086956521737E-4
|
|
+4.3478260869565205E-6
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
G_IIB_VP VREF VP VALUE={27n}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSV851 subckt:
|
|
*
|
|
.PARAM RINCM=4.3598E+08
|
|
.PARAM CINCM=4.9396E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RINDIFF=8.7288E+08
|
|
.PARAM CINDIFF=2.3471E-12
|
|
.PARAM RIN_DIFF=1T
|
|
.PARAM CIN_DIFF=1f
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=3.4m
|
|
.PARAM Ro = 85.35k
|
|
.PARAM A0_source = 25118864
|
|
.PARAM A0_sink = 0.9e+6
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=5.5p
|
|
.PARAM IEE=3.86u
|
|
.PARAM W=1.6u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=5.561e-05
|
|
.PARAM Lout = 5u
|
|
.PARAM Rout = 890
|
|
.PARAM Cout = 0.03n
|
|
.PARAM Cout2 = 4p
|
|
.PARAM Zout_Iout_coeff_MIN= 0.04
|
|
.PARAM Iout_dc_tau__source = 0.9m
|
|
.PARAM Iout_dc_tau__sink = 0.03m
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2}
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TSV85X
|
|
|
|
|
|
|
|
|
|
****************************************************************************
|
|
****
|
|
**** TSV91X Spice macromodel subckt
|
|
****
|
|
*** Version 2.1 (April 2015)
|
|
****
|
|
*********** CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSV91X VP VM VCCP VCCN VS
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET0158 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
HILIM_ICCP NET0241 0 V_OUTVLIM_HIGH -235
|
|
HILIM_ICCN NET0249 0 V_OUTVLIM_LOW 235
|
|
V_OUTVLIM_HIGH NET0201 NET0177 DC -770m
|
|
VVLIM_LOW_VB NET0109 NET0110 DC -770m
|
|
VOS NET0158 VP DC 0
|
|
VPROT_IN_P_VCCP NET0123 NET0134 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC -360m
|
|
VVLIM_HIGH_VB NET0136 NET0153 DC -770m
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC -500m
|
|
VPROT_IN_M_VCCN NET0116 NET0192 DC {V_DPROT}
|
|
VPROT_IN_P_VCCN NET0115 NET096 DC {V_DPROT}
|
|
V_OUTVLIM_LOW NET0182 NET0183 DC -770m
|
|
VPROT_IN_M_VCCP NET0190 NET0135 DC {V_DPROT}
|
|
VREADIO NET0342 VS DC 0
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DILIM_ICCN NET0206 VB_3 DIODE_ILIM
|
|
D_OUTVLIM_LOW NET0183 VB_3 DIODE_VLIM
|
|
DVLIM_HIGH_VB VB NET0136 DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
DPROT_IN_M_VCCP VM NET0135 DIODE_VLIM
|
|
DVLIM_LOW_VB NET0110 VB DIODE_VLIM
|
|
D_OUTVLIM_HIGH VB_3 NET0201 DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET0116 VM DIODE_VLIM
|
|
DPROT_IN_P_VCCP NET0158 NET0134 DIODE_VLIM
|
|
DPROT_IN_P_VCCN NET0115 NET0158 DIODE_VLIM
|
|
DILIM_ICCP VB_3 NET0203 DIODE_ILIM
|
|
CGATE_VP_PARASITIC VP VREF 7p
|
|
CCOMP VB VB_2 {Ccomp}
|
|
CBD2_PARASITIC VO_DIFF_MINUS VCCN_ENHANCED 7p
|
|
CGD2_PARASITIC VO_DIFF_MINUS VM 300.0f
|
|
CBD1_PARASITIC VO_DIFF_PLUS VCCN_ENHANCED 7p
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 200.0f
|
|
CGATE_VM_PARASITIC VM VREF 7p
|
|
CGD1_PARASITIC VO_DIFF_PLUS NET0158 300.0f
|
|
|
|
*Eldo:
|
|
*E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
*+VALUE={VALIF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
*PSpice:
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ 174.5 -5000*I(VreadIo)}
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN 0.0023261764705882347
|
|
+-5.5705882352941006E-5 5.294117647058802E-6
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 0.0023261764705882347
|
|
+-5.5705882352941006E-5 5.294117647058802E-6
|
|
EVLIM_HIGH_VB NET0153 0 VCCP 0 1.0
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
|
|
*Eldo:
|
|
*E_RO1 VB_3 NET0342 VALUE={VALIF(I(VreadIo)>0,
|
|
*+V(Ro1_Voh)*I(VreadIo),V(Ro1_Vol)*I(VreadIo))}
|
|
*PSpice:
|
|
E_RO1 VB_3 NET0342 VALUE={IF(I(VreadIo)>0,
|
|
+V(Ro1_Voh)*I(VreadIo),V(Ro1_Vol)*I(VreadIo))}
|
|
|
|
EVLIM_LOW_VB NET0109 0 VCCN 0 1.0
|
|
EILIM_ICCN NET0206 NET0249 VB_3 0 1.0
|
|
E2_REF NET0238 0 VCCN 0 1.0
|
|
EVLIM_HIGH_VOUT NET0177 0 VCCP 0 1.0
|
|
E_VREF VREF 0 NET0250 0 1.0
|
|
|
|
*Eldo:
|
|
*E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
*+VALUE={VALIF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
*E_VDEP_SINK_3 VDEP_SINK 0 VALUE={VALIF( abs(I(VreadIo))<1m , 0 ,
|
|
*+V(val_vdep_sink_filtered))}
|
|
*E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={VALIF( abs(I(VreadIo))<1m , 0 ,
|
|
*+V(val_vdep_source_filtered))}
|
|
*PSpice:
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
|
|
*Eldo:
|
|
*E_RO1_VOL RO1_VOL 0 PWL(1) VCCP VCCN ( 2.5 , 14 ) ( 3.3 , 11 ) ( 5.0 , 7.5 )
|
|
*PSpice:
|
|
*E_RO1_VOL RO1_VOL 0 VALUE={TABLE(V(VCCP,VCCN), 2.5 , 14 , 3.3 , 11 , 5.0 , 7.5 )}
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 28.955882352941185
|
|
+-7.673529411764715 0.6764705882352953
|
|
|
|
E1_REF NET0210 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ -159.5 -5000*I(VreadIo)}
|
|
EVLIM_LOW_VOUT NET0182 0 VCCN 0 1.0
|
|
|
|
*Eldo:
|
|
*E_RO1_VOH RO1_VOH 0 PWL(1) VCCP VCCN ( 2.5 , 14 ) ( 3.3 , 11 ) ( 5.0 , 7.5 )
|
|
*PSpice:
|
|
*E_RO1_VOH RO1_VOH 0 VALUE={TABLE(V(VCCP,VCCN), 2.5 , 14 , 3.3 , 11 , 5.0 , 7.5 )}
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 28.955882352941185
|
|
+-7.673529411764715 0.6764705882352953
|
|
|
|
EILIM_ICCP NET0203 NET0241 VB_3 0 1.0
|
|
RO2_2 VB_3 VB_2 {Ro2_2}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RPROT_IN_P_VCCP NET0123 VCCP 1K
|
|
RPROT_IN_M_VCCP VCCP NET0190 1K
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
RO2_1 VREF VB_2 {Ro2_1}
|
|
R1_REF NET0210 NET0250 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
R1 VB VREF {R1}
|
|
RPROT_IN_M_VCCN VCCN NET0192 15K
|
|
R2_REF NET0250 NET0238 1Meg
|
|
RPROT_IN_P_VCCN NET096 VCCN 15K
|
|
|
|
*Eldo:
|
|
*G_ICCSAT_OUTLOW VCCP VCCN VALUE={VALIF(I(V_OUTVLIM_LOW)>1u ,
|
|
*+V(Icc_out_low) , 0)}
|
|
*PSpice:
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
|
|
*Eldo:
|
|
*G_IOUT_SOUCED VCCP 0 VALUE={VALIF(I(VreadIo)>0, I(VreadIo),0)}
|
|
*G_ICCSAT_OUTHIGH VCCP VCCN VALUE={VALIF(I(V_OUTVLIM_HIGH)>1u ,
|
|
*+V(Icc_out_high), 0)}
|
|
*PSpice:
|
|
G_IOUT_SOUCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
|
|
G_I_VB VB_2 VREF POLY(1) VB VREF 7.773528173127232E-19
|
|
+0.010310813241023556 0 0.1401392933601382
|
|
GM1 VREF VB VOUT_DIFF 0 {1/RD}
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN +6.321735294117647E-4
|
|
++5.570588235294106E-5 -5.294117647058808E-6
|
|
|
|
*Eldo:
|
|
*G_IOUT_SINKED VCCN 0 VALUE={VALIF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
*PSpice:
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
|
|
.PARAM RD=1k
|
|
.PARAM Ccomp=8.5p
|
|
.PARAM IEE=41.65u
|
|
.PARAM A0=97.93103448E3
|
|
.PARAM Ro=17587.2
|
|
.PARAM W=20u
|
|
.PARAM L=2u
|
|
.PARAM gm_mos=0.0004565941678681337
|
|
.PARAM GB=11m
|
|
.PARAM Ro1=11
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={Ro - Ro2_2 - Ro1}
|
|
.PARAM R1={A0/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
|
|
*Eldo:
|
|
*.MODEL MOS_N NMOS LEVEL=1 MODTYPE=ELDO VTO=+0.65 KP=500E-6
|
|
*.MODEL DIODE_VLIM D LEVEL=1 MODTYPE=ELDO IS=0.8E-15
|
|
*.MODEL DIODE_ILIM D LEVEL=1 MODTYPE=ELDO IS=0.8E-15
|
|
*.MODEL DX D LEVEL=1 MODTYPE=ELDO IS=1E-14
|
|
*PSpice:
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DX D LEVEL=1 IS=1E-14
|
|
|
|
.ENDS TSV91X
|
|
|
|
****************************************************************************
|
|
****
|
|
**** TSV99X Spice macromodel subckt
|
|
****
|
|
*** Version 2.1 (April 2015)
|
|
****
|
|
*********** CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSV99X VP VM VCCP VCCN VS
|
|
HILIM_ICCN NET0477 0 V_OUTVLIM_LOW 235
|
|
HILIM_ICCP NET0437 0 V_OUTVLIM_HIGH -235
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET0158 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
V_OUTVLIM_LOW NET0372 NET0373 DC -770m
|
|
VVLIM_LOW_VB NET0109 NET0110 DC -770m
|
|
VREADIO NET0481 VS DC 0
|
|
VOS NET0158 VP DC 0
|
|
VPROT_IN_P_VCCP NET0123 NET0134 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC -360m
|
|
VVLIM_HIGH_VB NET0180 NET0153 DC -770m
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC -500m
|
|
VPROT_IN_M_VCCN NET0116 NET0192 DC {V_DPROT}
|
|
VPROT_IN_P_VCCN NET0115 NET096 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET0190 NET0135 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET0397 NET0375 DC -770m
|
|
DILIM_ICCN NET0402 VB_3 DIODE_ILIM
|
|
DVLIM_HIGH_VB VB NET0180 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET0135 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
D_OUTVLIM_LOW NET0373 VB_3 DIODE_VLIM
|
|
DVLIM_LOW_VB NET0110 VB DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D_OUTVLIM_HIGH VB_3 NET0397 DIODE_VLIM
|
|
DILIM_ICCP VB_3 NET0395 DIODE_ILIM
|
|
DPROT_IN_M_VCCN NET0116 VM DIODE_VLIM
|
|
DPROT_IN_P_VCCP NET0158 NET0134 DIODE_VLIM
|
|
DPROT_IN_P_VCCN NET0115 NET0158 DIODE_VLIM
|
|
CGATE_VM_PARASITIC VM VREF 7p
|
|
CGATE_VP_PARASITIC VP VREF 7p
|
|
CCOMP VB VB_2 {Ccomp}
|
|
CBD2_PARASITIC VO_DIFF_MINUS VCCN_ENHANCED 7p
|
|
CGD2_PARASITIC VO_DIFF_MINUS VM 200.0f
|
|
CBD1_PARASITIC VO_DIFF_PLUS VCCN_ENHANCED 7p
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 200.0f
|
|
CGD1_PARASITIC VO_DIFF_PLUS NET0158 200.0f
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN 0.0023261764705882347
|
|
+-5.5705882352941006E-5 5.294117647058802E-6
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
EVLIM_HIGH_VB NET0153 0 VCCP 0 1.0
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ 174.5 -5000*I(VreadIo)}
|
|
EVLIM_LOW_VB NET0109 0 VCCN 0 1.0
|
|
|
|
*Eldo:
|
|
*E_RO1_VOL RO1_VOL 0 PWL(1) VCCP VCCN ( 2.5 , 14 ) ( 3.3 , 11 ) ( 5.0 , 7.5 )
|
|
*PSpice:
|
|
*E_RO1_VOL RO1_VOL 0 VALUE={TABLE(V(VCCP,VCCN), 2.5 , 14 , 3.3 , 11 , 5.0 , 7.5 )}
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 28.955882352941185
|
|
+-7.673529411764715 0.6764705882352953
|
|
|
|
E2_REF NET0238 0 VCCN 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ -159.5 -5000*I(VreadIo)}
|
|
|
|
*Eldo:
|
|
*E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
*+VALUE={VALIF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
*PSpice:
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 0.0023261764705882347
|
|
+-5.5705882352941006E-5 5.294117647058802E-6
|
|
E_VREF VREF 0 NET0250 0 1.0
|
|
|
|
*Eldo:
|
|
*E_RO1_VOH RO1_VOH 0 PWL(1) VCCP VCCN ( 2.5 , 14 ) ( 3.3 , 11 ) ( 5.0 , 7.5 )
|
|
*PSpice:
|
|
*E_RO1_VOH RO1_VOH 0 VALUE={TABLE(V(VCCP,VCCN), 2.5 , 14 , 3.3 , 11 , 5.0 , 7.5 )}
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 28.955882352941185
|
|
+-7.673529411764715 0.6764705882352953
|
|
|
|
*Eldo:
|
|
*E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={VALIF( abs(I(VreadIo))<1m , 0 ,
|
|
*+V(val_vdep_source_filtered))}
|
|
*PSpice:
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
|
|
EILIM_ICCP NET0395 NET0437 VB_3 0 1.0
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
EILIM_ICCN NET0402 NET0477 VB_3 0 1.0
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
|
|
*Eldo:
|
|
*E_RO1 VB_3 NET0481 VALUE={VALIF(I(VreadIo)>0,
|
|
*+V(Ro1_Voh)*I(VreadIo),V(Ro1_Vol)*I(VreadIo))}
|
|
*E_VDEP_SINK_3 VDEP_SINK 0 VALUE={VALIF( abs(I(VreadIo))<1m , 0 ,
|
|
*+V(val_vdep_sink_filtered))}
|
|
*PSpice:
|
|
E_RO1 VB_3 NET0481 VALUE={IF(I(VreadIo)>0,
|
|
+V(Ro1_Voh)*I(VreadIo),V(Ro1_Vol)*I(VreadIo))}
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
|
|
E1_REF NET0210 0 VCCP 0 1.0
|
|
EVLIM_LOW_VOUT NET0372 0 VCCN 0 1.0
|
|
|
|
*Eldo:
|
|
*E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
*+VALUE={VALIF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
*PSpice:
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
|
|
EVLIM_HIGH_VOUT NET0375 0 VCCP 0 1.0
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RPROT_IN_P_VCCP NET0123 VCCP 15K
|
|
RPROT_IN_M_VCCP VCCP NET0190 15K
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
RO2_1 VREF VB_2 {Ro2_1}
|
|
R1_REF NET0210 NET0250 1Meg
|
|
RO2_2 VB_3 VB_2 {Ro2_2}
|
|
R1 VB VREF {R1}
|
|
RPROT_IN_M_VCCN VCCN NET0192 15K
|
|
R2_REF NET0250 NET0238 1Meg
|
|
RPROT_IN_P_VCCN NET096 VCCN 15K
|
|
|
|
*Eldo:
|
|
*G_IOUT_SOUCED VCCP 0 VALUE={VALIF(I(VreadIo)>0, I(VreadIo),0)}
|
|
*G_ICCSAT_OUTLOW VCCP VCCN VALUE={VALIF(I(V_OUTVLIM_LOW)>1u ,
|
|
*+V(Icc_out_low) , 0)}
|
|
*G_ICCSAT_OUTHIGH VCCP VCCN VALUE={VALIF(I(V_OUTVLIM_HIGH)>1u ,
|
|
*+V(Icc_out_high), 0)}
|
|
*G_IOUT_SINKED VCCN 0 VALUE={VALIF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
*PSpice:
|
|
G_IOUT_SOUCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
|
|
G_I_VB VB_2 VREF POLY(1) VB VREF 7.773528173127232E-19
|
|
+0.010310813241023556 0 0.1401392933601382
|
|
GM1 VREF VB VOUT_DIFF 0 {1/RD}
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 6.380235294117639E-4
|
|
+5.570588235294159E-5 -5.294117647058884E-6
|
|
|
|
.PARAM RD=1k
|
|
.PARAM Ccomp=3.4p
|
|
.PARAM IEE=35.8u
|
|
.PARAM W=25u
|
|
.PARAM L=2u
|
|
.PARAM gm_mos=0.0004733346976081021
|
|
.PARAM A0=97.93103448E3
|
|
.PARAM Ro=17587.2
|
|
.PARAM GB=11m
|
|
.PARAM Ro1=11
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={Ro - Ro2_2 - Ro1}
|
|
.PARAM R1={A0/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
|
|
*Eldo:
|
|
*.MODEL MOS_N NMOS LEVEL=1 MODTYPE=ELDO VTO=+0.65 KP=500E-6
|
|
*.MODEL DIODE_VLIM D LEVEL=1 MODTYPE=ELDO IS=0.8E-15
|
|
*.MODEL DIODE_ILIM D LEVEL=1 MODTYPE=ELDO IS=0.8E-15
|
|
*.MODEL DX D LEVEL=1 MODTYPE=ELDO IS=1E-14
|
|
*PSpice:
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DX D LEVEL=1 IS=1E-14
|
|
|
|
.ENDS TSV99X
|
|
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TSX56X PSpice macromodel subckt
|
|
***
|
|
*** May 2013
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSX56X VP VM VCCP VCCN VS
|
|
LOUT VZOUT 0 {LOUT}
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET194 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
VREADI_R1 VB NET0258 DC 0
|
|
VVLIM_LOW_VB NET192 NET193 DC -770m
|
|
VOS NET194 VP DC 0
|
|
VPROT_IN_P_VCCP NET196 NET229 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_ENHANCE}
|
|
VREADIO NET0313 VS DC 0
|
|
VVLIM_HIGH_VB NET217 NET203 DC -770m
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_ENHANCE}
|
|
V_OUTVLIM_LOW NET206 NET207 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_M_VCCN NET208 NET360 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET235 NET211 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_P_VCCN NET212 NET213 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET348 NET219 DC {V_DPROT}
|
|
DVLIM_HIGH_VB VB NET217 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET219 DIODE_VLIM
|
|
DVLIM_LOW_VB NET193 VB DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET208 VM DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D_OUTVLIM_LOW NET207 VB_3 DIODE_NOVd
|
|
DPROT_IN_P_VCCP NET194 NET229 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCN NET212 NET194 DIODE_VLIM
|
|
D_OUTVLIM_HIGH VB_3 NET235 DIODE_NOVd
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
COUT2 VZOUT 0 {COUT2}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
C_RO2_1 VB_2 VREF 245p
|
|
COUT NET0410 0 {COUT}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 17p
|
|
CCOMP VB VB_2 {CCOMP}
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 2.5174460461617727
|
|
+-0.5741165910746409 0.09394019966148968 -0.007879019994214111
|
|
+3.3180047630118603E-4 -5.581775770848527E-6
|
|
EZOUT_IOUT_COEFF NET0295 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
EZOUT VB_3 NET0313
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.6556409789094475 + 0.1060378621448461*V(Vccp,Vccn)
|
|
+-0.012692392861218111*PWR(V(Vccp,Vccn),2) +
|
|
+(+6.767693862708171E-4)*PWR(V(Vccp,Vccn),3) +
|
|
+(-1.335444498638336E-5)*PWR(V(Vccp,Vccn),4) )}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 VALUE={0}
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 360.32981298600623
|
|
+-93.20220133758167 10.597787073851153 -0.5404939450507289
|
|
+0.010250284253020337
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 VALUE={0}
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
E58 VB_2_VREF 0 VB_2 VREF 1.0
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 574.2167880171314
|
|
+-146.32379926231445 16.089768762730312 -0.7889765895679399
|
|
+0.014429650650555324
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -37.09564613246879 +
|
|
+14.276811655227597*V(Vccp,Vccn) + 1.0084635142532317*PWR(V(Vccp,Vccn),2)
|
|
+) -5000*I(VreadIo)}
|
|
EVLIM_HIGH_VOUT NET211 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
EVLIM_LOW_VOUT NET206 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo) +
|
|
+V(VOL_noRL) }
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
EVLIM_HIGH_VB NET203 0 VCCP 0 1.0
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E_R1 NET0258 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
EVLIM_LOW_VB NET192 0 VCCN 0 1.0
|
|
E2_REF NET362 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET356 0 1.0
|
|
E_VOL_NORL VOL_NORL 0 VALUE={0}
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E1_REF NET326 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( 45.62274201018988
|
|
+-19.140174323129397*V(Vccp,Vccn) -0.776874815781717*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET0295 50
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RIN_DIFF VP VM {RIN_DIFF}
|
|
ROUT NET0410 VZOUT {ROUT}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RO2_2 VB_3 VB_2 {RO2_2}
|
|
RPROT_IN_P_VCCP NET196 VCCP 100
|
|
RPROT_IN_M_VCCP VCCP NET348 100
|
|
RO2_1 VB_2 VREF {RO2_1}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
R1_REF NET326 NET356 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET360 15K
|
|
R2_REF NET356 NET362 1Meg
|
|
RPROT_IN_P_VCCN NET213 VCCN 15K
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 7*( 1 -
|
|
+exp(-abs(V(v_Io_val))/10m )) ) }
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_IIB_VM VREF VM VALUE={1p}
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 1.471150909104576E-4
|
|
++3.076708278316671E-5 -3.831700703526984E-6 2.1178797105705115E-7
|
|
+-4.302734331315858E-9
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
G_IIB_VP VREF VP VALUE={1p}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSX56X subckt:
|
|
*
|
|
.PARAM VCC_MIN=1.0
|
|
.PARAM RINCM=2.0827E+11
|
|
.PARAM CINCM=1.7878E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RIN_DIFF=1T
|
|
.PARAM CIN_DIFF=1f
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=8.74m
|
|
.PARAM Ro = 429536
|
|
.PARAM A0_source = 6729766
|
|
.PARAM A0_sink = 6729766
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=5.39p
|
|
.PARAM IEE=6u
|
|
.PARAM W=0.317u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=3.0846E-05
|
|
.PARAM Lout = 300u
|
|
.PARAM Rout = 450
|
|
.PARAM Cout = 10n
|
|
.PARAM Cout2 = 9p
|
|
.PARAM Zout_Iout_coeff_MIN= 0.8
|
|
.PARAM Iout_dc_tau__source = 0.3m
|
|
.PARAM Iout_dc_tau__sink = 0.3m
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2}
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TSX56X
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TSX63X Spice macromodel subckt
|
|
***
|
|
*** February 2014
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSX63X VP VM VCCP VCCN VS
|
|
LOUT VZOUT 0 {LOUT}
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET0283 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
V57 NET0242 NET0244 DC {VD_COMPENSAZIONE}
|
|
VREADI_R1 VB NET386 DC 0
|
|
V56 NET0280 NET0254 DC {VD_COMPENSAZIONE}
|
|
VOS NET0283 VP DC 0
|
|
VPROT_IN_P_VCCP NET246 NET279 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_ENHANCE}
|
|
VREADIO NET0341 VS DC 0
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_ENHANCE}
|
|
V_OUTVLIM_LOW NET256 NET257 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_M_VCCN NET258 NET448 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET285 NET261 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_P_VCCN NET262 NET263 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET434 NET269 DC {V_DPROT}
|
|
D29 NET0244 VB DIODE_NOVd
|
|
D28 VB NET0280 DIODE_NOVd
|
|
DPROT_IN_M_VCCP VM NET269 DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET258 VM DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D_OUTVLIM_LOW NET257 VB_3 DIODE_NOVd
|
|
DPROT_IN_P_VCCP NET0283 NET279 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCN NET262 NET0283 DIODE_VLIM
|
|
D_OUTVLIM_HIGH VB_3 NET285 DIODE_NOVd
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
COUT2 VZOUT 0 {COUT2}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
C_RO2_1 VB_2 VREF 10p
|
|
COUT NET427 0 {COUT}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 225p
|
|
CCOMP VB VB_2 {CCOMP}
|
|
E60 NET0242 0 VALUE={V(Vref) - alpha_desat_time*V(Vccp,Vccn) }
|
|
E62 NET0254 0 VALUE={V(Vref) + alpha_desat_time*V(Vccp,Vccn) }
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 VALUE={1}
|
|
EZOUT_IOUT_COEFF NET310 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
EZOUT VB_3 NET0341
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VOUT_DIFF 0 1
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 VALUE={0}
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 359.0289837257432
|
|
+-99.19724864708631 12.629932015104508 -0.7291576867748092
|
|
+0.015648577785370054
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 VALUE={0}
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
E58 VB_2_VREF 0 VB_2 VREF 1.0
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 532.6471144805088
|
|
+-139.5635711881178 16.56856830915354 -0.8778272267854438
|
|
+0.017095899327075923
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -33.180068854430914 +
|
|
+12.062434050640288*V(Vccp,Vccn) + 1.3688746046180766*PWR(V(Vccp,Vccn),2)
|
|
+-0.01483173211377962*PWR(V(Vccp,Vccn),3) ) -5000*I(VreadIo)}
|
|
EVLIM_HIGH_VOUT NET261 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
EVLIM_LOW_VOUT NET256 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo) +
|
|
+V(VOL_noRL) }
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E_R1 NET386 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
E2_REF NET450 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET444 0 1.0
|
|
E_VOL_NORL VOL_NORL 0 VALUE={0}
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E1_REF NET410 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ (4.862301507746423 +
|
|
+3.9110899458662205*V(Vccp,Vccn) -4.52868808930211*PWR(V(Vccp,Vccn),2) +
|
|
+0.1543956079638023*PWR(V(Vccp,Vccn),3) ) -5000*I(VreadIo)}
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET310 50
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RIN_DIFF VP VM {RIN_DIFF}
|
|
ROUT NET427 VZOUT {ROUT}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RO2_2 VB_3 VB_2 {RO2_2}
|
|
RPROT_IN_P_VCCP NET246 VCCP 100
|
|
RPROT_IN_M_VCCP VCCP NET434 100
|
|
RO2_1 VB_2 VREF {RO2_1}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
R1_REF NET410 NET444 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET448 15K
|
|
R2_REF NET444 NET450 1Meg
|
|
RPROT_IN_P_VCCN NET263 VCCN 15K
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 20*( 1 -
|
|
+exp(-abs(V(v_Io_val))/1.5m )) ) }
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_IIB_VM VREF VM VALUE={1p}
|
|
G_ICC VCCP VCCN VALUE={44.5e-6}
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
G_IIB_VP VREF VP VALUE={1p}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSX631 subckt:
|
|
*
|
|
.PARAM VCC_MIN=3.0
|
|
.PARAM RINCM=2.4986E+11
|
|
.PARAM CINCM=2.3556E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RINDIFF=2.4990E+11
|
|
.PARAM CINDIFF=1.2495E-12
|
|
.PARAM RIN_DIFF={(2*RINCM*RINDIFF)/(2*RINCM - RINDIFF)}
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=0.794m
|
|
.PARAM Ro = 2.0996e+06
|
|
.PARAM A0_source = 1.5e+6
|
|
.PARAM A0_sink = 5e+6
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=4.12p
|
|
.PARAM IEE=500n
|
|
.PARAM W=0.11u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=5.2469E-06
|
|
.PARAM Lout = 140u
|
|
.PARAM Rout = 2400
|
|
.PARAM Cout = 0.5n
|
|
.PARAM Cout2 = 8p
|
|
.PARAM Zout_Iout_coeff_MIN= 1.0
|
|
.PARAM Iout_dc_tau__source = 0.03m
|
|
.PARAM Iout_dc_tau__sink = 0.03m
|
|
.PARAM alpha_desat_time = 0.37
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2}
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TSX63X
|
|
*** End of subcircuit definition.
|
|
|
|
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TSX71X Spice macromodel subckt
|
|
***
|
|
*** April 2014
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSX71X VP VM VCCP VCCN VS
|
|
LOUT VZOUT 0 {LOUT}
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET0283 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
V57 NET0242 NET0244 DC {VD_COMPENSAZIONE}
|
|
VREADI_R1 VB NET386 DC 0
|
|
V56 NET0280 NET0254 DC {VD_COMPENSAZIONE}
|
|
VOS NET0283 VP DC 0
|
|
VPROT_IN_P_VCCP NET246 NET279 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_ENHANCE}
|
|
VREADIO NET0332 VS DC 0
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_ENHANCE}
|
|
V_OUTVLIM_LOW NET256 NET257 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_M_VCCN NET258 NET448 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET285 NET261 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_P_VCCN NET262 NET263 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET434 NET269 DC {V_DPROT}
|
|
D29 NET0244 VB DIODE_NOVd
|
|
D28 VB NET0280 DIODE_NOVd
|
|
DPROT_IN_M_VCCP VM NET269 DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET258 VM DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D_OUTVLIM_LOW NET257 VB_3 DIODE_NOVd
|
|
DPROT_IN_P_VCCP NET0283 NET279 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCN NET262 NET0283 DIODE_VLIM
|
|
D_OUTVLIM_HIGH VB_3 NET285 DIODE_NOVd
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
COUT2 VZOUT 0 {COUT2}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
C_RO2_1 VB_2 VREF 2.85n
|
|
COUT NET427 0 {COUT}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 100f
|
|
CCOMP VB VB_2 {CCOMP}
|
|
E60 NET0242 0 VALUE={V(Vref) - alpha_desat_time*V(Vccp,Vccn) }
|
|
E62 NET0254 0 VALUE={V(Vref) + alpha_desat_time*V(Vccp,Vccn) }
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 1.666666666666666
|
|
+-0.06833333333333334 0.001666666666666667
|
|
EZOUT_IOUT_COEFF NET310 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
EZOUT VB_3 NET0332
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.9466666666666662 + 0.0033333333333333344*V(Vccp,Vccn) )}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 VALUE={0}
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 29.666666666666664
|
|
+-1.1666666666666667
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 VALUE={0}
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
E58 VB_2_VREF 0 VB_2 VREF 1.0
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 34.166666666666664
|
|
+-2.8749999999999996 0.1458333333333333
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( 97.27777777777767 +
|
|
+40.69444444444446*V(Vccp,Vccn) -1.597222222222223*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
EVLIM_HIGH_VOUT NET261 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
EVLIM_LOW_VOUT NET256 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo) +
|
|
+V(VOL_noRL) }
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E_R1 NET386 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
E2_REF NET450 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET444 0 1.0
|
|
E_VOL_NORL VOL_NORL 0 VALUE={0}
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E1_REF NET410 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( -55.255442609065504
|
|
+-66.10775801214133*V(Vccp,Vccn) + 4.860899336439317*PWR(V(Vccp,Vccn),2)
|
|
+-0.11866440773683322*PWR(V(Vccp,Vccn),3) ) -5000*I(VreadIo)}
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET310 50
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RIN_DIFF VP VM {RIN_DIFF}
|
|
ROUT NET427 VZOUT {ROUT}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RO2_2 VB_3 VB_2 {RO2_2}
|
|
RPROT_IN_P_VCCP NET246 VCCP 100
|
|
RPROT_IN_M_VCCP VCCP NET434 100
|
|
RO2_1 VB_2 VREF {RO2_1}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
R1_REF NET410 NET444 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET448 15K
|
|
R2_REF NET444 NET450 1Meg
|
|
RPROT_IN_P_VCCN NET263 VCCN 15K
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 3*( 1 -
|
|
+exp(-abs(V(v_Io_val))/1m )) ) }
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_IIB_VM VREF VM VALUE={1p}
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 5.013333333333333E-4
|
|
+1.583333333333331E-5 -4.166666666666653E-7
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
G_IIB_VP VREF VP VALUE={1p}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSX71X subckt:
|
|
*
|
|
.PARAM VCC_MIN=2.7
|
|
.PARAM RINCM=2.4977E+11
|
|
.PARAM CINCM=2.0174E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RINDIFF=2.3644E+11
|
|
.PARAM CINDIFF=4.2310E-12
|
|
.PARAM RIN_DIFF={(2*RINCM*RINDIFF)/(2*RINCM - RINDIFF)}
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=146m
|
|
.PARAM Ro = 2.1884E+05
|
|
.PARAM A0_source = 4e+8
|
|
.PARAM A0_sink = 4e+8
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=10.2p
|
|
.PARAM IEE=12u
|
|
.PARAM W=5u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=1.7333E-04
|
|
.PARAM Lout = 100u
|
|
.PARAM Rout = 200
|
|
.PARAM Cout = 15n
|
|
.PARAM Cout2 = 4.5p
|
|
.PARAM Zout_Iout_coeff_MIN= 1.0
|
|
.PARAM Iout_dc_tau__source = 0.03m
|
|
.PARAM Iout_dc_tau__sink = 0.03m
|
|
.PARAM alpha_desat_time = 0.5
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2}
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TSX71X
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TSX7191 Spice macromodel subckt
|
|
***
|
|
*** April 2014
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSX7191 VP VM VCCP VCCN VS
|
|
LOUT VZOUT 0 {LOUT}
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET0283 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
V57 NET0242 NET0244 DC {VD_COMPENSAZIONE}
|
|
VREADI_R1 VB NET386 DC 0
|
|
V56 NET0280 NET0254 DC {VD_COMPENSAZIONE}
|
|
VOS NET0283 VP DC 0
|
|
VPROT_IN_P_VCCP NET246 NET279 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_ENHANCE}
|
|
VREADIO NET0322 VS DC 0
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_ENHANCE}
|
|
V_OUTVLIM_LOW NET256 NET257 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_M_VCCN NET258 NET448 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET285 NET261 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_P_VCCN NET262 NET263 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET434 NET269 DC {V_DPROT}
|
|
D29 NET0244 VB DIODE_NOVd
|
|
D28 VB NET0280 DIODE_NOVd
|
|
DPROT_IN_M_VCCP VM NET269 DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET258 VM DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D_OUTVLIM_LOW NET257 VB_3 DIODE_NOVd
|
|
DPROT_IN_P_VCCP NET0283 NET279 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCN NET262 NET0283 DIODE_VLIM
|
|
D_OUTVLIM_HIGH VB_3 NET285 DIODE_NOVd
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
COUT2 VZOUT 0 {COUT2}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
C_RO2_1 VB_2 VREF 100f
|
|
COUT NET427 0 {COUT}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 59p
|
|
CCOMP VB VB_2 {CCOMP}
|
|
E60 NET0242 0 VALUE={V(Vref) - alpha_desat_time*V(Vccp,Vccn) }
|
|
E62 NET0254 0 VALUE={V(Vref) + alpha_desat_time*V(Vccp,Vccn) }
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 2.977777777777778
|
|
+-0.20138888888888884 0.004861111111111108
|
|
EZOUT_IOUT_COEFF NET310 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
EZOUT VB_3 NET0322
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.908444444444444 + 0.005277777777777783*V(Vccp,Vccn) +
|
|
+2.7777777777777423E-5*PWR(V(Vccp,Vccn),2) )}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 VALUE={0}
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 29.666666666666664
|
|
+-1.1666666666666667
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 VALUE={0}
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
E58 VB_2_VREF 0 VB_2 VREF 1.0
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 34.166666666666664
|
|
+-2.8749999999999996 0.1458333333333333
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( 97.27777777777767 +
|
|
+40.69444444444446*V(Vccp,Vccn) -1.597222222222223*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
EVLIM_HIGH_VOUT NET261 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
EVLIM_LOW_VOUT NET256 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo) +
|
|
+V(VOL_noRL) }
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E_R1 NET386 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
E2_REF NET450 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET444 0 1.0
|
|
E_VOL_NORL VOL_NORL 0 VALUE={0}
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E1_REF NET410 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( -55.255442609065504
|
|
+-66.10775801214133*V(Vccp,Vccn) + 4.860899336439317*PWR(V(Vccp,Vccn),2)
|
|
+-0.11866440773683322*PWR(V(Vccp,Vccn),3) ) -5000*I(VreadIo)}
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET310 50
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RIN_DIFF VP VM {RIN_DIFF}
|
|
ROUT NET427 VZOUT {ROUT}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RO2_2 VB_3 VB_2 {RO2_2}
|
|
RPROT_IN_P_VCCP NET246 VCCP 100
|
|
RPROT_IN_M_VCCP VCCP NET434 100
|
|
RO2_1 VB_2 VREF {RO2_1}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
R1_REF NET410 NET444 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET448 15K
|
|
R2_REF NET444 NET450 1Meg
|
|
RPROT_IN_P_VCCN NET263 VCCN 15K
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 3*( 1 -
|
|
+exp(-abs(V(v_Io_val))/1m )) ) }
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_IIB_VM VREF VM VALUE={1p}
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 5.013333333333333E-4
|
|
+1.583333333333331E-5 -4.166666666666653E-7
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
G_IIB_VP VREF VP VALUE={1p}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSX7191 subckt:
|
|
*
|
|
.PARAM VCC_MIN=2.7
|
|
.PARAM RINCM=2.4977E+11
|
|
.PARAM CINCM=2.0174E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RINDIFF=2.3644E+11
|
|
.PARAM CINDIFF=4.2310E-12
|
|
.PARAM RIN_DIFF={(2*RINCM*RINDIFF)/(2*RINCM - RINDIFF)}
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=76.7m
|
|
.PARAM Ro = 4.7275E+05
|
|
.PARAM A0_source = 4e+8
|
|
.PARAM A0_sink = 4e+8
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=5p
|
|
.PARAM IEE=12u
|
|
.PARAM W=11.35u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=2.6125E-04
|
|
.PARAM Lout = 80u
|
|
.PARAM Rout = 400
|
|
.PARAM Cout = 10n
|
|
.PARAM Cout2 = 3.5p
|
|
.PARAM Zout_Iout_coeff_MIN= 1.0
|
|
.PARAM Iout_dc_tau__source = 0.03m
|
|
.PARAM Iout_dc_tau__sink = 0.03m
|
|
.PARAM alpha_desat_time = 0.5
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2}
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TSX7191
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TSX92X_SHDN (WITH STAND-BY) Spice macromodel subckt
|
|
***
|
|
*** February 2014
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | | STAND-BY
|
|
**** | | | | | |
|
|
.SUBCKT TSX92X_SHDN VP VM VCCP VCCN VS STB
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
LOUT VZOUT 0 {LOUT}
|
|
S_SW_OUT VS_STB VS VSTB_CTRL 0 SW_OUT
|
|
S_SW_LEAK VS 0 VSTB_CTRL 0 SW_LEAK
|
|
S_SW_VB2_VS VB_2 NET0220 VSTB_CTRL 0 SW_VB2_VS
|
|
S_SW_VB_VREF VB NET0224 VSTB_CTRL 0 SW_VB_VREF
|
|
G_IEE_STB VEE_N VCCN_ENHANCED POLY(2) VSTB_CTRL 0 IEE_val 0 0 0 0 0 1
|
|
G_ICC_STB VCCP VCCN POLY(2) VSTB_CTRL 0 Icc_val 0 0 0 0 0 1
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
G2_ICC_STB VCCP VCCN VALUE={ICC_STB*( 1-V(VSTB_ctrl) )}
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high)*V(VSTB_ctrl), 0)}
|
|
G_IIB_VP VREF VP VALUE={10p}
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low)*V(VSTB_ctrl) , 0)}
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_IIB_VM VREF VM VALUE={10p}
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 3*( 1 -
|
|
+exp(-abs(V(v_Io_val))/10m )) ) }
|
|
G_ISTB 0 STB VALUE={ Iil_STB*(1-V(VSTB_one)) -Iih_STB*V(VSTB_one)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
R1_REF NET287 NET247 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET243 15K
|
|
R2_REF NET247 NET241 1Meg
|
|
RPROT_IN_P_VCCN NET406 VCCN 15K
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET0360 50
|
|
RO2_2 VB_3 VB_2 {RO2_2}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RPROT_IN_M_VCCP VCCP NET253 100
|
|
RPROT_IN_P_VCCP NET421 VCCP 100
|
|
ROUT NET0325 VZOUT {ROUT}
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RIN_DIFF VP VM {RIN_DIFF}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
RO2_1 VB_2 VREF {RO2_1}
|
|
E3 VIL_STB_VAL 0 POLY(1) VCCP VCCN 0.142345652173913
|
|
+-0.006943478260869564
|
|
E7 RSTB_CTRL_ON 0 POLY(1) VCCP VCCN 34287.18902580794
|
|
+-6253.674210132004 414.8292386783427 -9.283370792322165
|
|
E64 VOH_NORL 0 VALUE={0}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 VALUE={0}
|
|
ESTB VSTB_ONE 0 VALUE={IF( (V(STB,Vccn)/V(Vccp,Vccn)) >=
|
|
+V(VIH_STB_val) , 1 , V(VSTB_zero) )}
|
|
E5 NET0387 VSTB_ONE VALUE={I(VreadI_RSTB_ctrl)*(
|
|
+V(RSTB_ctrl_on)*V(VSTB_one) + V(RSTB_ctrl_off)*( 1.0 - V(VSTB_one)) ) }
|
|
E0 VSTB_ZERO 0 VALUE={IF( (V(STB,Vccn)/V(Vccp,Vccn)) <=
|
|
+V(VIL_STB_val) , 0 , 0.5 )}
|
|
E_VOL_NORL VOL_NORL 0 VALUE={0}
|
|
E6 RSTB_CTRL_OFF 0 POLY(1) VCCP VCCN 1745.6324110671937
|
|
+-162.26943346508568 4.670619235836628
|
|
EREAD_VS NET0220 0 VS 0 1.0
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 57.50988142292495
|
|
+-3.789064558629788 0.24914361001317642 -0.005533596837944699
|
|
EREAD_VREF NET0224 0 VREF 0 1.0
|
|
E2 VIH_STB_VAL 0 POLY(1) VCCP VCCN 0.8591847826086954
|
|
+0.006847826086956529
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
EZOUT VB_3 NET0413
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E62 NET0263 0 VALUE={V(Vref) + alpha_desat_time*V(Vccp,Vccn) }
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 VALUE={1}
|
|
E2_REF NET241 0 VCCN 0 1.0
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_R1 NET311 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
E_VREF VREF 0 NET247 0 1.0
|
|
E60 NET0378 0 VALUE={V(Vref) - alpha_desat_time*V(Vccp,Vccn) }
|
|
EVLIM_LOW_VOUT NET411 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo) +
|
|
+V(VOL_noRL) }
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VOUT_DIFF 0 1
|
|
EZOUT_IOUT_COEFF NET0360 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
EVLIM_HIGH_VOUT NET408 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo) -
|
|
+V(VOH_noRL)}
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 VALUE={0}
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -388.1284584980241 +
|
|
+133.78129117259556*V(Vccp,Vccn) -5.401844532279315*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( 171.84387351778656
|
|
+-75.135046113307*V(Vccp,Vccn) + 3.050065876152833*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
E1_REF NET287 0 VCCP 0 1.0
|
|
E_ICC ICC_VAL 0 POLY(1) VCCP VCCN 0.002348418972332015
|
|
+1.4525691699604747E-4 -7.509881422924904E-6
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
E4 RO1_VOL 0 POLY(1) VCCP VCCN 52.31620553359682 -3.718050065876152
|
|
+0.16864295125164686
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
COUT2 VZOUT 0 {COUT2}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
COUT NET0325 0 {COUT}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CSTB_CTRL VSTB_CTRL 0 1n
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 2.1p
|
|
C_RO2_1 VB_2 VREF 6.5p
|
|
CCOMP VB VB_2 {CCOMP}
|
|
D29 NET0553 VB DIODE_NOVd
|
|
D28 VB NET0533 DIODE_NOVd
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCP NET423 NET388 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET398 DIODE_VLIM
|
|
D_OUTVLIM_LOW NET412 VB_3 DIODE_NOVd
|
|
D_OUTVLIM_HIGH VB_3 NET382 DIODE_NOVd
|
|
DPROT_IN_M_VCCN NET409 VM DIODE_VLIM
|
|
DPROT_IN_P_VCCN NET405 NET423 DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
VREADI_RSTB_CTRL VSTB_CTRL NET0387 DC 0
|
|
V_IEE IEE_VAL 0 DC {IEE}
|
|
VPROT_IN_M_VCCP NET253 NET398 DC {V_DPROT}
|
|
VREADI_R1 VB NET311 DC 0
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_ENHANCE}
|
|
VPROT_IN_P_VCCP NET421 NET388 DC {V_DPROT}
|
|
VOS NET423 VP DC 0
|
|
V56 NET0533 NET0263 DC {VD_COMPENSAZIONE}
|
|
V_OUTVLIM_LOW NET411 NET412 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_M_VCCN NET409 NET243 DC {V_DPROT}
|
|
VREADIO NET0413 VS_STB DC 0
|
|
VPROT_IN_P_VCCN NET405 NET406 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET382 NET408 DC {VD_COMPENSAZIONE}
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_ENHANCE}
|
|
V57 NET0378 NET0553 DC {VD_COMPENSAZIONE}
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET423 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSX920 subckt:
|
|
*
|
|
.PARAM VCC_MIN=4.0
|
|
.PARAM RINCM=1T
|
|
.PARAM CINCM=8E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RIN_DIFF=1T
|
|
.PARAM CIN_DIFF=10f
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=5.19m
|
|
.PARAM Ro = 3.3658E+04
|
|
.PARAM A0_source = 2e+7
|
|
.PARAM A0_sink = 1.5e+6
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=2.9p
|
|
.PARAM IEE=50u
|
|
.PARAM W=1.4u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=1.8712E-04
|
|
.PARAM Lout = 0.8u
|
|
.PARAM Rout = 350
|
|
.PARAM Cout = 3n
|
|
.PARAM Cout2 = 7p
|
|
.PARAM Zout_Iout_coeff_MIN= 1.0
|
|
.PARAM Iout_dc_tau__source = 0.21m
|
|
.PARAM Iout_dc_tau__sink = 0.03m
|
|
.PARAM alpha_desat_time = 0.5
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2 }
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
.PARAM ICC_STB = 7u
|
|
.PARAM Iout_leak_STB = 70p
|
|
.PARAM Iil_STB = 10p
|
|
.PARAM Iih_STB = 10p
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL SW_OUT VSWITCH VON=900.0m VOFF=100.0m RON=1m ROFF=1T
|
|
.MODEL SW_LEAK VSWITCH VON=900.0m VOFF=100.0m RON=1T ROFF={2.5/IOUT_LEAK_STB -2e3}
|
|
.MODEL SW_VB2_VS VSWITCH VON=900.0m VOFF=100.0m RON=1T ROFF=1m
|
|
.MODEL SW_VB_VREF VSWITCH VON=900.0m VOFF=100.0m RON=1T ROFF=1m
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TSX92X_SHDN
|
|
*** End of subcircuit definition.
|
|
|
|
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TSX92X (WITHOUT STAND-BY) Spice macromodel subckt
|
|
***
|
|
*** February 2014
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSX92X VP VM VCCP VCCN VS
|
|
LOUT VZOUT 0 {LOUT}
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 3*( 1 -
|
|
+exp(-abs(V(v_Io_val))/10m )) ) }
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 0.002348418972332015
|
|
+1.4525691699604747E-4 -7.509881422924904E-6
|
|
G_IIB_VM VREF VM VALUE={10p}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
G_IIB_VP VREF VP VALUE={10p}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
RIN_DIFF VP VM {RIN_DIFF}
|
|
RPROT_IN_P_VCCP NET403 VCCP 100
|
|
RO2_1 VB_2 VREF {RO2_1}
|
|
RPROT_IN_M_VCCP VCCP NET241 100
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET0285 50
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
ROUT NET0254 VZOUT {ROUT}
|
|
R1_REF NET271 NET235 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
R2_REF NET235 NET229 1Meg
|
|
RPROT_IN_M_VCCN VCCN NET231 15K
|
|
RPROT_IN_P_VCCN NET388 VCCN 15K
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RO2_2 VB_3 VB_2 {RO2_2}
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 57.50988142292495
|
|
+-3.789064558629788 0.24914361001317642 -0.005533596837944699
|
|
E4 RO1_VOL 0 POLY(1) VCCP VCCN 52.31620553359682 -3.718050065876152
|
|
+0.16864295125164686
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( 171.84387351778656
|
|
+-75.135046113307*V(Vccp,Vccn) + 3.050065876152833*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -388.1284584980241 +
|
|
+133.78129117259556*V(Vccp,Vccn) -5.401844532279315*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
E_VOL_NORL VOL_NORL 0 VALUE={0}
|
|
E60 NET0296 0 VALUE={V(Vref) - alpha_desat_time*V(Vccp,Vccn) }
|
|
E64 VOH_NORL 0 VALUE={0}
|
|
EVLIM_HIGH_VOUT NET390 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo) -
|
|
+V(VOH_noRL)}
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 VALUE={1}
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 VALUE={0}
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
E2_REF NET229 0 VCCN 0 1.0
|
|
EVLIM_LOW_VOUT NET393 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo) +
|
|
+V(VOL_noRL) }
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E1_REF NET271 0 VCCP 0 1.0
|
|
E_R1 NET295 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
EZOUT VB_3 NET0207
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
EZOUT_IOUT_COEFF NET0285 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
E_VREF VREF 0 NET235 0 1.0
|
|
E62 NET0443 0 VALUE={V(Vref) + alpha_desat_time*V(Vccp,Vccn) }
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 VALUE={0}
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VOUT_DIFF 0 1
|
|
C_RO2_1 VB_2 VREF 6.5p
|
|
COUT NET0254 0 {COUT}
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
COUT2 VZOUT 0 {COUT2}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CCOMP VB VB_2 {CCOMP}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 2.1p
|
|
D29 NET0441 VB DIODE_NOVd
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D28 VB NET0425 DIODE_NOVd
|
|
D_OUTVLIM_HIGH VB_3 NET364 DIODE_NOVd
|
|
DPROT_IN_P_VCCN NET387 NET405 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET380 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCP NET405 NET370 DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET391 VM DIODE_VLIM
|
|
D_OUTVLIM_LOW NET394 VB_3 DIODE_NOVd
|
|
V57 NET0296 NET0441 DC {VD_COMPENSAZIONE}
|
|
V56 NET0425 NET0443 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_P_VCCN NET387 NET388 DC {V_DPROT}
|
|
VREADI_R1 VB NET295 DC 0
|
|
VPROT_IN_P_VCCP NET403 NET370 DC {V_DPROT}
|
|
VOS NET405 VP DC 0
|
|
V_OUTVLIM_HIGH NET364 NET390 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_M_VCCP NET241 NET380 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_ENHANCE}
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_ENHANCE}
|
|
VREADIO NET0207 VS DC 0
|
|
VPROT_IN_M_VCCN NET391 NET231 DC {V_DPROT}
|
|
V_OUTVLIM_LOW NET393 NET394 DC {VD_COMPENSAZIONE}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET405 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSX921 subckt:
|
|
*
|
|
.PARAM VCC_MIN=4.0
|
|
.PARAM RINCM=1T
|
|
.PARAM CINCM=8E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RIN_DIFF=1T
|
|
.PARAM CIN_DIFF=10f
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=5.19m
|
|
.PARAM Ro = 3.3658E+04
|
|
.PARAM A0_source = 2e+7
|
|
.PARAM A0_sink = 1.5e+6
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=2.9p
|
|
.PARAM IEE=50u
|
|
.PARAM W=1.4u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=1.8712E-04
|
|
.PARAM Lout = 0.8u
|
|
.PARAM Rout = 350
|
|
.PARAM Cout = 3n
|
|
.PARAM Cout2 = 7p
|
|
.PARAM Zout_Iout_coeff_MIN= 1.0
|
|
.PARAM Iout_dc_tau__source = 0.21m
|
|
.PARAM Iout_dc_tau__sink = 0.03m
|
|
.PARAM alpha_desat_time = 0.5
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2 }
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TSX92X
|
|
*** End of subcircuit definition.
|
|
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TSX929X Spice macromodel subckt
|
|
***
|
|
*** February 2014
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSX929X VP VM VCCP VCCN VS
|
|
LOUT VZOUT 0 {LOUT}
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 0.002348418972332015
|
|
+1.4525691699604747E-4 -7.509881422924904E-6
|
|
G_IIB_VM VREF VM VALUE={10p}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
G_IIB_VP VREF VP VALUE={10p}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 3*( 1 -
|
|
+exp(-abs(V(v_Io_val))/10m )) ) }
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
RIN_DIFF VP VM {RIN_DIFF}
|
|
RPROT_IN_P_VCCP NET403 VCCP 100
|
|
RO2_1 VB_2 VREF {RO2_1}
|
|
RPROT_IN_M_VCCP VCCP NET241 100
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET0285 50
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
ROUT NET0254 VZOUT {ROUT}
|
|
R1_REF NET271 NET235 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
R2_REF NET235 NET229 1Meg
|
|
RPROT_IN_M_VCCN VCCN NET231 15K
|
|
RPROT_IN_P_VCCN NET388 VCCN 15K
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RO2_2 VB_3 VB_2 {RO2_2}
|
|
E_VOL_NORL VOL_NORL 0 VALUE={0}
|
|
E60 NET0296 0 VALUE={V(Vref) - alpha_desat_time*V(Vccp,Vccn) }
|
|
E64 VOH_NORL 0 VALUE={0}
|
|
EVLIM_HIGH_VOUT NET390 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo) -
|
|
+V(VOH_noRL)}
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 VALUE={1}
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 VALUE={0}
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
E2_REF NET229 0 VCCN 0 1.0
|
|
EVLIM_LOW_VOUT NET393 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo) +
|
|
+V(VOL_noRL) }
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E4 RO1_VOL 0 POLY(1) VCCP VCCN 52.31620553359682 -3.718050065876152
|
|
+0.16864295125164686
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -388.1284584980241 +
|
|
+133.78129117259556*V(Vccp,Vccn) -5.401844532279315*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
E1_REF NET271 0 VCCP 0 1.0
|
|
E_R1 NET295 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
EZOUT VB_3 NET0207
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( 171.84387351778656
|
|
+-75.135046113307*V(Vccp,Vccn) + 3.050065876152833*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 57.50988142292495
|
|
+-3.789064558629788 0.24914361001317642 -0.005533596837944699
|
|
EZOUT_IOUT_COEFF NET0285 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
E_VREF VREF 0 NET235 0 1.0
|
|
E62 NET0443 0 VALUE={V(Vref) + alpha_desat_time*V(Vccp,Vccn) }
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 VALUE={0}
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VOUT_DIFF 0 1
|
|
COUT NET0254 0 {COUT}
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
COUT2 VZOUT 0 {COUT2}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CCOMP VB VB_2 {CCOMP}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 3.3p
|
|
C_RO2_1 VB_2 VREF 10f
|
|
D29 NET0441 VB DIODE_NOVd
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D28 VB NET0425 DIODE_NOVd
|
|
D_OUTVLIM_HIGH VB_3 NET364 DIODE_NOVd
|
|
DPROT_IN_P_VCCN NET387 NET405 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET380 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCP NET405 NET370 DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET391 VM DIODE_VLIM
|
|
D_OUTVLIM_LOW NET394 VB_3 DIODE_NOVd
|
|
V57 NET0296 NET0441 DC {VD_COMPENSAZIONE}
|
|
V56 NET0425 NET0443 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_P_VCCN NET387 NET388 DC {V_DPROT}
|
|
VREADI_R1 VB NET295 DC 0
|
|
VPROT_IN_P_VCCP NET403 NET370 DC {V_DPROT}
|
|
VOS NET405 VP DC 0
|
|
V_OUTVLIM_HIGH NET364 NET390 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_M_VCCP NET241 NET380 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_ENHANCE}
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_ENHANCE}
|
|
VREADIO NET0207 VS DC 0
|
|
VPROT_IN_M_VCCN NET391 NET231 DC {V_DPROT}
|
|
V_OUTVLIM_LOW NET393 NET394 DC {VD_COMPENSAZIONE}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET405 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSX9291 subckt:
|
|
*
|
|
.PARAM VCC_MIN=4.0
|
|
.PARAM RINCM=1T
|
|
.PARAM CINCM=8E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RIN_DIFF=1T
|
|
.PARAM CIN_DIFF=10f
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=3m
|
|
.PARAM Ro = 3.3658E+04
|
|
.PARAM A0_source = 2e+7
|
|
.PARAM A0_sink = 1.5e+6
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=1.79p
|
|
.PARAM IEE=50u
|
|
.PARAM W=1.41u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=1.8779E-04
|
|
.PARAM Lout = 0.8u
|
|
.PARAM Rout = 350
|
|
.PARAM Cout = 3n
|
|
.PARAM Cout2 = 7p
|
|
.PARAM Zout_Iout_coeff_MIN= 1.0
|
|
.PARAM Iout_dc_tau__source = 0.21m
|
|
.PARAM Iout_dc_tau__sink = 0.03m
|
|
.PARAM alpha_desat_time = 0.5
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2 }
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TSX929X
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TSZ12X Spice macromodel subckt
|
|
***
|
|
*** September 2013
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSZ12X VP VM VCCP VCCN VS
|
|
LOUT VZOUT 0 {LOUT}
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET194 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
VVLIM_LOW_VB NET192 NET193 DC -770m
|
|
VOS NET194 VP DC 0
|
|
VPROT_IN_P_VCCP NET196 NET229 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_ENHANCE}
|
|
VREADIO NET0313 VS DC 0
|
|
VVLIM_HIGH_VB NET217 NET203 DC -770m
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_ENHANCE}
|
|
V_OUTVLIM_LOW NET206 NET207 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_M_VCCN NET208 NET360 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET235 NET211 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_P_VCCN NET212 NET213 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET348 NET219 DC {V_DPROT}
|
|
DVLIM_HIGH_VB VB NET217 DIODE_VLIM
|
|
DPROT_IN_M_VCCP VM NET219 DIODE_VLIM
|
|
DVLIM_LOW_VB NET193 VB DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET208 VM DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D_OUTVLIM_LOW NET207 VB_3 DIODE_NOVd
|
|
DPROT_IN_P_VCCP NET194 NET229 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCN NET212 NET194 DIODE_VLIM
|
|
D_OUTVLIM_HIGH VB_3 NET235 DIODE_NOVd
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
COUT2 VZOUT 0 {COUT2}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
C_RO2_1 VB_2 VREF 1.2n
|
|
COUT NET0410 0 {COUT}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 2p
|
|
CCOMP VB VB_2 {CCOMP}
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 POLY(1) VCCP VCCN 1.8362728537360917
|
|
+-0.4613119971575888 0.0846310883075601 -0.0051639206050971935
|
|
EZOUT_IOUT_COEFF NET0295 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
EZOUT VB_3 NET0313
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.27501150296278326 + 0.8286956472979377*V(Vccp,Vccn)
|
|
+-0.3769832162624067*PWR(V(Vccp,Vccn),2) +
|
|
+0.0852740909465122*PWR(V(Vccp,Vccn),3)
|
|
+-0.009588582374966497*PWR(V(Vccp,Vccn),4) +
|
|
+(4.2870011729922677E-4)*PWR(V(Vccp,Vccn),5) )}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 VALUE={0}
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 62.47426470588232
|
|
+-4.104166666666657 0.28186274509803794
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 VALUE={0}
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
E58 VB_2_VREF 0 VB_2 VREF 1.0
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 89.69852941176467 -15.125
|
|
+1.3970588235294117
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( 357.60726351349297
|
|
+-412.65484234231866*V(Vccp,Vccn) + 140.89480105104104*PWR(V(Vccp,Vccn),2)
|
|
+ -21.11486486486304*PWR(V(Vccp,Vccn),3) +
|
|
+1.1730480480479284*PWR(V(Vccp,Vccn),4) ) -5000*I(VreadIo)}
|
|
EVLIM_HIGH_VOUT NET211 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
EVLIM_LOW_VOUT NET206 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo) +
|
|
+V(VOL_noRL) }
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
EVLIM_HIGH_VB NET203 0 VCCP 0 1.0
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
EVLIM_LOW_VB NET192 0 VCCN 0 1.0
|
|
E2_REF NET362 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET356 0 1.0
|
|
E_VOL_NORL VOL_NORL 0 VALUE={0}
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E1_REF NET326 0 VCCP 0 1.0
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -254.01148801515134 +
|
|
+290.6577969371937*V(Vccp,Vccn) -94.89295715398025*PWR(V(Vccp,Vccn),2) +
|
|
+13.840310899133279*PWR(V(Vccp,Vccn),3)
|
|
+-0.7559878883407544*PWR(V(Vccp,Vccn),4) ) -5000*I(VreadIo)}
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
R1 VB VREF {R1}
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET0295 50
|
|
RIN_CM_VP VREF VP {RIN_CM_VP}
|
|
RIN_DIFF VP VM {RIN_DIFF}
|
|
ROUT NET0410 VZOUT {ROUT}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RO2_2 VB_3 VB_2 {RO2_2}
|
|
RPROT_IN_P_VCCP NET196 VCCP 100
|
|
RPROT_IN_M_VCCP VCCP NET348 100
|
|
RO2_1 VB_2 VREF {RO2_1}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
RIN_CM_VM VREF VM {RIN_CM_VM}
|
|
R1_REF NET326 NET356 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RPROT_IN_M_VCCN VCCN NET360 15K
|
|
R2_REF NET356 NET362 1Meg
|
|
RPROT_IN_P_VCCN NET213 VCCN 15K
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 10*( 1 -
|
|
+exp(-abs(V(v_Io_val))/0.2m )) ) }
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_IIB_VM VREF VM POLY(1) VCCP VCCN 3.654411764705885E-11
|
|
+7.91666666666665E-12 -2.450980392156842E-13
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 2.5746323529411758E-5
|
|
+-1.458333333333355E-7 1.5931372549019658E-7
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
G_IIB_VP VREF VP POLY(1) VCCP VCCN 3.654411764705885E-11
|
|
+7.91666666666665E-12 -2.450980392156842E-13
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSZ12X subckt:
|
|
*
|
|
.PARAM VCC_MIN=1.5
|
|
.PARAM RINCM=4.9961E+10
|
|
.PARAM CINCM=1.2533E-11
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RINDIFF=1.8019E+09
|
|
.PARAM CINDIFF=7.5304E-12
|
|
.PARAM RIN_DIFF={(2*RINCM*RINDIFF)/(2*RINCM - RINDIFF)}
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=10m
|
|
.PARAM Ro = 1.1229E+05
|
|
.PARAM A0=1e+7
|
|
.PARAM Ccomp=10.04p
|
|
.PARAM IEE=2u
|
|
.PARAM W=0.81u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=2.8481E-05
|
|
.PARAM Lout = 10m
|
|
.PARAM Rout = 1300
|
|
.PARAM Cout = 20n
|
|
.PARAM Cout2 = 0.7p
|
|
.PARAM Zout_Iout_coeff_MIN= 1.0
|
|
.PARAM Iout_dc_tau__source = 0.3m
|
|
.PARAM Iout_dc_tau__sink = 0.3m
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2}
|
|
.PARAM R1={A0/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TSZ12X
|
|
*** End of subcircuit definition.
|
|
|
|
|
|
****************************************************************************
|
|
****
|
|
*** TSZ181 Eldo macromodel subckt
|
|
***
|
|
*** January 2017
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSZ18X VP VM VCCP VCCN VS
|
|
LOUT VZOUT 0 {LOUT}
|
|
FIOUT 0 VZOUT VREADIO 1.0
|
|
M_NMOS2 VO_DIFF_MINUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_PLUS NET0283 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
VD_DN1 NET0247 0 DC 100.0m
|
|
V57 NET0242 NET0244 DC {VD_COMPENSAZIONE}
|
|
VREADI_R1 VB NET386 DC 0
|
|
V56 NET0280 NET0254 DC {VD_COMPENSAZIONE}
|
|
VOS NET0283 NET0319 DC 0
|
|
VPROT_IN_P_VCCP NET246 NET279 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_ENHANCE}
|
|
VREADIO NET0346 VS DC 0
|
|
VD_DN2 NET0249 0 DC 100.0m
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_ENHANCE}
|
|
V_OUTVLIM_LOW NET256 NET257 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_M_VCCN NET258 NET448 DC {V_DPROT}
|
|
V_OUTVLIM_HIGH NET285 NET261 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_P_VCCN NET262 NET263 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET434 NET269 DC {V_DPROT}
|
|
D29 NET0244 VB DIODE_NOVd
|
|
D28 VB NET0280 DIODE_NOVd
|
|
DN2 NET0249 VN_MINUS DN
|
|
DN1 NET0247 VN_PLUS DN
|
|
DPROT_IN_M_VCCP VM NET269 DIODE_VLIM
|
|
DPROT_IN_M_VCCN NET258 VM DIODE_VLIM
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D_OUTVLIM_LOW NET257 VB_3 DIODE_NOVd
|
|
DPROT_IN_P_VCCP NET0283 NET279 DIODE_VLIM
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
DPROT_IN_P_VCCN NET262 NET0283 DIODE_VLIM
|
|
D_OUTVLIM_HIGH VB_3 NET285 DIODE_NOVd
|
|
CZOUT_IOUT_COEFF VZOUT_IOUT_COEFF 0 1n
|
|
COUT2 VZOUT 0 {COUT2}
|
|
CIN_CM_VM VM VREF {CIN_CM_VM}
|
|
CIN_CM_VP VP VREF {CIN_CM_VP}
|
|
CIN_DIFF VM VP {CIN_DIFF}
|
|
C_RO2_1 VB_2 VREF 40p
|
|
COUT NET427 0 {COUT}
|
|
CDIFF_PARASITIC VO_DIFF_PLUS VO_DIFF_MINUS 9p
|
|
CCOMP VB VB_2 {CCOMP}
|
|
E60 NET0242 0 VALUE={V(Vref) - V(alpha_desat_time)*V(Vccp,Vccn) }
|
|
E62 NET0254 0 VALUE={V(Vref) + V(alpha_desat_time)*V(Vccp,Vccn) }
|
|
EZOUT_VCC_COEFF VZOUT_VCC_COEFF 0 VALUE={1}
|
|
EZOUT_IOUT_COEFF NET310 0 VALUE={IF( I(VreadIo)>=0 , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__source)) ) , (
|
|
+Zout_Iout_coeff_MIN + (1.0 -
|
|
+Zout_Iout_coeff_MIN)*exp(-abs(I(VreadIo)/Iout_dc_tau__sink)) ) )}
|
|
EZOUT VB_3 NET0346
|
|
+VALUE={V(VZout)*V(VZout_Iout_coeff)*V(VZout_Vcc_coeff)}
|
|
E_SR_VCC_MODULATION VOUT_DIFF__SR_VCC 0 VALUE={V(Vout_diff)*(
|
|
+0.54936974789916 + 0.17320473644003018*V(Vccp,Vccn) +
|
|
+(-0.016615737203972452)*V(Vccp,Vccn)*V(Vccp,Vccn) )}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 VALUE={0}
|
|
E_RO1_VOL RO1_VOL 0 POLY(1) VCCP VCCN 206.94327731092375
|
|
+-77.55277565571632 13.207514410722826 -0.7749380744033024
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 VALUE={0}
|
|
E_READIO V_IO_VAL 0 VALUE={I(VreadIo)}
|
|
E58 VB_2_VREF 0 VB_2 VREF 1.0
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
EN NET0319 VP VN_PLUS VN_MINUS 1.0
|
|
E_RO1_VOH RO1_VOH 0 POLY(1) VCCP VCCN 295.7100840336127
|
|
+-99.54583651642409 13.969720119452553 -0.5937912355024489
|
|
EMEAS_VB_VREF VB_VREF 0 VB VREF 1.0
|
|
EMEAS_VOUT_DIFF VOUT_DIFF 0 VO_DIFF_PLUS VO_DIFF_MINUS 1.0
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={ ( -26.23529411764716 +
|
|
+13.435828877*V(Vccp,Vccn) + 3.342245989304806*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
EVLIM_HIGH_VOUT NET261 0 VALUE={V(VCCP) - V(Ro1_Voh)*I(VreadIo)}
|
|
EVLIM_LOW_VOUT NET256 0 VALUE={V(VCCN) - V(Ro1_Vol)*I(VreadIo) +
|
|
+V(VOL_noRL) }
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
E64 ALPHA_DESAT_TIME 0 POLY(1) VCCP VCCN 0.5086557788944723
|
|
+-0.02675879396984925
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E_R1 NET386 VREF VALUE={I(VreadI_R1)*( R1_sink
|
|
++(R1_source-R1_sink)*1/(1+exp(-alpha_switch*(V(v_Io_val)-Io_val_switch) )
|
|
+)) }
|
|
E2_REF NET450 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET444 0 1.0
|
|
E_VOL_NORL VOL_NORL 0 VALUE={0}
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( V(Vccp,Vccn)<VCC_MIN , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E1_REF NET410 0 VCCP 0 1.0
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={ ( 59.8067226890757
|
|
+-40.38388082505732*V(Vccp,Vccn) -0.0954927425515641*PWR(V(Vccp,Vccn),2) )
|
|
+-5000*I(VreadIo)}
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
RN1 VN_PLUS 0 R_NOISE {RN}
|
|
RZOUT_IOUT_COEFF VZOUT_IOUT_COEFF NET310 R_NO_NOISE 50
|
|
RIN_CM_VP VREF VP R_NO_NOISE {RIN_CM_VP}
|
|
RIN_DIFF VP VM R_NO_NOISE {RIN_DIFF}
|
|
ROUT NET427 VZOUT R_NO_NOISE {ROUT}
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 R_NO_NOISE 1K
|
|
RO2_2 VB_3 VB_2 R_NO_NOISE {RO2_2}
|
|
RPROT_IN_P_VCCP NET246 VCCP R_NO_NOISE 10
|
|
RPROT_IN_M_VCCP VCCP NET434 R_NO_NOISE 10
|
|
RO2_1 VB_2 VREF R_NO_NOISE {RO2_1}
|
|
RN2 VN_MINUS 0 R_NOISE {RN}
|
|
RD1 VCCP_ENHANCED VO_DIFF_PLUS R_NO_NOISE {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_MINUS R_NO_NOISE {RD}
|
|
RIN_CM_VM VREF VM R_NO_NOISE {RIN_CM_VM}
|
|
R1_REF NET410 NET444 R_NO_NOISE 1Meg
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 R_NO_NOISE 1K
|
|
RPROT_IN_M_VCCN VCCN NET448 R_NO_NOISE 10
|
|
R2_REF NET444 NET450 R_NO_NOISE 1Meg
|
|
RPROT_IN_P_VCCN NET263 VCCN R_NO_NOISE 10
|
|
G_ICCSAT_OUTLOW VCCP VCCN VALUE={IF(I(V_OUTVLIM_LOW)>1u ,
|
|
+V(Icc_out_low) , 0)}
|
|
G_I_VB VB_2 VREF VB_VREF 0 {GB}
|
|
G_I_IO VB_2 VREF VALUE={V(VB_Vref)*GB*( 5*( 1 -
|
|
+exp(-abs(V(v_Io_val))/0.2m )) ) }
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
GM1 VREF VB VOUT_DIFF__SR_VCC 0 {1/RD}
|
|
G_IIB_VM VREF VM VALUE={30p}
|
|
G_ICC VCCP VCCN POLY(1) VCCP VCCN 4.660809280233866E-4
|
|
+2.0218817882884096E-4 -7.35020094994511E-5 8.908227322549483E-6
|
|
G_ICCSAT_OUTHIGH VCCP VCCN VALUE={IF(I(V_OUTVLIM_HIGH)>1u ,
|
|
+V(Icc_out_high), 0)}
|
|
G_IIB_VP VREF VP VALUE={30p}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TSZ181 subckt:
|
|
*
|
|
.PARAM VCC_MIN=1.5
|
|
.PARAM RINCM=4.9961E+10
|
|
.PARAM CINCM=2.7768E-12
|
|
.PARAM RIN_CM_VM={2*RINCM}
|
|
.PARAM RIN_CM_VP={2*RINCM}
|
|
.PARAM CIN_CM_VM={CINCM/2}
|
|
.PARAM CIN_CM_VP={CINCM/2}
|
|
.PARAM RIN_DIFF=1T
|
|
.PARAM CINDIFF=2.4130E-12
|
|
.PARAM CIN_DIFF={CINDIFF - CINCM/2}
|
|
.PARAM RD=1k
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM GB=9.817m
|
|
.PARAM Ro = 14125
|
|
.PARAM A0_source = 0.4e+7
|
|
.PARAM A0_sink = 0.4e+7
|
|
.PARAM alpha_switch = 1e6
|
|
.PARAM Io_val_switch = -7u
|
|
.PARAM Ccomp=10p
|
|
.PARAM IEE=47u
|
|
.PARAM W=1.57u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=1.9212E-04
|
|
.PARAM Lout = 0.5u
|
|
.PARAM Rout = 650
|
|
.PARAM Cout = 0.01n
|
|
.PARAM Cout2 = 0.4p
|
|
.PARAM Zout_Iout_coeff_MIN= 1.0
|
|
.PARAM Iout_dc_tau__source = 3m
|
|
.PARAM Iout_dc_tau__sink = 3m
|
|
.PARAM Ro2_2=1e-3
|
|
.PARAM Ro2_1={ Ro - Ro2_2}
|
|
.PARAM R1_sink={A0_sink/(gm_mos*GB*Ro2_1)}
|
|
.PARAM R1_source={A0_source/(gm_mos*GB*Ro2_1)}
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
.PARAM RN=4.5e+04
|
|
.MODEL DN D AF=1 KF=0
|
|
|
|
.MODEL R_NO_NOISE RES T_ABS=-273
|
|
.MODEL R_NOISE RES T_ABS=+27
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=500E-6 T_ABS=+27
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
.ENDS TSZ18X
|
|
*** End of subcircuit definition.
|
|
|
|
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT UA741 2 1 4 5 3
|
|
**********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=8.68230E-16 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 1.625000E+01
|
|
RIN 15 16 1.625000E+01
|
|
RIS 11 15 6.310822E+01
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 1.600000E-05
|
|
CPS 11 15 8.700201E-10
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 3.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 3.000000E+00
|
|
FCP 4 5 VOFP 1.052500E+02
|
|
FCN 5 4 VOFN 1.052500E+02
|
|
FIBP 2 5 VOFP 1.250000E-03
|
|
FIBN 5 1 VOFN 1.250000E-03
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 3.750000E+02
|
|
FIN 5 19 VOFN 3.750000E+02
|
|
RG1 19 5 5.256811E+06
|
|
RG2 19 4 5.256811E+06
|
|
CC 19 29 1.200000E-08
|
|
HZTP 30 29 VOFP 5.813295E+02
|
|
HZTN 5 30 VOFN 5.813295E+02
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 4.400000E+03
|
|
VIPM 28 4 1.100000E+02
|
|
HONM 21 27 VOUT 4.400000E+03
|
|
VINM 5 27 1.100000E+02
|
|
EOUT 26 23 19 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 90
|
|
COUT 3 5 1.000000E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 2.25
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 2.25
|
|
.ENDS UA741
|
|
|
|
|
|
* 1 INVERTING INPUT
|
|
* 2 NON-INVERTING INPUT
|
|
* 3 OUTPUT
|
|
* 4 POSITIVE POWER SUPPLY
|
|
* 5 NEGATIVE POWER SUPPLY
|
|
.SUBCKT UA748 2 1 4 5 3
|
|
********************************************************
|
|
.MODEL MDTH D IS=1E-8 KF=1.025862E-15 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 5 2 5 1
|
|
EIN 16 5 1 5 1
|
|
RIP 10 11 1.625000E+01
|
|
RIN 15 16 1.625000E+01
|
|
RIS 11 15 7.476714E+01
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0.000000E+00
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 5 1.600000E-05
|
|
CPS 11 15 2.5E-09
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 0.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 0.000000E+00
|
|
FCP 4 5 VOFP 1.115000E+02
|
|
FCN 5 4 VOFN 1.115000E+02
|
|
FIBP 2 5 VOFP 1.875000E-04
|
|
FIBN 5 1 VOFN 1.875000E-04
|
|
* AMPLIFYING STAGE
|
|
FIP 5 19 VOFP 9.375000E+02
|
|
FIN 5 19 VOFN 9.375000E+02
|
|
RG1 19 5 9.981802E+05
|
|
RG2 19 4 9.981802E+05
|
|
CC 19 29 3.000000E-08
|
|
HZTP 30 29 VOFP 5.535733E+02
|
|
HZTN 5 30 VOFN 5.535733E+02
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 5.000000E+03
|
|
VIPM 28 4 1.500000E+02
|
|
HONM 21 27 VOUT 5.000000E+03
|
|
VINM 5 27 1.500000E+02
|
|
EOUT 26 23 19 5 1
|
|
VOUT 23 5 0
|
|
ROUT 26 3 200
|
|
COUT 3 5 1.000000E-12
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.480450E+00
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 1.480450E+00
|
|
.ENDS UA748
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*=========================
|
|
*=========================
|
|
*
|
|
*COMPARATORS
|
|
*
|
|
*=========================
|
|
*=========================
|
|
|
|
|
|
*-----------------------------------------------------------------------------------------
|
|
* LM119/LM219/LM319 spice macromodel
|
|
* CONNECTIONS :
|
|
* 1 NON-INVERTING INPUT
|
|
* 2 INVERTING INPUT
|
|
* 3 POSITIVE POWER SUPPLY
|
|
* 4 NEGATIVE POWER SUPPLY
|
|
* 5 OUTPUT
|
|
*
|
|
**********************************************************
|
|
.SUBCKT LMX19 2 1 44 55 33
|
|
EVCCP 4 0 44 0 1.0
|
|
EVCCN 5 0 55 0 1.0
|
|
VREADIO 3 33 DC 0
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1k
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1k
|
|
G_ICCSAT 44 55 VALUE={IF(V(3)>(V(44)+V(55))/2, V(Icc_out_high), V(Icc_out_low) ) }
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 VALUE={4E-4*V(44,55)}
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 VALUE={1E-3 + 1E-4*V(44,55)}
|
|
G_IOUT_SINKED 55 0 VALUE={IF (V(1)<V(2), 0, I(VreadIo))}
|
|
.MODEL MDTH D IS=1E-11 KF=1.050321E-32 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 102 0 2 0 1
|
|
VIO 10 102 880U
|
|
EIN 16 0 1 0 1
|
|
RIP 10 11 6.500000E+01
|
|
RIN 15 16 6.500000E+01
|
|
RIS 11 15 1.939046E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0.000000E+00
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 0 100E-06
|
|
CPS 11 15 3.7E-10
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 2.000000E+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 2.000000E+00
|
|
FCP1 4 0 VOFP 80
|
|
FCP2 0 4 VOFN 80
|
|
FCN1 0 5 VOFP 30
|
|
FCN2 5 0 VOFN 30
|
|
FIBP 2 0 VOFN 3E-03
|
|
FIBN 0 1 VOFP 3E-03
|
|
* AMPLIFYING STAGE
|
|
RG1 5 19 2.85E+05
|
|
RG2 4 19 2.85E+05
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.097
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 1.097
|
|
FIP 0 19 VOFP -104
|
|
FIN 0 19 VOFN -104
|
|
EOUT 26 5 19 5 1
|
|
.MODEL NMOD NPN(IS=0.1E-09 BF=1500)
|
|
RBOUT 27 26 800K
|
|
QOUT 103 27 28 28 NMOD
|
|
RCEOUT 103 28 15.02E+07
|
|
REOUT 28 5 20
|
|
RSOUT 3 0 1E+12
|
|
VNUL 3 103 0
|
|
.ENDS LMX19
|
|
|
|
|
|
|
|
****************************************************************************
|
|
****
|
|
**** TS881 Spice macromodel subckt
|
|
***
|
|
*** November 2012
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TS881 VP VM VCCP VCCN VS
|
|
X_C_FALL V_VALORI_C_FALL 0 VREF V_C_FALL VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_SCALE} Rserie=1
|
|
X_C_VOD V_VALORI_C_VOD 0 VB_D_VOD VREF VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_SCALE} Rserie=1.0
|
|
X_C_RISE V_VALORI_C_RISE 0 V_C_RISE VREF VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_SCALE} Rserie=1
|
|
X_C_VCC V_VALORI_C_VCC 0 VB_D_VOD_VCC VREF VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_SCALE} Rserie=1
|
|
M_NMOS2 VO_DIFF_PLUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_MINUS NET385 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IIN_BIAS_VM VM VREF DC 1p
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
IIN_BIAS_VP VP VREF DC 1p
|
|
V58 NET293 NET228 DC {VD_COMPENSAZIONE}
|
|
V59 NET256 NET325 DC {VD_COMPENSAZIONE}
|
|
VREADIO VB_4 VS DC 0
|
|
VVLIM_LOW_VB NET349 NET234 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_P_VCCP NET235 NET270 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_ENHANCE}
|
|
VVLIM_HIGH_VB NET262 NET333 DC {VD_COMPENSAZIONE}
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_ENHANCE}
|
|
VPROT_IN_M_VCCN NET243 NET415 DC {V_DPROT}
|
|
VPROT_IN_P_VCCN NET245 NET246 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET401 NET264 DC {V_DPROT}
|
|
D40 NET228 VB_D_VOD DIODE_NOVd
|
|
D_ENABLE_RISE VB_D_G_RF V_C_RISE DIODE_rf
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D41 VB_D_VOD NET256 DIODE_NOVd
|
|
D_ENABLE_FALL V_C_FALL VB_D_G_RF DIODE_rf
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
D3 VB_D_G NET262 DIODE_NOVd
|
|
DPROT_IN_M_VCCP VM NET264 DIODE_VLIM
|
|
D4 NET234 VB_D_G DIODE_NOVd
|
|
DPROT_IN_M_VCCN NET243 VM DIODE_VLIM
|
|
DPROT_IN_P_VCCP NET385 NET270 DIODE_VLIM
|
|
DPROT_IN_P_VCCN NET245 NET385 DIODE_VLIM
|
|
C84 VM VP 350.00f
|
|
E_RO_3 VB_3 VB_4 VALUE={IF( I(VreadIo)>0
|
|
+,I(VreadIo)*V(Ro_3_val_VOH),I(VreadIo)*V(Ro_3_val_VOL) )}
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
|
|
* E_RO_3_VAL_VOL RO_3_VAL_VOL 0 PWL(1) VCCP VCCN ( 1.2 , 177.5 ) ( 2.7 ,
|
|
*+49.5 ) ( 5.0 , 26.3 )
|
|
E_RO_3_VAL_VOL RO_3_VAL_VOL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.2 , 177.5 , 2.7 ,
|
|
+49.5 , 5.0 , 26.3 )}
|
|
|
|
E65 NET293 0 VCCN 0 1.0
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={( -28.95537757437066 +
|
|
+26.974065598779536*V(Vccp,Vccn) +
|
|
+2.14340198321892*V(Vccp,Vccn)*V(Vccp,Vccn)) -5000*I(VreadIo) }
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN 2.661441647597253E-7
|
|
+-4.340198321891652E-9 2.822273073989316E-9
|
|
C_VOD_FIXED VB_D_VOD VREF 86p
|
|
|
|
* E_C_VOD V_VALORI_C_VOD 0 PWL(1) VP VM ( -100m , {0.01p/CAP_SCALE} ) (
|
|
*+-75m , {0.1p/CAP_SCALE} ) ( -50m , {45p/CAP_SCALE} ) ( -30m ,
|
|
*+{20p/CAP_SCALE} ) ( -10m , {2.5p/CAP_SCALE} ) ( -5m , {0.5p/CAP_SCALE} ) (
|
|
*++5m , {0.5p/CAP_SCALE} ) ( +10m , {13p/CAP_SCALE} ) ( +30m ,
|
|
*+{80p/CAP_SCALE} ) ( +50m , {150p/CAP_SCALE} ) ( +70m , {25p/CAP_SCALE}
|
|
*+) ( +100m , {1f/CAP_SCALE} )
|
|
E_C_VOD V_VALORI_C_VOD 0 VALUE={TABLE( V(VP,VM) , -100m , 0.01p ,
|
|
+ -75m , 0.1p , -50m , 45p , -30m , 20p , -10m , 2.5p , -5m , 0.5p ,
|
|
+ +5m , 0.5p , +10m , 13p , +30m , 80p , +50m , 150p , +70m , 25p ,
|
|
+ +100m , 1f)/CAP_SCALE}
|
|
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 1.72437070938215E-7
|
|
+1.2204424103740944E-10 1.678108314263917E-9
|
|
|
|
* E_HYST_VAL HYST_VAL 0 PWL(1) VCCP VCCN ( 1.2 , 2.4m ) ( 2.7 , 2.7m ) (
|
|
*+5.0 , 3.1m )
|
|
E_HYST_VAL HYST_VAL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.2 , 2.4m , 2.7 , 2.7m ,
|
|
+5.0 , 3.1m )}
|
|
|
|
E66 NET325 0 VCCP 0 1.0
|
|
|
|
* E_RO_3_VAL_VOH RO_3_VAL_VOH 0 PWL(1) VCCP VCCN ( 1.2 , 228 ) ( 2.7 ,
|
|
*+74.5 ) ( 5.0 , 29 )
|
|
E_RO_3_VAL_VOH RO_3_VAL_VOH 0 VALUE={TABLE( V(VCCP,VCCN) , 1.2 , 228 , 2.7 ,
|
|
+74.5 , 5.0 , 29 )}
|
|
|
|
EVLIM_HIGH_VB NET333 0 VCCP 0 1.0
|
|
|
|
|
|
* E_C_VCC V_VALORI_C_VCC 0 TABLE {IF(V(VP,VM)>0,V(Vccp,Vccn),
|
|
*+-V(Vccp,Vccn))}=(-5 {18p/CAP_scale}) (-2.7 {7p/CAP_scale}) (-1.2
|
|
*+{1f/CAP_scale}) (1.2 {1f/CAP_scale}) (2.7 {8p/CAP_scale}) (5
|
|
*+{14p/CAP_scale})
|
|
E_C_VCC V_VALORI_C_VCC 0 VALUE={IF( V(VP,VM)>0,
|
|
+TABLE( V(VCCP,VCCN), 1.2 , 1f , 2.7 , 8p , 5 , 14p),
|
|
+TABLE( V(VCCP,VCCN), 1.2 , 1f , 2.7 , 7p , 5 , 18p))/CAP_scale}
|
|
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
|
|
* E_C_FALL V_VALORI_C_FALL 0 PWL(1) VCCP VCCN ( 1.2 , {70.8p/CAP_SCALE}
|
|
*+) ( 2.7 , {82p/CAP_SCALE} ) ( 5.0 , {93.8p/CAP_SCALE} )
|
|
E_C_FALL V_VALORI_C_FALL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.2 , 70.8p ,
|
|
+ 2.7 , 82p , 5.0 , 93.8p)/CAP_SCALE}
|
|
|
|
EVLIM_LOW_VB NET349 0 VCCN 0 1.0
|
|
E2_REF NET417 0 VCCN 0 1.0
|
|
|
|
* E_VIO VP NET358 PWL(1) VCCP VCCN ( 1.2 , 1m ) ( 2.7 , 1m ) ( 5.0 , 1m
|
|
*+)
|
|
E_VIO VP NET358 VALUE={1m}
|
|
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_VREF VREF 0 NET411 0 1.0
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
E1_REF NET373 0 VCCP 0 1.0
|
|
|
|
* E_C_RISE V_VALORI_C_RISE 0 PWL(1) VCCP VCCN ( 1.2 , {62.2p/CAP_SCALE}
|
|
*+) ( 2.7 , {75p/CAP_SCALE} ) ( 5.0 , {100p/CAP_SCALE} )
|
|
E_C_RISE V_VALORI_C_RISE 0 VALUE={TABLE( V(VCCP,VCCN) , 1.2 , 62.2p ,
|
|
+ 2.7 , 75p , 5.0 , 100p)/CAP_SCALE}
|
|
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={(8.886727688787182
|
|
+-2.780320366132732*V(Vccp,Vccn)
|
|
+-6.979405034324943*V(Vccp,Vccn)*V(Vccp,Vccn) ) -5000*I(VreadIo) }
|
|
E_HYST NET385 NET358 VALUE={IF( V(Vccp,Vccn)>=VCCMIN ,
|
|
++V(VS,Vref)/( V(Vccp,Vccn)/V(Hyst_val)) , 0 )}
|
|
R_RISE_FALL VREF VB_D_G_RF {R_RISE_FALL}
|
|
R_DELAY_VOD VREF VB_D_VOD {R_DELAY}
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RO_2 VB_3 VB_2 1m
|
|
RO_1 VREF VB_2 {RO_1}
|
|
RPROT_IN_P_VCCP NET235 VCCP 15K
|
|
RPROT_IN_M_VCCP VCCP NET401 15K
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RD1 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
R_DELAY_VCC VREF VB_D_VOD_VCC {R_DELAY}
|
|
R1_REF NET373 NET411 1Meg
|
|
R_GAIN VB_D_G VREF {R1}
|
|
RPROT_IN_M_VCCN VCCN NET415 15K
|
|
R2_REF NET411 NET417 1Meg
|
|
RPROT_IN_P_VCCN NET246 VCCN 15K
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
G_ICCSAT VCCP VCCN VALUE={IF( V(VS)>V(Vccp,Vccn)/2 ,
|
|
+V(Icc_out_high), V(Icc_out_low) ) }
|
|
G_RISE_FALL VREF VB_D_G_RF VB_D_G VREF {1/R_RISE_FALL}
|
|
G_GAIN VREF VB_D_G VB_D_VOD_VCC VREF 1
|
|
G_DELAY_VOD VB_D_VOD VREF VO_DIFF_MINUS VO_DIFF_PLUS {1/R_DELAY}
|
|
G_OUT VREF VB_2 VB_D_G_RF VREF {1/RO_1}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
G_DELAY_VCC VB_D_VOD_VCC VREF VREF VB_D_VOD {1/R_DELAY}
|
|
|
|
*******************************************************************************
|
|
*
|
|
.PARAM CAP_scale=1e-15
|
|
.PARAM VCCMIN=1.0
|
|
.PARAM A0=10E+06
|
|
.PARAM IEE=35n
|
|
.PARAM W=0.2u
|
|
.PARAM L=1u
|
|
.PARAM gm_mos=8.3763E-07
|
|
.PARAM RD=35k
|
|
.PARAM R_delay={RD}
|
|
.PARAM R1={A0/(gm_mos*RD)}
|
|
.PARAM Ro_1=20
|
|
.PARAM R_rise_fall=1000
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM V_DPROT=0
|
|
.PARAM Vd_compensazione=-788.4u
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=100E-6
|
|
.MODEL DIODE_rf D LEVEL=1 IS=10E-15 N=0.1 CJO=10f
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TS881
|
|
|
|
|
|
|
|
*******************************************************
|
|
******* SUBCKT VOLTAGE CONTROLLED CAPACITOR for SPICE
|
|
*******************************************************
|
|
.SUBCKT VCCAP_PSPICE Vctrl_plus Vctrl_minus Vout_plus Vout_minus
|
|
+ PARAMS: CAP_scale=1u Rserie=1
|
|
EVin 2 0 VALUE={1/V(Vctrl_plus,Vctrl_minus)}
|
|
EV2 8 Vout_plus POLY(2) 6 0 2 0 0 0 0 0 1 0 0 0 0 0
|
|
RR1 8 Vout_minus {Rserie}
|
|
GI1 0 6 Vout_minus 8 {1/Rserie}
|
|
RR2 0 6 100G
|
|
CC1 6 0 {CAP_scale}
|
|
.ENDS VCCAP_PSPICE
|
|
*********************************************************
|
|
|
|
.SUBCKT TS393 1 2 3 4 5
|
|
**********************************************************
|
|
********************** COMPARATOR ********************
|
|
.MODEL MDTH D IS=1E-11 KF=1.050321E-32 CJO=10F
|
|
.MODEL DIDEAL D N=0.1 IS=1E-08
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 0 2 0 1
|
|
EIN 16 0 1 0 1
|
|
RIP 10 11 6.500000E+01
|
|
RIN 15 16 6.500000E+01
|
|
RIS 11 15 1.939046E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0.000000E+00
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 0 100E-06
|
|
CPS 11 15 8.5E-09
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 0.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 1.200000E+00
|
|
FCP 4 5 VOFP 0.00
|
|
FCN 5 4 VOFN 0.00
|
|
FIBP 2 0 VOFN 2.000000E-08
|
|
FIBN 0 1 VOFP 2.000000E-08
|
|
* AMPLIFYING STAGE
|
|
RG1 5 19 2.8E+05
|
|
RG2 4 19 2.8E+05
|
|
DONM 21 19 MDTH 400E-12
|
|
HONM 21 27 VOUT 3000
|
|
VINM 5 27 135
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.097
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 1.097
|
|
FIP 0 19 VOFP 104
|
|
FIN 0 19 VOFN 104
|
|
EOUT 26 23 19 5 1
|
|
VOUT 23 5 0V
|
|
RFUIT 126 5 2.5E+09
|
|
DOUT 126 26 DIDEAL 400E-12
|
|
ROUT 126 3 28.33
|
|
.ENDS
|
|
*********************************************************
|
|
|
|
****
|
|
*** TS3021 Spice macromodel subckt*
|
|
*** December 2007
|
|
****
|
|
************ CONNECTIONS:
|
|
**** INVERTING INPUT
|
|
**** | NON-INVERTING INPUT
|
|
**** | | OUTPUT
|
|
**** | | | POSITIVE POWER SUPPLY
|
|
**** | | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TS302X VM VP VS VCCP VCCN
|
|
|
|
******************************
|
|
* Icc
|
|
******************************
|
|
* Eldo:
|
|
* E_ICCSAT_HIGH ICC_OUT_HIGH 0 PWL(1) VCCP VCCN ( 2 , {64e-6 - IEE} ) (
|
|
* +3.3 , {65e-6 - IEE} ) ( 5 , {67e-6 -IEE} )
|
|
* PSpice:
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 VALUE={TABLE( V(VCCP,VCCN) , 2 , {64e-6 - IEE} ,
|
|
+ 3.3 , {65e-6 - IEE} , 5 , {67e-6 -IEE} )}
|
|
* Eldo:
|
|
* E_ICCSAT_LOW ICC_OUT_LOW 0 PWL(1) VCCP VCCN ( 2 , {75e-6 - IEE} ) (
|
|
* +3.3 , {77e-6 - IEE} ) ( 5 , {80e-6 - IEE} )
|
|
* PSpice:
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 VALUE={TABLE( V(VCCP,VCCN) , 2 , {75e-6 - IEE} ,
|
|
+ 3.3 , {77e-6 - IEE} , 5 , {80e-6 -IEE} )}
|
|
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
G_ICCSAT VCCP VCCN VALUE={IF( V(VS)>V(Vccp,Vccn)/2 ,
|
|
+V(Icc_out_high), V(Icc_out_low) ) }
|
|
M_NMOS2 VO_DIFF_PLUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_MINUS NET180 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IIN_BIAS_VM VREF VM DC 80n
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
IIN_BIAS_VP VREF VP DC 80n
|
|
V59 NET0175 NET0214 DC {Vd_compensazione}
|
|
V58 NET0205 NET0146 DC {Vd_compensazione}
|
|
VI0 NET180 VP DC 0
|
|
VPROT_IN_P_VCCP NET144 NET181 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_enhance}
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_enhance}
|
|
VPROT_IN_M_VCCN NET152 NET256 DC {V_DPROT}
|
|
VPROT_IN_P_VCCN NET154 NET155 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET242 NET173 DC {V_DPROT}
|
|
VVLIM_LOW_VB NET216 NET0206 DC {Vd_compensazione}
|
|
VVLIM_HIGH_VB NET0233 NET212 DC {Vd_compensazione}
|
|
D_ENABLE_FALL V_c_fall VB_D_G_RF DIODE_rf
|
|
D_ENABLE_RISE VB_D_G_RF V_c_rise DIODE_rf
|
|
D41 VB_D_VOD NET0175 DIODE_NOVd
|
|
D40 NET0146 VB_D_VOD DIODE_NOVd
|
|
DPROT_IN_M_VCCP VM NET173 DIODE_VLIM
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
DPROT_IN_M_VCCN NET152 VM DIODE_VLIM
|
|
DPROT_IN_P_VCCP NET180 NET181 DIODE_VLIM
|
|
DPROT_IN_P_VCCN NET154 NET180 DIODE_VLIM
|
|
D3 VB_D_G NET0233 DIODE_NOVd
|
|
D4 NET0206 VB_D_G DIODE_NOVd
|
|
CIN_DIFF_VP VP VREF 2.7p
|
|
CIN_DIFF_VM VM VREF 2.7p
|
|
E66 NET0214 0 VCCP 0 1.0
|
|
E65 NET0205 0 VCCN 0 1.0
|
|
EVLIM_HIGH_VB NET212 0 VCCP 0 1.0
|
|
EVLIM_LOW_VB NET216 0 VCCN 0 1.0
|
|
E2_REF NET258 0 VCCN 0 1.0
|
|
E_VREF VREF 0 NET250 0 1.0
|
|
E1_REF NET228 0 VCCP 0 1.0
|
|
E_VAL_VDEP_SOURCE VAL_VDEP_SOURCE 0 VALUE={( -92.08371040724474 +
|
|
+72.77526395173992*V(Vccp,Vccn) +
|
|
+1.5082956259414868*V(Vccp,Vccn)*V(Vccp,Vccn) ) -5000*I(VreadIo) }
|
|
E_VAL_VDEP_SINK VAL_VDEP_SINK 0 VALUE={(54.866515837108246
|
|
+-60.88989441930893*V(Vccp,Vccn)
|
|
++0.6033182503774749*V(Vccp,Vccn)*V(Vccp,Vccn) ) -5000*I(VreadIo) }
|
|
E_VDEP_SOURCE VDEP_SOURCE 0 VALUE={IF(V(val_vdep_source)>=0, 0,
|
|
+V(val_vdep_source))}
|
|
E_VDEP_SINK VDEP_SINK 0 VALUE={IF(V(val_vdep_sink)<=0 , 0 ,
|
|
+V(val_vdep_sink))}
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
R_RISE_FALL VREF VB_D_G_RF {R_rise_fall}
|
|
R_DELAY_VOD VREF VB_D_VOD {R_delay}
|
|
G_DELAY_VOD VB_D_VOD VREF VO_DIFF_MINUS VO_DIFF_PLUS {1/R_delay}
|
|
R_DELAY_VCC VREF VB_D_VOD_VCC {R_delay}
|
|
G_DELAY_VCC VB_D_VOD_VCC VREF VREF VB_D_VOD {1/R_delay}
|
|
RPROT_IN_P_VCCP NET144 VCCP 15K
|
|
RPROT_IN_M_VCCP VCCP NET242 15K
|
|
RD1 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
RPROT_IN_M_VCCN VCCN NET256 15K
|
|
RPROT_IN_P_VCCN NET155 VCCN 15K
|
|
R1_REF NET228 NET250 1Meg
|
|
R_GAIN VB_D_G VREF {R1}
|
|
R2_REF NET250 NET258 1Meg
|
|
G_RISE_FALL VREF VB_D_G_RF VB_D_G VREF {1/R_rise_fall}
|
|
|
|
|
|
******************************
|
|
* VCCAP C_FALL
|
|
******************************
|
|
*Eldo:
|
|
* E_C_FALL V_VALORI_C_FALL 0 PWL(1) VCCP VCCN ( 2 , {28p/CAP_scale} )
|
|
* + ( 3.3 , {1p/CAP_scale} ) ( 5 , {1p/CAP_scale} )
|
|
* X_C_FALL V_VALORI_C_FALL 0 VREF V_C_FALL VCCAP_PSPICE
|
|
* +CAP_scale={CAP_scale} Rserie=1
|
|
*PSpice:
|
|
E_C_FALL V_VALORI_C_FALL 0 VALUE={ TABLE( V(VCCP,VCCN) , 2 , 28p ,
|
|
+ 3.3 , 1p , 5 , 1p )/CAP_scale }
|
|
X_C_FALL V_VALORI_C_FALL 0 VREF V_C_FALL VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_scale} Rserie=1
|
|
|
|
|
|
******************************
|
|
* VCCAP C_RISE
|
|
******************************
|
|
*Eldo:
|
|
* E_C_RISE V_VALORI_C_RISE 0 PWL(1) VCCP VCCN ( 2 , {46p/CAP_scale})
|
|
* + ( 3.3 , {42p/CAP_scale} ) ( 5 , {1p/CAP_scale} )
|
|
* X_C_RISE V_VALORI_C_RISE 0 V_C_RISE VREF VCCAP_PSPICE
|
|
* +CAP_scale={CAP_scale} Rserie=1
|
|
*PSpice:
|
|
E_C_RISE V_VALORI_C_RISE 0 VALUE={ TABLE( V(VCCP,VCCN) , 2 , 46p ,
|
|
+ 3.3 , 42p , 5 , 1p )/CAP_scale }
|
|
X_C_RISE V_VALORI_C_RISE 0 V_C_RISE VREF VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_scale} Rserie=1
|
|
|
|
|
|
******************************
|
|
* VCCAP C_VOD
|
|
******************************
|
|
*Eldo:
|
|
* E_C_VOD V_VALORI_C_VOD 0 PWL(1) VP VM ( -140m , {3.4p/CAP_scale} ) (
|
|
* +-120m , {2.88p/CAP_scale} ) ( -110m , {2.45p/CAP_scale} ) ( -100m ,
|
|
* +{2.1p/CAP_scale} ) ( -90m , {1.76p/CAP_scale} ) ( -80m ,
|
|
* +{1.48p/CAP_scale} ) ( -70m , {1.27p/CAP_scale} ) ( -60m ,
|
|
* +{1.095p/CAP_scale} ) ( -40m , {0.84p/CAP_scale} ) ( -20m ,
|
|
* +{0.65p/CAP_scale} ) ( 20m , {0.66p/CAP_scale} ) ( 40m , {0.83p/CAP_scale}
|
|
* +) ( 60m , {1.11p/CAP_scale} ) ( 70m , {1.28p/CAP_scale} ) ( 80m ,
|
|
* +{1.48p/CAP_scale} ) ( 90m , {1.76p/CAP_scale} ) ( 100m , {2.1p/CAP_scale}
|
|
* +) ( 110m , {2.45p/CAP_scale} ) ( 120m , {2.88p/CAP_scale} ) ( 140m ,
|
|
* +{3.4p/CAP_scale} )
|
|
* X_C_VOD V_VALORI_C_VOD 0 VB_D_VOD VREF VCCAP_PSPICE
|
|
* +CAP_scale={CAP_scale} Rserie=1
|
|
* PSpice:
|
|
E_C_VOD V_VALORI_C_VOD 0 VALUE={ TABLE( V(VP,VM),-140m , 3.4p ,
|
|
+ -120m , 2.88p , -110m , 2.45p , -100m , 2.1p ,
|
|
+ -90m , 1.76p , -80m , 1.48p , -70m , 1.27p,
|
|
+ -60m , 1.095p , -40m , 0.84p , -20m , 0.65p ,
|
|
+ 20m , 0.66p , 40m , 0.83p , 60m , 1.11p ,
|
|
+ 70m , 1.28p , 80m , 1.48p , 90m , 1.76p ,
|
|
+ 100m , 2.1p , 110m , 2.45p , 120m , 2.88p ,
|
|
+ 140m , 3.4p )/CAP_scale }
|
|
X_C_VOD V_VALORI_C_VOD 0 VB_D_VOD VREF VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_scale} Rserie=1
|
|
|
|
|
|
******************************
|
|
* VCCAP C_VCC
|
|
******************************
|
|
*Eldo:
|
|
* E_C_VCC V_VALORI_C_VCC 0 TABLE {VALIF(V(VP,VM)>0,V(Vccp,Vccn),
|
|
* +-V(Vccp,Vccn))}=(-5 {0.31p/CAP_scale}) (-3.3 {0.13p/CAP_scale}) (-2
|
|
* +{1f/CAP_scale}) (2 {1f/CAP_scale}) (3.3 {0.16p/CAP_scale}) (5
|
|
* +{0.36p/CAP_scale})
|
|
* X_C_VCC V_VALORI_C_VCC 0 VB_D_VOD_VCC VREF VCCAP_PSPICE
|
|
* +CAP_scale=1e-15 Rserie=1
|
|
*PSpice:
|
|
E_C_VCC v_valori_c_vcc 0 VALUE={ IF(V(VP,VM)>0,
|
|
+TABLE( V(VCCP,VCCN), 2 , 1f , 3.3 , 0.16p , 5 , 0.36p),
|
|
+TABLE( V(VCCP,VCCN), 2 , 1f , 3.3 , 0.13p , 5 , 0.31p ))/CAP_scale}
|
|
X_C_VCC v_valori_c_vcc 0 VB_D_VOD_VCC VREF VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_scale} Rserie=1
|
|
|
|
G_GAIN VREF VB_D_G VB_D_VOD_VCC VREF 1
|
|
RO_2 VB_3 VB_2 1m
|
|
RO_1 VREF VB_2 {Ro_1}
|
|
G_OUT VREF VB_2 VB_D_G_RF VREF {1/Ro_1}
|
|
VREADIO VB_4 VS DC 0
|
|
|
|
|
|
******************************
|
|
* VCRES Ro_3
|
|
******************************
|
|
*Eldo:
|
|
* G_RO_3 VB_3 VB_4 VCR PWL(1) VCCP VCCN ( 2 , 35 ) ( 3.3 , 15 ) ( 5 , 10 )
|
|
*PSpice:
|
|
E_RO_3 VB_3 VB_4 VALUE={ TABLE( V(VCCP,VCCN), 2 , 35 , 3.3 , 15 , 5 , 10 )*I(VreadIo)}
|
|
|
|
|
|
.ENDS TS3021
|
|
|
|
|
|
*******************************************************************************
|
|
*
|
|
* MODELS/SUBCKTS and PARAMS used by TS3021 subckt:
|
|
*
|
|
|
|
.PARAM A0=1.15976E+06
|
|
.PARAM IEE=10u
|
|
.PARAM W=100u
|
|
.PARAM L=10u
|
|
.PARAM gm_mos=99.72u
|
|
.PARAM RD=20k
|
|
.PARAM R_delay={RD}
|
|
.PARAM R1={A0/(gm_mos*RD)}
|
|
.PARAM R_rise_fall=100
|
|
.PARAM Ro_1=20
|
|
.PARAM VCCP_enhance=-300m
|
|
.PARAM VCCN_enhance=-550m
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=100E-6
|
|
.MODEL DIODE_rf D LEVEL=1 IS=10E-15 N=1
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
|
|
|
|
*******************************************************
|
|
******* SUBCKT VOLTAGE CONTROLLED RESISTOR for SPICE
|
|
*******************************************************
|
|
.PARAM CAP_scale=1e-15
|
|
.SUBCKT VCCAP_PSPICE Vctrl_plus Vctrl_minus Vout_plus Vout_minus
|
|
+ PARAMS: CAP_scale=1u Rserie=1
|
|
EVin 2 0 VALUE={1/V(Vctrl_plus,Vctrl_minus)}
|
|
EV2 8 Vout_plus POLY(2) 6 0 2 0 0 0 0 0 1 0 0 0 0 0
|
|
RR1 8 Vout_minus {Rserie}
|
|
GI1 0 6 Vout_minus 8 {1/Rserie}
|
|
RR2 0 6 100G
|
|
CC1 6 0 {CAP_scale}
|
|
.ENDS VCCAP_PSPICE
|
|
*******************************************************************************
|
|
|
|
.SUBCKT TS370X 2 1 44 55 33
|
|
EVCCP 4 0 44 0 1.0
|
|
EVCCN 5 0 55 0 1.0
|
|
VREADIO 3 33 DC 0
|
|
G_ICCSAT 44 55 VALUE={4E-6 + 1E-6*V(44,55)}
|
|
G_IOUT_SINKED 55 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
G_IOUT_SOURCED 44 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
.MODEL MDTH D IS=1E-11 KF=1.050321E-32 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 10 0 2 0 1
|
|
EIN 16 0 1 0 1
|
|
RIP 10 11 6.500000E+01
|
|
RIN 15 16 6.500000E+01
|
|
RIS 11 15 1.939046E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0.000000E+00
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 0 100E-06
|
|
CPS 11 15 8.16E-09
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 0.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 1.200000E+00
|
|
FCP 4 5 VOFP 0.00
|
|
FCN 5 4 VOFN 0.00
|
|
FIBP 2 0 VOFN 2.000000E-08
|
|
FIBN 0 1 VOFP 2.000000E-08
|
|
* AMPLIFYING STAGE
|
|
RG1 5 19 2.8E+05
|
|
RG2 4 19 2.8E+05
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 3500
|
|
VIPM 28 4 150
|
|
HONM 21 27 VOUT 3000
|
|
VINM 5 27 150
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.097
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 1.097
|
|
FIP 0 19 VOFP 104
|
|
FIN 0 19 VOFN 104
|
|
EOUT 26 23 19 5 1
|
|
VOUT 23 5 0V
|
|
ROUT 26 3 62.5
|
|
.ENDS
|
|
*******************************************************************************
|
|
|
|
**** TSX370X Spice macromodel subckt
|
|
***
|
|
*** September 2015
|
|
***
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSX370X VP VM VCCP VCCN VS
|
|
X_C_FALL V_VALORI_C_FALL 0 VREF V_C_FALL VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_SCALE__C_FALL} Rserie=1
|
|
X_C_VOD V_VALORI_C_VOD 0 VB_D_VOD VREF VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_SCALE__C_VOD} Rserie=1.0
|
|
X_C_RISE V_VALORI_C_RISE 0 V_C_RISE VREF VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_SCALE__C_RISE} Rserie=1
|
|
X_C_VCC V_VALORI_C_VCC 0 VB_D_VOD_VCC VREF VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_SCALE__C_VCC} Rserie=1
|
|
M_NMOS2 VO_DIFF_PLUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_MINUS NET0288 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IIN_BIAS_VM VREF VM DC {1p}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
IIN_BIAS_VP VREF VP DC {1p}
|
|
V58 NET279 NET214 DC {VD_COMPENSAZIONE}
|
|
V59 NET240 NET287 DC {VD_COMPENSAZIONE}
|
|
VREADIO VB_4 VS DC 0
|
|
VVLIM_LOW_VB NET295 NET220 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_P_VCCP NET223 NET256 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_ENHANCE}
|
|
VVLIM_HIGH_VB NET244 NET291 DC {VD_COMPENSAZIONE}
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_ENHANCE}
|
|
VPROT_IN_M_VCCN NET231 NET355 DC {V_DPROT}
|
|
VPROT_IN_P_VCCN NET233 NET234 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET343 NET246 DC {V_DPROT}
|
|
D40 NET214 VB_D_VOD DIODE_NOVd
|
|
D_ENABLE_RISE VB_D_G_RF V_C_RISE DIODE_rf
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D41 VB_D_VOD NET240 DIODE_NOVd
|
|
D_ENABLE_FALL V_C_FALL VB_D_G_RF DIODE_rf
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
D3 VB_D_G NET244 DIODE_NOVd
|
|
DPROT_IN_M_VCCP VM NET246 DIODE_VLIM
|
|
D4 NET220 NET0271 DIODE_NOVd
|
|
DPROT_IN_M_VCCN NET231 VM DIODE_VLIM
|
|
DPROT_IN_P_VCCP NET0288 NET256 DIODE_VLIM
|
|
DPROT_IN_P_VCCN NET233 NET0288 DIODE_VLIM
|
|
C84 VM VP 800.0f
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
|
|
* E_RO_3_VAL_VOL RO_3_VAL_VOL 0 PWL(1) VCCP VCCN ( 3 , 40 ) ( 5 , 20 ) (
|
|
*+16 , 5 )
|
|
E_RO_3_VAL_VOL RO_3_VAL_VOL 0 VALUE={TABLE( V(VCCP,VCCN) , 3 , 40 , 5 , 20 ,
|
|
+16 , 5 )}
|
|
|
|
E65 NET279 0 VCCN 0 1.0
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={( -94.59090909090948 +
|
|
+45.68181818181824*V(Vccp,Vccn) +
|
|
+5.227272727272726*V(Vccp,Vccn)*V(Vccp,Vccn)) -5000*I(VreadIo) }
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
|
|
* E_ICCSAT_LOW ICC_OUT_LOW 0 PWL(1) VCCP VCCN ( 3 , {5e-6 - IEE} ) ( 5 ,
|
|
*+{5e-6 - IEE} ) ( 16 , {7e-6 - IEE} )
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 VALUE={TABLE( V(VCCP,VCCN) , 3 , {5e-6 - IEE} , 5 ,
|
|
+{5e-6 - IEE} , 16 , {7e-6 - IEE} )}
|
|
|
|
* E_C_VOD V_VALORI_C_VOD 0 PWL(1) VP VM ( -100m , {29p/CAP_SCALE__C_VOD}
|
|
*+) ( -40m , {34.5p/CAP_SCALE__C_VOD} ) ( -20m , {34.7p/CAP_SCALE__C_VOD} )
|
|
*+( -10m , {45p/CAP_SCALE__C_VOD} ) ( -5m , {65p/CAP_SCALE__C_VOD} ) ( +5m
|
|
*+, {57.5p/CAP_SCALE__C_VOD} ) ( +10m , {45p/CAP_SCALE__C_VOD} ) ( +20m ,
|
|
*+{34p/CAP_SCALE__C_VOD} ) ( +40m , {33.8p/CAP_SCALE__C_VOD} ) ( +100m ,
|
|
*+{31p/CAP_SCALE__C_VOD} )
|
|
E_C_VOD V_VALORI_C_VOD 0 VALUE={TABLE( V(VP,VM) , -100m , 29p ,
|
|
+ -40m , 34.5p , -20m , 34.7p , -10m , 45p , -5m , 65p , +5m , 57.5p , +10m ,
|
|
+45p , +20m , 34p , +40m , 33.8p , +100m , 31p)/CAP_SCALE__C_VOD}
|
|
|
|
E_VOL VB_D_G NET0271 VALUE={0}
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
|
|
* E_ICCSAT_HIGH ICC_OUT_HIGH 0 PWL(1) VCCP VCCN ( 3 , {8e-6 - IEE} ) ( 5
|
|
*+, {9e-6 - IEE} ) ( 16 , {11e-6 -IEE} )
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 VALUE={TABLE( V(VCCP,VCCN) , 3 , {8e-6 - IEE} , 5
|
|
+, {9e-6 - IEE} , 16 , {11e-6 -IEE} )}
|
|
|
|
E66 NET287 0 VCCP 0 1.0
|
|
E_RO_3 VB_3 VB_4 VALUE={IF( I(VreadIo)>0 ,
|
|
+I(VreadIo)*V(Ro_3_val_VOH) , I(VreadIo)*V(Ro_3_val_VOL) )}
|
|
EVLIM_HIGH_VB NET291 0 VCCP 0 1.0
|
|
|
|
* E_C_VCC V_VALORI_C_VCC 0 TABLE {IF(V(VP,VM)>0,V(Vccp,Vccn),
|
|
*+-V(Vccp,Vccn))}=(-16 {6p/CAP_scale__C_VCC}) (-5 {2.7p/CAP_scale__C_VCC})
|
|
*+(-3 {0.001p/CAP_scale__C_VCC}) (+3 {0.001p/CAP_scale__C_VCC}) (+5
|
|
*+{0.001p/CAP_scale__C_VCC}) (+16 {0.001p/CAP_scale__C_VCC})
|
|
*
|
|
*Spice: (al posto della "Vcc negativa fittizia" c'e' un IF V(VP,VM)
|
|
* sulle due tabelle dei valori di capacita' cioe' se V(VP,VM)>0, caso cioe' di
|
|
* low-to-high cioe' rise, si considera' la tabella dei valori definiti per
|
|
* "Vcc positiva" mentre se V(VP,VM)<= 0, caso cioe' di
|
|
* high-to-low cioe' fall, si considera' la tabella dei valori definiti per
|
|
* "Vcc negativa":
|
|
E_C_VCC V_VALORI_C_VCC 0 VALUE={ IF( V(VP,VM)>0,
|
|
+TABLE( V(VCCP,VCCN), 3 , 0.001p , 5 , 0.001p , 16 , 0.001p),
|
|
+TABLE( V(VCCP,VCCN), 3 , 0.001p , 5 , 2.7p , 16 , 6p) )/CAP_scale__C_VCC}
|
|
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
|
|
* E_C_RISE V_VALORI_C_RISE 0 PWL(1) VCCP VCCN ( 3 ,
|
|
*+{315p/CAP_SCALE__C_RISE} ) ( 5 , {203p/CAP_SCALE__C_RISE} ) ( 16 ,
|
|
*+{61.5p/CAP_SCALE__C_RISE} )
|
|
E_C_RISE V_VALORI_C_RISE 0 VALUE={TABLE( V(VCCP,VCCN) , 3 ,
|
|
+315p , 5 , 203p , 16 , 61.5p )/CAP_SCALE__C_RISE}
|
|
|
|
EVLIM_LOW_VB NET295 0 VCCN 0 1.0
|
|
E2_REF NET357 0 VCCN 0 1.0
|
|
E_VIO VP NET0288 VALUE={0.1m}
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_VREF VREF 0 NET351 0 1.0
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
E1_REF NET319 0 VCCP 0 1.0
|
|
|
|
* E_C_FALL V_VALORI_C_FALL 0 PWL(1) VCCP VCCN ( 3 ,
|
|
*+{349p/CAP_SCALE__C_FALL} ) ( 5.0 , {213p/CAP_SCALE__C_FALL} ) ( 16 ,
|
|
*+{63p/CAP_SCALE__C_FALL} )
|
|
E_C_FALL V_VALORI_C_FALL 0 VALUE={TABLE( V(VCCP,VCCN) , 3 ,
|
|
+349p , 5.0 , 213p , 16 , 63p)/CAP_SCALE__C_FALL}
|
|
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={( 141.37412587412595
|
|
+-72.13286713286715*V(Vccp,Vccn)
|
|
+-1.6083916083916079*V(Vccp,Vccn)*V(Vccp,Vccn) ) -5000*I(VreadIo) }
|
|
|
|
* E_RO_3_VAL_VOH RO_3_VAL_VOH 0 PWL(1) VCCP VCCN ( 3 , 40 ) ( 5 , 20 ) (
|
|
*+16 , 5 )
|
|
E_RO_3_VAL_VOH RO_3_VAL_VOH 0 VALUE={TABLE( V(VCCP,VCCN) , 3 , 40 , 5 , 20 ,
|
|
+16 , 5 )}
|
|
|
|
|
|
|
|
R_RISE_FALL VREF VB_D_G_RF {R_RISE_FALL}
|
|
R_DELAY_VOD VREF VB_D_VOD {R_DELAY}
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RO_2 VB_3 VB_2 1m
|
|
RO_1 VREF VB_2 {RO_1}
|
|
RPROT_IN_P_VCCP NET223 VCCP 15K
|
|
RPROT_IN_M_VCCP VCCP NET343 15K
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RD1 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
R_DELAY_VCC VREF VB_D_VOD_VCC {R_DELAY}
|
|
R1_REF NET319 NET351 1Meg
|
|
R_GAIN VB_D_G VREF {R1}
|
|
RPROT_IN_M_VCCN VCCN NET355 15K
|
|
R2_REF NET351 NET357 1Meg
|
|
RPROT_IN_P_VCCN NET234 VCCN 15K
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
G_ICCSAT VCCP VCCN VALUE={IF( V(VS)>V(Vccp,Vccn)/2 ,
|
|
+V(Icc_out_high), V(Icc_out_low) ) }
|
|
G_RISE_FALL VREF VB_D_G_RF VB_D_G VREF {1/R_RISE_FALL}
|
|
G_GAIN VREF VB_D_G VB_D_VOD_VCC VREF 1
|
|
G_DELAY_VOD VB_D_VOD VREF VO_DIFF_MINUS VO_DIFF_PLUS {1/R_DELAY}
|
|
G_OUT VREF VB_2 VB_D_G_RF VREF {1/RO_1}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
G_DELAY_VCC VB_D_VOD_VCC VREF VREF VB_D_VOD {1/R_DELAY}
|
|
|
|
|
|
.PARAM CAP_scale__C_RISE=100p
|
|
.PARAM CAP_scale__C_FALL=100p
|
|
.PARAM CAP_scale__C_VOD=30p
|
|
.PARAM CAP_scale__C_VCC=0.001p
|
|
.PARAM VCCMIN=2.0
|
|
.PARAM A0=20E+06
|
|
.PARAM IEE=2.5u
|
|
.PARAM W=70u
|
|
.PARAM L=10u
|
|
.PARAM gm_mos=4.1868E-05
|
|
.PARAM RD=20k
|
|
.PARAM R_delay={RD}
|
|
.PARAM R1={A0/(gm_mos*RD)}
|
|
.PARAM Ro_1=10
|
|
.PARAM R_rise_fall=100
|
|
.PARAM VCCP_enhance=-300m
|
|
.PARAM VCCN_enhance=-550m
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=100E-6
|
|
.MODEL DIODE_rf D LEVEL=1 IS=10E-15 N=1 CJO=10f T_ABS=27
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001 T_ABS=27
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15 T_ABS=27
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15 T_ABS=27
|
|
|
|
.ENDS TSX370X
|
|
*** End of subcircuit definition.
|
|
|
|
|
|
|
|
*******************************************************
|
|
******* SUBCKT VOLTAGE CONTROLLED CAPACITOR for SPICE
|
|
*******************************************************
|
|
.SUBCKT VCCAP_PSPICE Vctrl_plus Vctrl_minus Vout_plus Vout_minus
|
|
+ PARAMS: CAP_scale=1u Rserie=1
|
|
EVin 2 0 VALUE={1/V(Vctrl_plus,Vctrl_minus)}
|
|
EV2 8 Vout_plus POLY(2) 6 0 2 0 0 0 0 0 1 0 0 0 0 0
|
|
RR1 8 Vout_minus {Rserie}
|
|
GI1 0 6 Vout_minus 8 {1/Rserie}
|
|
RR2 0 6 100G
|
|
CC1 6 0 {CAP_scale}
|
|
.ENDS VCCAP_PSPICE
|
|
|
|
|
|
|
|
********************************************************
|
|
|
|
****
|
|
**** TSX393 Spice macromodel subckt
|
|
***
|
|
*** September 2015
|
|
***
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TSX3XX VP VM VCCP VCCN VS
|
|
X_C_FALL V_VALORI_C_FALL 0 VREF V_C_FALL VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_SCALE__C_FALL} Rserie=1
|
|
X_C_VOD V_VALORI_C_VOD 0 VB_D_VOD VREF VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_SCALE__C_VOD} Rserie=1.0
|
|
X_C_RISE V_VALORI_C_RISE 0 V_C_RISE VREF VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_SCALE__C_RISE} Rserie=1
|
|
X_C_VCC V_VALORI_C_VCC 0 VB_D_VOD_VCC VREF VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_SCALE__C_VCC} Rserie=1
|
|
M_NMOS2 VO_DIFF_PLUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_MINUS NET0288 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IIN_BIAS_VM VREF VM DC {1p}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
IIN_BIAS_VP VREF VP DC {1p}
|
|
V58 NET279 NET214 DC {VD_COMPENSAZIONE}
|
|
V59 NET240 NET287 DC {VD_COMPENSAZIONE}
|
|
VREADIO VB_4 VS DC 0
|
|
VVLIM_LOW_VB NET295 NET220 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_P_VCCP NET223 NET256 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_ENHANCE}
|
|
VVLIM_HIGH_VB NET244 NET291 DC {VD_COMPENSAZIONE}
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_ENHANCE}
|
|
VPROT_IN_M_VCCN NET231 NET355 DC {V_DPROT}
|
|
VPROT_IN_P_VCCN NET233 NET234 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET343 NET246 DC {V_DPROT}
|
|
D40 NET214 VB_D_VOD DIODE_NOVd
|
|
D_ENABLE_RISE VB_D_G_RF V_C_RISE DIODE_rf
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D41 VB_D_VOD NET240 DIODE_NOVd
|
|
D_ENABLE_FALL V_C_FALL VB_D_G_RF DIODE_rf
|
|
D3 VB_D_G NET244 DIODE_NOVd
|
|
DPROT_IN_M_VCCP VM NET246 DIODE_VLIM
|
|
D4 NET220 NET0271 DIODE_NOVd
|
|
DPROT_IN_M_VCCN NET231 VM DIODE_VLIM
|
|
DPROT_IN_P_VCCP NET0288 NET256 DIODE_VLIM
|
|
DPROT_IN_P_VCCN NET233 NET0288 DIODE_VLIM
|
|
C84 VM VP 800.0f
|
|
|
|
* E_RO_3_VAL_VOL RO_3_VAL_VOL 0 PWL(1) VCCP VCCN ( 3 , 40 ) ( 5 , 20 ) (
|
|
*+16 , 5 )
|
|
E_RO_3_VAL_VOL RO_3_VAL_VOL 0 VALUE={TABLE( V(VCCP,VCCN) , 3 , 40 , 5 , 20 ,
|
|
+16 , 5 )}
|
|
|
|
E65 NET279 0 VCCN 0 1.0
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
|
|
* E_ICCSAT_LOW ICC_OUT_LOW 0 PWL(1) VCCP VCCN ( 3 , {5e-6 - IEE} ) ( 5 ,
|
|
*+{5e-6 - IEE} ) ( 16 , {7e-6 - IEE} )
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 VALUE={TABLE( V(VCCP,VCCN) , 3 , {5e-6 - IEE} , 5 ,
|
|
+{5e-6 - IEE} , 16 , {7e-6 - IEE} )}
|
|
|
|
* E_C_VOD V_VALORI_C_VOD 0 PWL(1) VP VM ( -100m , {29p/CAP_SCALE__C_VOD}
|
|
*+) ( -40m , {34.5p/CAP_SCALE__C_VOD} ) ( -20m , {34.7p/CAP_SCALE__C_VOD} )
|
|
*+( -10m , {45p/CAP_SCALE__C_VOD} ) ( -5m , {65p/CAP_SCALE__C_VOD} ) ( +5m
|
|
*+, {60p/CAP_SCALE__C_VOD} ) ( +10m , {45p/CAP_SCALE__C_VOD} ) ( +20m ,
|
|
*+{34p/CAP_SCALE__C_VOD} ) ( +40m , {30p/CAP_SCALE__C_VOD} ) ( +100m ,
|
|
*+{29p/CAP_SCALE__C_VOD} )
|
|
E_C_VOD V_VALORI_C_VOD 0 VALUE={TABLE( V(VP,VM) , -100m , 29p ,
|
|
+ -40m , 34.5p , -20m , 34.7p , -10m , 45p , -5m , 65p , +5m , 60p , +10m ,
|
|
+45p , +20m , 34p , +40m , 30p , +100m , 29p)/CAP_SCALE__C_VOD}
|
|
|
|
E_VOL VB_D_G NET0271 VALUE={0}
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
|
|
* E_ICCSAT_HIGH ICC_OUT_HIGH 0 PWL(1) VCCP VCCN ( 3 , {8e-6 - IEE} ) ( 5
|
|
*+, {9e-6 - IEE} ) ( 16 , {11e-6 -IEE} )
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 VALUE={TABLE( V(VCCP,VCCN) , 3 , {8e-6 - IEE} , 5
|
|
+, {9e-6 - IEE} , 16 , {11e-6 -IEE} )}
|
|
|
|
E66 NET287 0 VCCP 0 1.0
|
|
E_RO_3 VB_3 VB_4 VALUE={IF( I(VreadIo)>0 ,
|
|
+I(VreadIo)*V(Ro_3_val_VOH) , I(VreadIo)*V(Ro_3_val_VOL) )}
|
|
EVLIM_HIGH_VB NET291 0 VCCP 0 1.0
|
|
|
|
* E_C_VCC V_VALORI_C_VCC 0 TABLE {IF(V(VP,VM)>0,V(Vccp,Vccn),
|
|
*+-V(Vccp,Vccn))}=(-16 {6p/CAP_scale__C_VCC}) (-5 {2.7p/CAP_scale__C_VCC})
|
|
*+(-3 {0.001p/CAP_scale__C_VCC}) (+3 {0.001p/CAP_scale__C_VCC}) (+5
|
|
*+{0.001p/CAP_scale__C_VCC}) (+16 {0.001p/CAP_scale__C_VCC})
|
|
*
|
|
*Spice: (al posto della "Vcc negativa fittizia" c'e' un IF V(VP,VM)
|
|
* sulle due tabelle dei valori di capacita' cioe' se V(VP,VM)>0, caso cioe' di
|
|
* low-to-high cioe' rise, si considera' la tabella dei valori definiti per
|
|
* "Vcc positiva" mentre se V(VP,VM)<= 0, caso cioe' di
|
|
* high-to-low cioe' fall, si considera' la tabella dei valori definiti per
|
|
* "Vcc negativa":
|
|
E_C_VCC V_VALORI_C_VCC 0 VALUE={ IF( V(VP,VM)>0,
|
|
+TABLE( V(VCCP,VCCN), 3 , 0.001p , 5 , 0.001p , 16 , 0.001p),
|
|
+TABLE( V(VCCP,VCCN), 3 , 0.001p , 5 , 2.7p , 16 , 6p) )/CAP_scale__C_VCC}
|
|
|
|
* E_C_RISE V_VALORI_C_RISE 0 PWL(1) VCCP VCCN ( 3 ,
|
|
*+{315p/CAP_SCALE__C_RISE} ) ( 5 , {203p/CAP_SCALE__C_RISE} ) ( 16 ,
|
|
*+{62p/CAP_SCALE__C_RISE} )
|
|
E_C_RISE V_VALORI_C_RISE 0 VALUE={TABLE( V(VCCP,VCCN) , 3 ,
|
|
+315p , 5 , 203p , 16 , 62p )/CAP_SCALE__C_RISE}
|
|
|
|
EVLIM_LOW_VB NET295 0 VCCN 0 1.0
|
|
E2_REF NET357 0 VCCN 0 1.0
|
|
E_VIO VP NET0288 VALUE={0.1m}
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_VREF VREF 0 NET351 0 1.0
|
|
E1_REF NET319 0 VCCP 0 1.0
|
|
|
|
* E_C_FALL V_VALORI_C_FALL 0 PWL(1) VCCP VCCN ( 3 ,
|
|
*+{315p/CAP_SCALE__C_FALL} ) ( 5.0 , {203p/CAP_SCALE__C_FALL} ) ( 16 ,
|
|
*+{62p/CAP_SCALE__C_FALL} )
|
|
E_C_FALL V_VALORI_C_FALL 0 VALUE={TABLE( V(VCCP,VCCN) , 3 ,
|
|
+315p , 5.0 , 203p , 16 , 62p)/CAP_SCALE__C_FALL}
|
|
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={( 141.37412587412595
|
|
+-72.13286713286715*V(Vccp,Vccn)
|
|
+-1.6083916083916079*V(Vccp,Vccn)*V(Vccp,Vccn) ) -5000*I(VreadIo) }
|
|
|
|
E_RO_3_VAL_VOH RO_3_VAL_VOH 0 VALUE={10G}
|
|
R_RISE_FALL VREF VB_D_G_RF {R_RISE_FALL}
|
|
R_DELAY_VOD VREF VB_D_VOD {R_DELAY}
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RO_2 VB_3 VB_2 1m
|
|
RO_1 VREF VB_2 {RO_1}
|
|
RPROT_IN_P_VCCP NET223 VCCP 15K
|
|
RPROT_IN_M_VCCP VCCP NET343 15K
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RD1 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
R_DELAY_VCC VREF VB_D_VOD_VCC {R_DELAY}
|
|
R1_REF NET319 NET351 1Meg
|
|
R_GAIN VB_D_G VREF {R1}
|
|
RPROT_IN_M_VCCN VCCN NET355 15K
|
|
R2_REF NET351 NET357 1Meg
|
|
RPROT_IN_P_VCCN NET234 VCCN 15K
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
G_ICCSAT VCCP VCCN VALUE={IF( V(VS)>V(Vccp,Vccn)/2 ,
|
|
+V(Icc_out_high), V(Icc_out_low) ) }
|
|
G_RISE_FALL VREF VB_D_G_RF VB_D_G VREF {1/R_RISE_FALL}
|
|
G_GAIN VREF VB_D_G VB_D_VOD_VCC VREF 1
|
|
G_DELAY_VOD VB_D_VOD VREF VO_DIFF_MINUS VO_DIFF_PLUS {1/R_DELAY}
|
|
G_OUT VREF VB_2 VB_D_G_RF VREF {1/RO_1}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
G_DELAY_VCC VB_D_VOD_VCC VREF VREF VB_D_VOD {1/R_DELAY}
|
|
|
|
|
|
.PARAM CAP_scale__C_RISE=100p
|
|
.PARAM CAP_scale__C_FALL=100p
|
|
.PARAM CAP_scale__C_VOD=30p
|
|
.PARAM CAP_scale__C_VCC=0.001p
|
|
.PARAM VCCMIN=2.0
|
|
.PARAM A0=20E+06
|
|
.PARAM IEE=2.5u
|
|
.PARAM W=70u
|
|
.PARAM L=10u
|
|
.PARAM gm_mos=4.1868E-05
|
|
.PARAM RD=20k
|
|
.PARAM R_delay={RD}
|
|
.PARAM R1={A0/(gm_mos*RD)}
|
|
.PARAM Ro_1=10
|
|
.PARAM R_rise_fall=100
|
|
.PARAM VCCP_enhance=-300m
|
|
.PARAM VCCN_enhance=-550m
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-756.31u
|
|
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=100E-6
|
|
.MODEL DIODE_rf D LEVEL=1 IS=10E-15 N=1 CJO=10f T_ABS=27
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001 T_ABS=27
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15 T_ABS=27
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15 T_ABS=27
|
|
|
|
.ENDS TSX3XX
|
|
*** End of subcircuit definition.
|
|
|
|
|
|
|
|
*******************************************************
|
|
******* SUBCKT VOLTAGE CONTROLLED CAPACITOR for SPICE
|
|
*******************************************************
|
|
.SUBCKT VCCAP_PSPICE Vctrl_plus Vctrl_minus Vout_plus Vout_minus
|
|
+ PARAMS: CAP_scale=1u Rserie=1
|
|
EVin 2 0 VALUE={1/V(Vctrl_plus,Vctrl_minus)}
|
|
EV2 8 Vout_plus POLY(2) 6 0 2 0 0 0 0 0 1 0 0 0 0 0
|
|
RR1 8 Vout_minus {Rserie}
|
|
GI1 0 6 Vout_minus 8 {1/Rserie}
|
|
RR2 0 6 100G
|
|
CC1 6 0 {CAP_scale}
|
|
.ENDS VCCAP_PSPICE
|
|
********************************************************
|
|
*-----------------------------------------------------------------------------------------
|
|
* TS7211 spice macromodel
|
|
* CONNECTIONS :
|
|
* 1 NON-INVERTING INPUT
|
|
* 2 INVERTING INPUT
|
|
* 3 POSITIVE POWER SUPPLY
|
|
* 4 NEGATIVE POWER SUPPLY
|
|
* 5 OUTPUT
|
|
*
|
|
**********************************************************
|
|
.SUBCKT TS7211 2 1 44 55 33
|
|
EVCCP 4 0 44 0 1.0
|
|
EVCCN 5 0 55 0 1.0
|
|
VREADIO 3 33 DC 0
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1k
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1k
|
|
G_ICCSAT 44 55 VALUE={IF(V(3)>(V(44)+V(55))/2, V(Icc_out_high), V(Icc_out_low) ) }
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 VALUE={6E-6 + 4E-7*V(44,55)}
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 VALUE={5E-6 + 2E-7*V(44,55)}
|
|
G_IOUT_SINKED 55 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
G_IOUT_SOURCED 44 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
.MODEL MDTH D IS=1E-11 KF=1.050321E-32 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 102 0 2 0 1
|
|
VIO 10 102 -3E-3
|
|
EIN 16 0 1 0 1
|
|
RIP 10 11 6.500000E+01
|
|
RIN 15 16 6.500000E+01
|
|
RIS 11 15 1.939046E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0.000000E+00
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 0 100E-06
|
|
CPS 11 15 9E-09
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 0
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 .600000E+00
|
|
FCP 4 5 VOFP 0.00
|
|
FCN 5 4 VOFN 0.00
|
|
FIBP 2 0 VOFN 1.5000000E-08
|
|
FIBN 0 1 VOFP 1.5000000E-08
|
|
* AMPLIFYING STAGE
|
|
RG1 5 19 2.8E+05
|
|
RG2 4 19 2.8E+05
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 3500
|
|
VIPM 28 4 150
|
|
HONM 21 27 VOUT 3000
|
|
VINM 5 27 150
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.097
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 1.097
|
|
FIP 0 19 VOFP 104
|
|
FIN 0 19 VOFN 104
|
|
EOUT 26 23 19 5 1
|
|
VOUT 23 5 0V
|
|
ROUT 26 3 70
|
|
.ENDS
|
|
**********************************************************
|
|
* CONNECTIONS :
|
|
* 1 NON-INVERTING INPUT
|
|
* 2 INVERTING INPUT
|
|
* 3 POSITIVE POWER SUPPLY
|
|
* 4 NEGATIVE POWER SUPPLY
|
|
* 5 OUTPUT
|
|
*
|
|
**********************************************************
|
|
.SUBCKT TS7221 2 1 44 55 66
|
|
EVCCP 4 0 44 0 1.0
|
|
EVCCN 5 0 55 0 1.0
|
|
VREADIO 3 66 DC 0
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1k
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1k
|
|
G_ICCSAT 44 55 VALUE={IF(V(3)>(V(44)+V(55))/2, V(Icc_out_high), V(Icc_out_low) ) }
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 VALUE={6E-6 + 4E-7*V(44,55)}
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 VALUE={5E-6 + 2E-7*V(44,55)}
|
|
G_IOUT_SINKED 55 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
.MODEL MDTH D IS=1E-11 KF=1.050321E-32 CJO=10F
|
|
.MODEL DIDEAL D N=0.1 IS=1E-08
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 102 0 2 0 1
|
|
VIO 10 102 -3E-3
|
|
EIN 16 0 1 0 1
|
|
RIP 10 11 6.500000E+01
|
|
RIN 15 16 6.500000E+01
|
|
RIS 11 15 1.939046E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0.000000E+00
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 0 100E-06
|
|
CPS 11 15 9E-09
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 0
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 .600000E+00
|
|
FCP 4 5 VOFP 0.00
|
|
FCN 5 4 VOFN 0.00
|
|
FIBP 2 0 VOFN 1.5000000E-08
|
|
FIBN 0 1 VOFP 1.5000000E-08
|
|
* AMPLIFYING STAGE
|
|
RG1 5 19 2.8E+05
|
|
RG2 4 19 2.8E+05
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 3500
|
|
VIPM 28 4 150
|
|
HONM 21 27 VOUT 3000
|
|
VINM 5 27 150
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.097
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 1.097
|
|
FIP 0 19 VOFP -104
|
|
FIN 0 19 VOFN -104
|
|
EOUT 26 23 19 5 1
|
|
VOUT 23 5 0V
|
|
.MODEL NMOD NPN(IS=0.1E-09 BF=10500)
|
|
RBOUT 127 26 800K
|
|
QOUT 103 127 128 128 NMOD
|
|
VEOUT 128 5 0V
|
|
RSOUT 3 0 1E+12
|
|
VNUL 3 111 -61E-3
|
|
ROUT 111 103 21
|
|
DSTOP 32 103 MDTH 400E-12
|
|
HSTOP 32 33 VNUL 35
|
|
VSTOP 33 5 1
|
|
|
|
.ENDS
|
|
**********************************************************
|
|
|
|
* TS861/TS862/TS864 spice macromodel
|
|
* CONNECTIONS :
|
|
* 1 NON-INVERTING INPUT
|
|
* 2 INVERTING INPUT
|
|
* 3 POSITIVE POWER SUPPLY
|
|
* 4 NEGATIVE POWER SUPPLY
|
|
* 5 OUTPUT
|
|
*
|
|
**********************************************************
|
|
.SUBCKT TS86x 2 1 44 55 33
|
|
EVCCP 4 0 44 0 1.0
|
|
EVCCN 5 0 55 0 1.0
|
|
VREADIO 3 33 DC 0
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1k
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1k
|
|
G_ICCSAT 44 55 VALUE={IF(V(3)>(V(44)+V(55))/2, V(Icc_out_high), V(Icc_out_low) ) }
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 VALUE={6E-6 + 4E-7*V(44,55)}
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 VALUE={5E-6 + 2E-7*V(44,55)}
|
|
G_IOUT_SINKED 55 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
G_IOUT_SOURCED 44 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
|
|
.MODEL MDTH D IS=1E-11 KF=1.050321E-32 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 102 0 2 0 1
|
|
VIO 10 102 -3E-3
|
|
EIN 16 0 1 0 1
|
|
RIP 10 11 6.500000E+01
|
|
RIN 15 16 6.500000E+01
|
|
RIS 11 15 1.939046E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0.000000E+00
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 0 100E-06
|
|
CPS 11 15 9E-09
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 0
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 .600000E+00
|
|
FCP 4 5 VOFP 0.00
|
|
FCN 5 4 VOFN 0.00
|
|
FIBP 2 0 VOFN 1.5000000E-08
|
|
FIBN 0 1 VOFP 1.5000000E-08
|
|
* AMPLIFYING STAGE
|
|
RG1 5 19 2.8E+05
|
|
RG2 4 19 2.8E+05
|
|
DOPM 19 22 MDTH 400E-12
|
|
DONM 21 19 MDTH 400E-12
|
|
HOPM 22 28 VOUT 3500
|
|
VIPM 28 4 150
|
|
HONM 21 27 VOUT 3000
|
|
VINM 5 27 150
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.097
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 1.097
|
|
FIP 0 19 VOFP 104
|
|
FIN 0 19 VOFN 104
|
|
EOUT 26 23 19 5 1
|
|
VOUT 23 5 0V
|
|
ROUT 26 3 70
|
|
.ENDS
|
|
|
|
**********************************************************
|
|
****************************************************************************
|
|
****
|
|
**** TS331-2-4 Spice macromodel subckt
|
|
***
|
|
*** March 2013
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TS33X VP VM VCCP VCCN VS
|
|
X_C_RISE V_VALORI_C_RISE 0 V_C_RISE VREF VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_SCALE__C_RISE} Rserie=1
|
|
X_C_FALL V_VALORI_C_FALL 0 VREF V_C_FALL VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_SCALE__C_FALL} Rserie=1
|
|
X_C_VOD V_VALORI_C_VOD 0 VB_D_VOD VREF VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_SCALE__C_VOD} Rserie=1
|
|
X_C_VCC V_VALORI_C_VCC 0 VB_D_VOD_VCC VREF VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_SCALE__C_VCC} Rserie=1
|
|
C84 VM VP 3p
|
|
M_NMOS2 VO_DIFF_PLUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_MINUS NET232 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
V58 NET302 NET235 DC {VD_COMPENSAZIONE}
|
|
V59 NET261 NET326 DC {VD_COMPENSAZIONE}
|
|
VREADIO VB_4 VS DC 0
|
|
VVLIM_LOW_VB NET342 NET241 DC {VD_COMPENSAZIONE}
|
|
VI0 NET232 VP DC -500.0u
|
|
VPROT_IN_P_VCCP NET242 NET277 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_ENHANCE}
|
|
VVLIM_HIGH_VB NET267 NET330 DC {VD_COMPENSAZIONE}
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_ENHANCE}
|
|
VPROT_IN_M_VCCN NET250 NET404 DC {V_DPROT}
|
|
VPROT_IN_P_VCCN NET252 NET253 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET390 NET269 DC {V_DPROT}
|
|
D40 NET235 VB_D_VOD DIODE_NOVd
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D41 VB_D_VOD NET261 DIODE_NOVd
|
|
D_ENABLE_FALL V_C_FALL VB_D_G_RF DIODE_rf
|
|
D3 VB_D_G NET267 DIODE_NOVd
|
|
DPROT_IN_M_VCCP VM NET269 DIODE_VLIM
|
|
D_ENABLE_RISE VB_D_G_RF V_C_RISE DIODE_rf
|
|
D4 NET241 VB_D_G DIODE_NOVd
|
|
DPROT_IN_M_VCCN NET250 VM DIODE_VLIM
|
|
DPROT_IN_P_VCCP NET232 NET277 DIODE_VLIM
|
|
DPROT_IN_P_VCCN NET252 NET232 DIODE_VLIM
|
|
|
|
* E_C_FALL V_VALORI_C_FALL 0 PWL(1) VCCP VCCN ( 1.8 ,
|
|
*+{457p/CAP_SCALE__C_FALL} ) ( 2.7 , {125p/CAP_SCALE__C_FALL} ) ( 5 ,
|
|
*+{114p/CAP_SCALE__C_FALL} )
|
|
E_C_FALL V_VALORI_C_FALL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 457p ,
|
|
+ 2.7 , 125p , 5 , 114p)/CAP_SCALE__C_FALL}
|
|
|
|
E_RO_3 VB_3 VB_4 VALUE={IF( I(VreadIo)>0
|
|
+,I(VreadIo)*V(Ro_3_val_VOH),I(VreadIo)*V(Ro_3_val_VOL) )}
|
|
E65 NET302 0 VCCN 0 1.0
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
|
|
* E_ICCSAT_LOW ICC_OUT_LOW 0 PWL(1) VCCP VCCN ( 1.8 , {20e-6 - IEE} ) (
|
|
*+2.7 , {21e-6 - IEE} ) ( 5 , {23e-6 - IEE} )
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , {20e-6 - IEE} ,
|
|
+2.7 , {21e-6 - IEE} , 5 , {23e-6 - IEE} )}
|
|
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
|
|
* E_ICCSAT_HIGH ICC_OUT_HIGH 0 PWL(1) VCCP VCCN ( 1.8 , {22e-6 - IEE} )
|
|
*+( 2.7 , {23e-6 - IEE} ) ( 5 , {26e-6 -IEE} )
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , {22e-6 - IEE} ,
|
|
+ 2.7 , {23e-6 - IEE} , 5 , {26e-6 -IEE} )}
|
|
|
|
E66 NET326 0 VCCP 0 1.0
|
|
EVLIM_HIGH_VB NET330 0 VCCP 0 1.0
|
|
|
|
* E_C_VCC V_VALORI_C_VCC 0 TABLE {IF(V(VP,VM)>0,V(Vccp,Vccn),
|
|
*+-V(Vccp,Vccn))}=(-5 {3p/CAP_scale__C_VCC}) (-2.7
|
|
*+{0.75p/CAP_scale__C_VCC}) (-1.8 {1f/CAP_scale__C_VCC}) (1.8
|
|
*+{1f/CAP_scale__C_VCC}) (2.7 {0.7p/CAP_scale__C_VCC}) (5
|
|
*+{2p/CAP_scale__C_VCC})
|
|
E_C_VCC V_VALORI_C_VCC 0 VALUE={IF( V(VP,VM)>0,
|
|
+TABLE( V(VCCP,VCCN), 1.8 , 1f , 2.7 , 0.7p , 5 , 2p),
|
|
+TABLE( V(VCCP,VCCN), 1.8 , 1f , 2.7 , 0.75p , 5 , 3p))/CAP_scale__C_VCC}
|
|
|
|
EVLIM_LOW_VB NET342 0 VCCN 0 1.0
|
|
|
|
* E_C_VOD V_VALORI_C_VOD 0 PWL(1) VP VM ( -100m , {15p/CAP_SCALE__C_VOD} ) (
|
|
*+-80m , {15p/CAP_SCALE__C_VOD} ) ( -60m , {15p/CAP_SCALE__C_VOD} ) ( -55m
|
|
*+, {15p/CAP_SCALE__C_VOD} ) ( -45m , {15p/CAP_SCALE__C_VOD} ) ( -40m ,
|
|
*+{14.5p/CAP_SCALE__C_VOD} ) ( -30m , {12p/CAP_SCALE__C_VOD} ) ( -20m ,
|
|
*+{8.8p/CAP_SCALE__C_VOD} ) ( -15m , {7.75p/CAP_SCALE__C_VOD} ) ( -10m ,
|
|
*+{6.8p/CAP_SCALE__C_VOD} ) ( 10m , {10.5p/CAP_SCALE__C_VOD} ) ( 15m ,
|
|
*+{11.6p/CAP_SCALE__C_VOD} ) ( 20m , {13.5p/CAP_SCALE__C_VOD} ) ( 30m ,
|
|
*+{15p/CAP_SCALE__C_VOD} ) ( 40m , {15p/CAP_SCALE__C_VOD} ) ( 45m ,
|
|
*+{15p/CAP_SCALE__C_VOD} ) ( 55m , {15p/CAP_SCALE__C_VOD} ) ( 60m ,
|
|
*+{15p/CAP_SCALE__C_VOD} ) ( 80m , {15p/CAP_SCALE__C_VOD} ) ( 100m ,
|
|
*+{15p/CAP_SCALE__C_VOD} )
|
|
E_C_VOD V_VALORI_C_VOD 0 VALUE={TABLE( V(VP,VM) , -100m , 15p ,
|
|
+-80m , 15p , -60m , 15p , -55m , 15p , -45m , 15p , -40m , 14.5p , -30m , 12p ,
|
|
+-20m , 8.8p , -15m , 7.75p , -10m , 6.8p , 10m , 10.5p , 15m , 11.6p , 20m , 13.5p ,
|
|
+30m , 15p , 40m , 15p , 45m , 15p , 55m , 15p , 60m , 15p , 80m , 15p , 100m ,
|
|
+15p)/CAP_SCALE__C_VOD}
|
|
|
|
* E_C_RISE V_VALORI_C_RISE 0 PWL(1) VCCP VCCN ( 1.8 ,
|
|
*+{750p/CAP_SCALE__C_RISE} ) ( 2.7 , {190p/CAP_SCALE__C_RISE} ) ( 5 ,
|
|
*+{119p/CAP_SCALE__C_RISE} )
|
|
E_C_RISE V_VALORI_C_RISE 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 750p ,
|
|
+ 2.7 , 190p , 5 , 119p)/CAP_SCALE__C_RISE}
|
|
|
|
E2_REF NET406 0 VCCN 0 1.0
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_VREF VREF 0 NET400 0 1.0
|
|
E1_REF NET370 0 VCCP 0 1.0
|
|
|
|
* E_RO_3_VAL_VOL RO_3_VAL_VOL 0 PWL(1) VCCP VCCN ( 1.8 , 14 ) ( 2.7 , 7
|
|
*+) ( 5.0 , 2 )
|
|
E_RO_3_VAL_VOL RO_3_VAL_VOL 0 VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 14 , 2.7 , 7 ,
|
|
+ 5.0 , 2 )}
|
|
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={(165.1739130434785
|
|
+-158.03140096618372*V(Vccp,Vccn) +
|
|
+3.0193236714976037*V(Vccp,Vccn)*V(Vccp,Vccn) ) -5000*I(VreadIo) }
|
|
|
|
* E_RO_3_VAL_VOH RO_3_VAL_VOH 0 PWL(1) VCCP VCCN ( 1.8 , 1T ) ( 2.7 , 1T
|
|
*+) ( 5.0 , 1T )
|
|
*10G specified instead of 1T to allow convergence with PSPICE:
|
|
E_RO_3_VAL_VOH RO_3_VAL_VOH 0 VALUE={10G}
|
|
|
|
R_DELAY_VOD VREF VB_D_VOD {R_DELAY}
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RO_2 VB_3 VB_2 1m
|
|
R_RISE_FALL VREF VB_D_G_RF {R_RISE_FALL}
|
|
RO_1 VREF VB_2 {RO_1}
|
|
RPROT_IN_P_VCCP NET242 VCCP 15K
|
|
RPROT_IN_M_VCCP VCCP NET390 15K
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RD1 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
R_DELAY_VCC VREF VB_D_VOD_VCC {R_DELAY}
|
|
R1_REF NET370 NET400 1Meg
|
|
R_GAIN VB_D_G VREF {R1}
|
|
RPROT_IN_M_VCCN VCCN NET404 15K
|
|
R2_REF NET400 NET406 1Meg
|
|
RPROT_IN_P_VCCN NET253 VCCN 15K
|
|
|
|
* G_IIB_VP VREF VP PWL(1) VCCP VCCN ( 1.8 , 25n ) ( 2.7 , 25n ) ( 5.0 ,
|
|
*+30n )
|
|
G_IIB_VP VREF VP VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 25n , 2.7 , 25n , 5.0 , 30n )}
|
|
|
|
* G_IIB_VM VREF VM PWL(1) VCCP VCCN ( 1.8 , 25n ) ( 2.7 , 25n ) ( 5.0 ,
|
|
*+30n )
|
|
G_IIB_VM VREF VM VALUE={TABLE( V(VCCP,VCCN) , 1.8 , 25n , 2.7 , 25n , 5.0 , 30n )}
|
|
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
G_ICCSAT VCCP VCCN VALUE={IF( V(VS)>V(Vccp,Vccn)/2 ,
|
|
+V(Icc_out_high), V(Icc_out_low) ) }
|
|
G_GAIN VREF VB_D_G VB_D_VOD_VCC VREF 1
|
|
G_DELAY_VOD VB_D_VOD VREF VO_DIFF_MINUS VO_DIFF_PLUS {1/R_DELAY}
|
|
G_RISE_FALL VREF VB_D_G_RF VB_D_G VREF {1/R_RISE_FALL}
|
|
G_OUT VREF VB_2 VB_D_G_RF VREF {1/RO_1}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
G_DELAY_VCC VB_D_VOD_VCC VREF VREF VB_D_VOD {1/R_DELAY}
|
|
|
|
|
|
*******************************************************************************
|
|
*
|
|
.PARAM A0=100k
|
|
.PARAM IEE=2.7u
|
|
.PARAM W=235u
|
|
.PARAM L=10u
|
|
.PARAM gm_mos=7.9773E-05
|
|
.PARAM RD=20k
|
|
.PARAM R_delay={RD}
|
|
.PARAM R1={A0/(gm_mos*RD)}
|
|
.PARAM R_rise_fall=100
|
|
.PARAM Ro_1=10
|
|
.PARAM VCCP_enhance=-360m
|
|
.PARAM VCCN_enhance=-500m
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=100E-6
|
|
.MODEL DIODE_rf D LEVEL=1 IS=10E-15 N=1 CJO=10f
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=10E-15
|
|
|
|
.PARAM CAP_scale__C_RISE=100p
|
|
.PARAM CAP_scale__C_FALL=100p
|
|
.PARAM CAP_scale__C_VOD=10p
|
|
.PARAM CAP_scale__C_VCC=10p
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TS33X
|
|
|
|
|
|
*******************************************************
|
|
******* SUBCKT VOLTAGE CONTROLLED CAPACITOR for SPICE
|
|
*******************************************************
|
|
.SUBCKT VCCAP_PSPICE Vctrl_plus Vctrl_minus Vout_plus Vout_minus
|
|
+ PARAMS: CAP_scale=1u Rserie=1
|
|
EVin 2 0 VALUE={1/V(Vctrl_plus,Vctrl_minus)}
|
|
EV2 8 Vout_plus POLY(2) 6 0 2 0 0 0 0 0 1 0 0 0 0 0
|
|
RR1 8 Vout_minus {Rserie}
|
|
GI1 0 6 Vout_minus 8 {1/Rserie}
|
|
RR2 0 6 100G
|
|
CC1 6 0 {CAP_scale}
|
|
.ENDS VCCAP_PSPICE
|
|
*******************************************************************************
|
|
|
|
****************************************************************************
|
|
****
|
|
**** TS3011 Spice macromodel subckt
|
|
***
|
|
*** December 2011
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TS3011 VP VM VCCP VCCN VS
|
|
X_C_FALL V_VALORI_C_FALL 0 VREF V_C_FALL VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_SCALE} Rserie=1
|
|
X_C_VOD V_VALORI_C_VOD 0 NET0209 VREF VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_SCALE} Rserie=1.0
|
|
X_C_RISE V_VALORI_C_RISE 0 V_C_RISE VREF VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_SCALE} Rserie=1
|
|
X_C_VCC V_VALORI_C_VCC 0 NET0285 VREF VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_SCALE} Rserie=1
|
|
M_NMOS2 VO_DIFF_PLUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_MINUS NET0277 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IIN_BIAS_VM VM VREF DC 1p
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
IIN_BIAS_VP VP VREF DC 1p
|
|
V58 NET279 NET214 DC {VD_COMPENSAZIONE}
|
|
V59 NET240 NET287 DC {VD_COMPENSAZIONE}
|
|
VREADIO VB_4 VS DC 0
|
|
VVLIM_LOW_VB NET295 NET220 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_P_VCCP NET223 NET256 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_ENHANCE}
|
|
VVLIM_HIGH_VB NET244 NET291 DC {VD_COMPENSAZIONE}
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_ENHANCE}
|
|
VPROT_IN_M_VCCN NET231 NET355 DC {V_DPROT}
|
|
VPROT_IN_P_VCCN NET233 NET234 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET343 NET246 DC {V_DPROT}
|
|
D40 NET214 VB_D_VOD DIODE_NOVd
|
|
D_ENABLE_RISE VB_D_G_RF V_C_RISE DIODE_rf
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D41 VB_D_VOD NET240 DIODE_NOVd
|
|
D_ENABLE_FALL V_C_FALL VB_D_G_RF DIODE_rf
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
D3 VB_D_G NET244 DIODE_NOVd
|
|
DPROT_IN_M_VCCP VM NET246 DIODE_VLIM
|
|
D4 NET220 NET0271 DIODE_NOVd
|
|
DPROT_IN_M_VCCN NET231 VM DIODE_VLIM
|
|
DPROT_IN_P_VCCP NET0277 NET256 DIODE_VLIM
|
|
DPROT_IN_P_VCCN NET233 NET0277 DIODE_VLIM
|
|
CSERIE_C_VOD VB_D_VOD NET0209 1u
|
|
C84 VM VP 1.2p
|
|
CSERIE_C_VCC VB_D_VOD_VCC NET0285 1u
|
|
E_RO_3 VB_3 VB_4 VALUE={IF( I(VreadIo)>0
|
|
+,I(VreadIo)*V(Ro_3_val_VOH),I(VreadIo)*V(Ro_3_val_VOL) )}
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
|
|
* E_RO_3_VAL_VOL RO_3_VAL_VOL 0 PWL(1) VCCP VCCN ( 2.2 , 17.5 ) ( 2.7 ,
|
|
*+12.5 ) ( 5.0 , 2.5 )
|
|
E_RO_3_VAL_VOL RO_3_VAL_VOL 0 VALUE={TABLE( V(VCCP,VCCN) , 2.2 , 17.5 , 2.7 ,
|
|
+12.5 , 5.0 , 2.5 )}
|
|
|
|
E65 NET279 0 VCCN 0 1.0
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={( -138.01552795031046 +
|
|
+114.34782608695646*V(Vccp,Vccn)
|
|
+-4.968944099378868*V(Vccp,Vccn)*V(Vccp,Vccn)) -5000*I(VreadIo) }
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN 4.6822981366459573E-4
|
|
+1.0065217391304365E-4 -1.6459627329192566E-5
|
|
|
|
* E_C_VOD V_VALORI_C_VOD 0 PWL(1) VP VM ( -200m , {1.6p/CAP_SCALE} ) (
|
|
*+-150m , {1.375p/CAP_SCALE} ) ( -100m , {1.09p/CAP_SCALE} ) ( -50m ,
|
|
*+{0.768p/CAP_SCALE} ) ( -15m , {0.5p/CAP_SCALE} ) ( -5m ,
|
|
*+{0.465p/CAP_SCALE} ) ( +5m , {0.43p/CAP_SCALE} ) ( +15m ,
|
|
*+{0.464p/CAP_SCALE} ) ( +50m , {0.687p/CAP_SCALE} ) ( +100m ,
|
|
*+{1p/CAP_SCALE} ) ( +150m , {1.27p/CAP_SCALE} ) ( +200m ,
|
|
*+{1.49p/CAP_SCALE} )
|
|
E_C_VOD V_VALORI_C_VOD 0 VALUE={TABLE( V(VP,VM) , -200m , 1.6p ,
|
|
+-150m , 1.375p , -100m , 1.09p , -50m , 0.768p , -15m , 0.5p , -5m ,
|
|
+0.465p , +5m , 0.43p , +15m , 0.464p , +50m , 0.687p , +100m ,
|
|
+1p , +150m , 1.27p , +200m , 1.49p)/CAP_SCALE}
|
|
|
|
E_VOL VB_D_G NET0271 VALUE={0}
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 4.338819875776397E-4
|
|
+3.804347826086955E-5 -7.763975155279502E-6
|
|
|
|
* E_HYST_VAL HYST_VAL 0 PWL(1) VCCP VCCN ( 2.2 , 2m ) ( 2.7 , 2m ) ( 5.0
|
|
*+, 2m )
|
|
E_HYST_VAL HYST_VAL 0 VALUE={2m}
|
|
|
|
E66 NET287 0 VCCP 0 1.0
|
|
|
|
* E_RO_3_VAL_VOH RO_3_VAL_VOH 0 PWL(1) VCCP VCCN ( 2.2 , 37.5 ) ( 2.7 ,
|
|
*+25 ) ( 5.0 , 7.5 )
|
|
E_RO_3_VAL_VOH RO_3_VAL_VOH 0 VALUE={TABLE( V(VCCP,VCCN) , 2.2 , 37.5 , 2.7 ,
|
|
+25 , 5.0 , 7.5 )}
|
|
|
|
EVLIM_HIGH_VB NET291 0 VCCP 0 1.0
|
|
|
|
* E_C_VCC V_VALORI_C_VCC 0 TABLE {IF(V(VP,VM)>0,V(Vccp,Vccn),
|
|
*+-V(Vccp,Vccn))}=(-5 {1f/CAP_scale}) (-2.7 {1f/CAP_scale}) (-2.2
|
|
*+{0.055p/CAP_scale}) (2.2 {0.14p/CAP_scale}) (2.7 {0.08p/CAP_scale}) (5
|
|
*+{1f/CAP_scale})
|
|
E_C_VCC V_VALORI_C_VCC 0 VALUE={IF( V(VP,VM)>0,
|
|
+TABLE( V(VCCP,VCCN), 2.2 , 0.14p , 2.7 , 0.08p , 5 , 1f),
|
|
+TABLE( V(VCCP,VCCN), 2.2 , 0.055p , 2.7 , 1f , 5 , 1f))/CAP_scale}
|
|
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
|
|
* E_C_FALL V_VALORI_C_FALL 0 PWL(1) VCCP VCCN ( 2.2 , {2.46p/CAP_SCALE}
|
|
*+) ( 2.7 , {1.255p/CAP_SCALE} ) ( 5.0 , {0.44p/CAP_SCALE} )
|
|
E_C_FALL V_VALORI_C_FALL 0 VALUE={TABLE( V(VCCP,VCCN) , 2.2 , 2.46p ,
|
|
+ 2.7 , 1.255p , 5.0 , 0.44p)/CAP_SCALE}
|
|
|
|
EVLIM_LOW_VB NET295 0 VCCN 0 1.0
|
|
E2_REF NET357 0 VCCN 0 1.0
|
|
|
|
* E_VIO VP NET0390 PWL(1) VCCP VCCN ( 2.2 , -0.2m ) ( 2.7 , -0.1m ) (
|
|
*+5.0 , -0.4m )
|
|
E_VIO VP NET0390 VALUE={TABLE( V(VCCP,VCCN) , 2.2 , -0.2m , 2.7 , -0.1m ,
|
|
+5.0 , -0.4m )}
|
|
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_VREF VREF 0 NET351 0 1.0
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
E1_REF NET319 0 VCCP 0 1.0
|
|
|
|
* E_C_RISE V_VALORI_C_RISE 0 PWL(1) VCCP VCCN ( 2.2 , {2.55p/CAP_SCALE}
|
|
*+) ( 2.7 , {1.58p/CAP_SCALE} ) ( 5.0 , {0.43p/CAP_SCALE} )
|
|
E_C_RISE V_VALORI_C_RISE 0 VALUE={TABLE( V(VCCP,VCCN) , 2.2 , 2.55p ,
|
|
+ 2.7 , 1.58p , 5.0 , 0.43p)/CAP_SCALE}
|
|
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={( 82.5186335403726
|
|
+-60.21739130434778*V(Vccp,Vccn)
|
|
+-4.03726708074535*V(Vccp,Vccn)*V(Vccp,Vccn) ) -5000*I(VreadIo) }
|
|
E_HYST NET0277 NET0390 VALUE={IF( V(VCCP,VCCN)>=VCCMIN ,
|
|
+ +V(VS,Vref)/( V(Vccp,Vccn)/V(Hyst_val)) , 0)}
|
|
R_RISE_FALL VREF VB_D_G_RF {R_RISE_FALL}
|
|
R_DELAY_VOD VREF VB_D_VOD {R_DELAY}
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RO_2 VB_3 VB_2 1m
|
|
RO_1 VREF VB_2 {RO_1}
|
|
RPROT_IN_P_VCCP NET223 VCCP 15K
|
|
RPROT_IN_M_VCCP VCCP NET343 15K
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RD1 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
R_DELAY_VCC VREF VB_D_VOD_VCC {R_DELAY}
|
|
R1_REF NET319 NET351 1Meg
|
|
R_GAIN VB_D_G VREF {R1}
|
|
RPROT_IN_M_VCCN VCCN NET355 15K
|
|
R2_REF NET351 NET357 1Meg
|
|
RPROT_IN_P_VCCN NET234 VCCN 15K
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
G_ICCSAT VCCP VCCN VALUE={IF( V(VS)>V(Vccp,Vccn)/2 ,
|
|
+V(Icc_out_high), V(Icc_out_low) ) }
|
|
G_RISE_FALL VREF VB_D_G_RF VB_D_G VREF {1/R_RISE_FALL}
|
|
G_GAIN VREF VB_D_G VB_D_VOD_VCC VREF 1
|
|
G_DELAY_VOD VB_D_VOD VREF VO_DIFF_MINUS VO_DIFF_PLUS {1/R_DELAY}
|
|
G_OUT VREF VB_2 VB_D_G_RF VREF {1/RO_1}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
G_DELAY_VCC VB_D_VOD_VCC VREF VREF VB_D_VOD {1/R_DELAY}
|
|
|
|
*******************************************************************************
|
|
*
|
|
.PARAM CAP_scale=1e-15
|
|
.PARAM VCCMIN=2.2
|
|
.PARAM A0=10E+06
|
|
.PARAM IEE=40u
|
|
.PARAM W=100u
|
|
.PARAM L=10u
|
|
.PARAM gm_mos=200u
|
|
.PARAM RD=10k
|
|
.PARAM R_delay={RD}
|
|
.PARAM R1={A0/(gm_mos*RD)}
|
|
.PARAM Ro_1=20
|
|
.PARAM R_rise_fall=1000
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=100E-6
|
|
.MODEL DIODE_rf D LEVEL=1 IS=10E-15 N=1 CJO=10f
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TS3011
|
|
|
|
|
|
*******************************************************
|
|
******* SUBCKT VOLTAGE CONTROLLED CAPACITOR for SPICE
|
|
*******************************************************
|
|
.SUBCKT VCCAP_PSPICE Vctrl_plus Vctrl_minus Vout_plus Vout_minus
|
|
+ PARAMS: CAP_scale=1u Rserie=1
|
|
EVin 2 0 VALUE={1/V(Vctrl_plus,Vctrl_minus)}
|
|
EV2 8 Vout_plus POLY(2) 6 0 2 0 0 0 0 0 1 0 0 0 0 0
|
|
RR1 8 Vout_minus {Rserie}
|
|
GI1 0 6 Vout_minus 8 {1/Rserie}
|
|
RR2 0 6 100G
|
|
CC1 6 0 {CAP_scale}
|
|
.ENDS VCCAP_PSPICE
|
|
*********************************************************
|
|
|
|
****************************************************************************
|
|
* WARNING : please consider following remarks before usage
|
|
*
|
|
* 1) All models are a tradeoff between accuracy and complexity (ie. simulation
|
|
* time).
|
|
* 2) Macromodels are not a substitute to breadboarding, they rather confirm the
|
|
* validity of a design approach and help to select surrounding component values.
|
|
*
|
|
* 3) A macromodel emulates the NOMINAL performance of a TYPICAL device within
|
|
* SPECIFIED OPERATING CONDITIONS (ie. temperature, supply voltage, etc.).
|
|
* Thus the macromodel is often not as exhaustive as the datasheet, its goal
|
|
* is to illustrate the main parameters of the product.
|
|
*
|
|
* 4) Data issued from macromodels used outside of its specified conditions
|
|
* (Vcc, Temperature, etc) or even worse: outside of the device operating
|
|
* conditions (Vcc, Vicm, etc) are not reliable in any way.
|
|
*
|
|
****************************************************************************
|
|
****
|
|
**** TS3011 Spice macromodel subckt
|
|
***
|
|
*** December 2011
|
|
****
|
|
************ CONNECTIONS:
|
|
**** NON-INVERTING INPUT
|
|
**** | INVERTING INPUT
|
|
**** | | POSITIVE POWER SUPPLY
|
|
**** | | | NEGATIVE POWER SUPPLY
|
|
**** | | | | OUTPUT
|
|
**** | | | | |
|
|
**** | | | | |
|
|
.SUBCKT TS3011 VP VM VCCP VCCN VS
|
|
X_C_FALL V_VALORI_C_FALL 0 VREF V_C_FALL VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_SCALE} Rserie=1
|
|
X_C_VOD V_VALORI_C_VOD 0 NET0209 VREF VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_SCALE} Rserie=1.0
|
|
X_C_RISE V_VALORI_C_RISE 0 V_C_RISE VREF VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_SCALE} Rserie=1
|
|
X_C_VCC V_VALORI_C_VCC 0 NET0285 VREF VCCAP_PSPICE
|
|
+PARAMS: CAP_scale={CAP_SCALE} Rserie=1
|
|
M_NMOS2 VO_DIFF_PLUS VM VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
M_NMOS1 VO_DIFF_MINUS NET0277 VEE_N VCCN_ENHANCED MOS_N L={L} W={W}
|
|
IIN_BIAS_VM VM VREF DC 1p
|
|
IEE_N VEE_N VCCN_ENHANCED DC {IEE}
|
|
IIN_BIAS_VP VP VREF DC 1p
|
|
V58 NET279 NET214 DC {VD_COMPENSAZIONE}
|
|
V59 NET240 NET287 DC {VD_COMPENSAZIONE}
|
|
VREADIO VB_4 VS DC 0
|
|
VVLIM_LOW_VB NET295 NET220 DC {VD_COMPENSAZIONE}
|
|
VPROT_IN_P_VCCP NET223 NET256 DC {V_DPROT}
|
|
V_ENHANCE_VCCN VCCN_ENHANCED VCCN DC {VCCN_ENHANCE}
|
|
VVLIM_HIGH_VB NET244 NET291 DC {VD_COMPENSAZIONE}
|
|
V_ENHANCE_VCCP VCCP_ENHANCED VCCP DC {VCCP_ENHANCE}
|
|
VPROT_IN_M_VCCN NET231 NET355 DC {V_DPROT}
|
|
VPROT_IN_P_VCCN NET233 NET234 DC {V_DPROT}
|
|
VPROT_IN_M_VCCP NET343 NET246 DC {V_DPROT}
|
|
D40 NET214 VB_D_VOD DIODE_NOVd
|
|
D_ENABLE_RISE VB_D_G_RF V_C_RISE DIODE_rf
|
|
DILIM_SINK VB_3_SINK VB_3 DIODE_ILIM
|
|
D41 VB_D_VOD NET240 DIODE_NOVd
|
|
D_ENABLE_FALL V_C_FALL VB_D_G_RF DIODE_rf
|
|
DILIM_SOURCE VB_3 VB_3_SOURCE DIODE_ILIM
|
|
D3 VB_D_G NET244 DIODE_NOVd
|
|
DPROT_IN_M_VCCP VM NET246 DIODE_VLIM
|
|
D4 NET220 NET0271 DIODE_NOVd
|
|
DPROT_IN_M_VCCN NET231 VM DIODE_VLIM
|
|
DPROT_IN_P_VCCP NET0277 NET256 DIODE_VLIM
|
|
DPROT_IN_P_VCCN NET233 NET0277 DIODE_VLIM
|
|
CSERIE_C_VOD VB_D_VOD NET0209 1u
|
|
C84 VM VP 1.2p
|
|
CSERIE_C_VCC VB_D_VOD_VCC NET0285 1u
|
|
E_RO_3 VB_3 VB_4 VALUE={IF( I(VreadIo)>0
|
|
+,I(VreadIo)*V(Ro_3_val_VOH),I(VreadIo)*V(Ro_3_val_VOL) )}
|
|
E_VDEP_SOURCE_2 VAL_VDEP_SOURCE_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_source)>=0, 0, V(val_vdep_source))}
|
|
|
|
* E_RO_3_VAL_VOL RO_3_VAL_VOL 0 PWL(1) VCCP VCCN ( 2.2 , 17.5 ) ( 2.7 ,
|
|
*+12.5 ) ( 5.0 , 2.5 )
|
|
E_RO_3_VAL_VOL RO_3_VAL_VOL 0 VALUE={TABLE( V(VCCP,VCCN) , 2.2 , 17.5 , 2.7 ,
|
|
+12.5 , 5.0 , 2.5 )}
|
|
|
|
E65 NET279 0 VCCN 0 1.0
|
|
E_VDEP_SOURCE_1 VAL_VDEP_SOURCE 0 VALUE={( -138.01552795031046 +
|
|
+114.34782608695646*V(Vccp,Vccn)
|
|
+-4.968944099378868*V(Vccp,Vccn)*V(Vccp,Vccn)) -5000*I(VreadIo) }
|
|
E_VDEP_SINK_3 VDEP_SINK 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_sink_filtered))}
|
|
E_ICCSAT_LOW ICC_OUT_LOW 0 POLY(1) VCCP VCCN 4.6822981366459573E-4
|
|
+1.0065217391304365E-4 -1.6459627329192566E-5
|
|
|
|
* E_C_VOD V_VALORI_C_VOD 0 PWL(1) VP VM ( -200m , {1.6p/CAP_SCALE} ) (
|
|
*+-150m , {1.375p/CAP_SCALE} ) ( -100m , {1.09p/CAP_SCALE} ) ( -50m ,
|
|
*+{0.768p/CAP_SCALE} ) ( -15m , {0.5p/CAP_SCALE} ) ( -5m ,
|
|
*+{0.465p/CAP_SCALE} ) ( +5m , {0.43p/CAP_SCALE} ) ( +15m ,
|
|
*+{0.464p/CAP_SCALE} ) ( +50m , {0.687p/CAP_SCALE} ) ( +100m ,
|
|
*+{1p/CAP_SCALE} ) ( +150m , {1.27p/CAP_SCALE} ) ( +200m ,
|
|
*+{1.49p/CAP_SCALE} )
|
|
E_C_VOD V_VALORI_C_VOD 0 VALUE={TABLE( V(VP,VM) , -200m , 1.6p ,
|
|
+-150m , 1.375p , -100m , 1.09p , -50m , 0.768p , -15m , 0.5p , -5m ,
|
|
+0.465p , +5m , 0.43p , +15m , 0.464p , +50m , 0.687p , +100m ,
|
|
+1p , +150m , 1.27p , +200m , 1.49p)/CAP_SCALE}
|
|
|
|
E_VOL VB_D_G NET0271 VALUE={0}
|
|
E_VDEP_SINK_2 VAL_VDEP_SINK_FILTERED 0
|
|
+VALUE={IF(V(val_vdep_sink)<=0 , 0 , V(val_vdep_sink))}
|
|
E_ICCSAT_HIGH ICC_OUT_HIGH 0 POLY(1) VCCP VCCN 4.338819875776397E-4
|
|
+3.804347826086955E-5 -7.763975155279502E-6
|
|
|
|
* E_HYST_VAL HYST_VAL 0 PWL(1) VCCP VCCN ( 2.2 , 2m ) ( 2.7 , 2m ) ( 5.0
|
|
*+, 2m )
|
|
E_HYST_VAL HYST_VAL 0 VALUE={2m}
|
|
|
|
E66 NET287 0 VCCP 0 1.0
|
|
|
|
* E_RO_3_VAL_VOH RO_3_VAL_VOH 0 PWL(1) VCCP VCCN ( 2.2 , 37.5 ) ( 2.7 ,
|
|
*+25 ) ( 5.0 , 7.5 )
|
|
E_RO_3_VAL_VOH RO_3_VAL_VOH 0 VALUE={TABLE( V(VCCP,VCCN) , 2.2 , 37.5 , 2.7 ,
|
|
+25 , 5.0 , 7.5 )}
|
|
|
|
EVLIM_HIGH_VB NET291 0 VCCP 0 1.0
|
|
|
|
* E_C_VCC V_VALORI_C_VCC 0 TABLE {IF(V(VP,VM)>0,V(Vccp,Vccn),
|
|
*+-V(Vccp,Vccn))}=(-5 {1f/CAP_scale}) (-2.7 {1f/CAP_scale}) (-2.2
|
|
*+{0.055p/CAP_scale}) (2.2 {0.14p/CAP_scale}) (2.7 {0.08p/CAP_scale}) (5
|
|
*+{1f/CAP_scale})
|
|
E_C_VCC V_VALORI_C_VCC 0 VALUE={IF( V(VP,VM)>0,
|
|
+TABLE( V(VCCP,VCCN), 2.2 , 0.14p , 2.7 , 0.08p , 5 , 1f),
|
|
+TABLE( V(VCCP,VCCN), 2.2 , 0.055p , 2.7 , 1f , 5 , 1f))/CAP_scale}
|
|
|
|
EILIM_SOURCE VB_3_SOURCE VDEP_SOURCE VB_3 0 1.0
|
|
|
|
* E_C_FALL V_VALORI_C_FALL 0 PWL(1) VCCP VCCN ( 2.2 , {2.46p/CAP_SCALE}
|
|
*+) ( 2.7 , {1.255p/CAP_SCALE} ) ( 5.0 , {0.44p/CAP_SCALE} )
|
|
E_C_FALL V_VALORI_C_FALL 0 VALUE={TABLE( V(VCCP,VCCN) , 2.2 , 2.46p ,
|
|
+ 2.7 , 1.255p , 5.0 , 0.44p)/CAP_SCALE}
|
|
|
|
EVLIM_LOW_VB NET295 0 VCCN 0 1.0
|
|
E2_REF NET357 0 VCCN 0 1.0
|
|
|
|
* E_VIO VP NET0390 PWL(1) VCCP VCCN ( 2.2 , -0.2m ) ( 2.7 , -0.1m ) (
|
|
*+5.0 , -0.4m )
|
|
E_VIO VP NET0390 VALUE={TABLE( V(VCCP,VCCN) , 2.2 , -0.2m , 2.7 , -0.1m ,
|
|
+5.0 , -0.4m )}
|
|
|
|
EILIM_SINK VB_3_SINK VDEP_SINK VB_3 0 1.0
|
|
E_VREF VREF 0 NET351 0 1.0
|
|
E_VDEP_SOURCE_3 VDEP_SOURCE 0 VALUE={IF( abs(I(VreadIo))<1m , 0 ,
|
|
+V(val_vdep_source_filtered))}
|
|
E1_REF NET319 0 VCCP 0 1.0
|
|
|
|
* E_C_RISE V_VALORI_C_RISE 0 PWL(1) VCCP VCCN ( 2.2 , {2.55p/CAP_SCALE}
|
|
*+) ( 2.7 , {1.58p/CAP_SCALE} ) ( 5.0 , {0.43p/CAP_SCALE} )
|
|
E_C_RISE V_VALORI_C_RISE 0 VALUE={TABLE( V(VCCP,VCCN) , 2.2 , 2.55p ,
|
|
+ 2.7 , 1.58p , 5.0 , 0.43p)/CAP_SCALE}
|
|
|
|
E_VDEP_SINK_1 VAL_VDEP_SINK 0 VALUE={( 82.5186335403726
|
|
+-60.21739130434778*V(Vccp,Vccn)
|
|
+-4.03726708074535*V(Vccp,Vccn)*V(Vccp,Vccn) ) -5000*I(VreadIo) }
|
|
E_HYST NET0277 NET0390 VALUE={IF( V(VCCP,VCCN)>=VCCMIN ,
|
|
+ +V(VS,Vref)/( V(Vccp,Vccn)/V(Hyst_val)) , 0)}
|
|
R_RISE_FALL VREF VB_D_G_RF {R_RISE_FALL}
|
|
R_DELAY_VOD VREF VB_D_VOD {R_DELAY}
|
|
R_ICCSAT_HIGH ICC_OUT_HIGH 0 1K
|
|
RO_2 VB_3 VB_2 1m
|
|
RO_1 VREF VB_2 {RO_1}
|
|
RPROT_IN_P_VCCP NET223 VCCP 15K
|
|
RPROT_IN_M_VCCP VCCP NET343 15K
|
|
R_ICCSAT_LOW ICC_OUT_LOW 0 1K
|
|
RD1 VCCP_ENHANCED VO_DIFF_MINUS {RD}
|
|
RD2 VCCP_ENHANCED VO_DIFF_PLUS {RD}
|
|
R_DELAY_VCC VREF VB_D_VOD_VCC {R_DELAY}
|
|
R1_REF NET319 NET351 1Meg
|
|
R_GAIN VB_D_G VREF {R1}
|
|
RPROT_IN_M_VCCN VCCN NET355 15K
|
|
R2_REF NET351 NET357 1Meg
|
|
RPROT_IN_P_VCCN NET234 VCCN 15K
|
|
G_IOUT_SOURCED VCCP 0 VALUE={IF(I(VreadIo)>0, I(VreadIo),0)}
|
|
G_ICCSAT VCCP VCCN VALUE={IF( V(VS)>V(Vccp,Vccn)/2 ,
|
|
+V(Icc_out_high), V(Icc_out_low) ) }
|
|
G_RISE_FALL VREF VB_D_G_RF VB_D_G VREF {1/R_RISE_FALL}
|
|
G_GAIN VREF VB_D_G VB_D_VOD_VCC VREF 1
|
|
G_DELAY_VOD VB_D_VOD VREF VO_DIFF_MINUS VO_DIFF_PLUS {1/R_DELAY}
|
|
G_OUT VREF VB_2 VB_D_G_RF VREF {1/RO_1}
|
|
G_IOUT_SINKED VCCN 0 VALUE={IF(I(VreadIo)>0, 0, I(VreadIo))}
|
|
G_DELAY_VCC VB_D_VOD_VCC VREF VREF VB_D_VOD {1/R_DELAY}
|
|
|
|
*******************************************************************************
|
|
*
|
|
.PARAM CAP_scale=1e-15
|
|
.PARAM VCCMIN=2.2
|
|
.PARAM A0=10E+06
|
|
.PARAM IEE=40u
|
|
.PARAM W=100u
|
|
.PARAM L=10u
|
|
.PARAM gm_mos=200u
|
|
.PARAM RD=10k
|
|
.PARAM R_delay={RD}
|
|
.PARAM R1={A0/(gm_mos*RD)}
|
|
.PARAM Ro_1=20
|
|
.PARAM R_rise_fall=1000
|
|
.PARAM VCCP_enhance=150m
|
|
.PARAM VCCN_enhance=-1100m
|
|
.PARAM V_DPROT=150m
|
|
.PARAM Vd_compensazione=-788.4u
|
|
.MODEL MOS_N NMOS LEVEL=1 VTO=+0.65 KP=100E-6
|
|
.MODEL DIODE_rf D LEVEL=1 IS=10E-15 N=1 CJO=10f
|
|
.MODEL DIODE_NOVd D LEVEL=1 IS=10E-15 N=0.001
|
|
.MODEL DIODE_VLIM D LEVEL=1 IS=0.8E-15
|
|
.MODEL DIODE_ILIM D LEVEL=1 IS=0.8E-15
|
|
*
|
|
*******************************************************************************
|
|
|
|
.ENDS TS3011
|
|
|
|
*-----------------------------------------------------------------------------------------
|
|
* TS372/TS374 spice macromodel
|
|
* CONNECTIONS :
|
|
* 1 NON-INVERTING INPUT
|
|
* 2 INVERTING INPUT
|
|
* 3 POSITIVE POWER SUPPLY
|
|
* 4 NEGATIVE POWER SUPPLY
|
|
* 5 OUTPUT
|
|
*
|
|
**********************************************************
|
|
.SUBCKT TS37x 2 1 44 55 30
|
|
EVCCP 4 0 44 0 1.0
|
|
EVCCN 5 0 55 0 1.0
|
|
VREADIO 3 30 DC 0
|
|
G_ICCSAT 44 55 VALUE= {147.5E-6 + 5.0E-7*V(44,55)}
|
|
G_IOUT_SINKED 55 0 VALUE={IF (V(1)<V(2), 0, I(VreadIo))}
|
|
.MODEL MDTH D IS=1E-11 KF=1.050321E-32 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 102 0 2 0 1
|
|
VIO 10 102 146.5U
|
|
EIN 16 0 1 0 1
|
|
RIP 10 11 6.500000E+01
|
|
RIN 15 16 6.500000E+01
|
|
RIS 11 15 1.939046E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0.000000E+00
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 0 100E-06
|
|
CPS 11 15 2.7E-09
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 0.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 2.000000E+00
|
|
FCP 4 5 VOFP 1.300
|
|
FCN 5 4 VOFN 1.300
|
|
FIBP 2 0 VOFN 2.000000E-08
|
|
FIBN 0 1 VOFP 2.000000E-08
|
|
* AMPLIFYING STAGE
|
|
RG1 5 19 2.8E+05
|
|
RG2 4 19 2.8E+05
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.097
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 1.097
|
|
FIP 0 19 VOFP -104
|
|
FIN 0 19 VOFN -104
|
|
EOUT 26 5 19 5 1
|
|
.MODEL NMOD NPN(IS=0.1E-09 BF=10500)
|
|
RBOUT 27 26 800K
|
|
QOUT 103 27 28 28 NMOD
|
|
VEOUT 28 5 0V
|
|
RSOUT 3 0 1E+12
|
|
VNUL 3 103 0
|
|
DSTOP 32 103 MDTH 400E-12
|
|
HSTOP 32 33 VNUL 35
|
|
VSTOP 33 5 1
|
|
.ENDS
|
|
|
|
**********************************************************
|
|
* LM193/LM293/LM393 spice macromodel
|
|
* CONNECTIONS :
|
|
* 1 NON-INVERTING INPUT
|
|
* 2 INVERTING INPUT
|
|
* 3 POSITIVE POWER SUPPLY
|
|
* 4 NEGATIVE POWER SUPPLY
|
|
* 5 OUTPUT
|
|
*
|
|
**********************************************************
|
|
.SUBCKT LMx93 2 1 44 55 30
|
|
EVCCP 4 0 44 0 1.0
|
|
EVCCN 5 0 55 0 1.0
|
|
VREADIO 3 30 DC 0
|
|
G_ICCSAT 44 55 VALUE={2.1E-4+3E-6*V(44,55)}
|
|
G_IOUT_SINKED 55 0 VALUE={IF (V(1)<V(2), 0, I(VreadIo))}
|
|
.MODEL MDTH D IS=1E-11 KF=1.050321E-32 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 102 0 2 0 1
|
|
VIO 10 102 438.3U
|
|
EIN 16 0 1 0 1
|
|
RIP 10 11 6.500000E+01
|
|
RIN 15 16 6.500000E+01
|
|
RIS 11 15 1.939046E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0.000000E+00
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 0 100E-06
|
|
CPS 11 15 5.5E-09
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 0.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 1.500000E+00
|
|
FCP 4 5 VOFP 0.175
|
|
FCN 5 4 VOFN 0.175
|
|
FIBP 2 0 VOFN 4.000000E-04
|
|
FIBN 0 1 VOFP 4.000000E-04
|
|
* AMPLIFYING STAGE
|
|
RG1 5 19 2.85E+05
|
|
RG2 4 19 2.85E+05
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.097
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 1.097
|
|
FIP 0 19 VOFP -104
|
|
FIN 0 19 VOFN -104
|
|
EOUT 26 5 19 5 1
|
|
.MODEL NMOD NPN(IS=0.1E-09 BF=4000)
|
|
RBOUT 27 26 800K
|
|
QOUT 103 27 28 28 NMOD
|
|
REOUT 28 5 20
|
|
RSOUT 3 0 1E+12
|
|
VNUL 3 103 0
|
|
DSTOP 32 103 MDTH 400E-12
|
|
HSTOP 32 33 VNUL 135
|
|
VSTOP 33 5 0.5
|
|
.ENDS
|
|
|
|
**********************************************************
|
|
*-----------------------------------------------------------------------------------------
|
|
* TS391 spice macromodel
|
|
* CONNECTIONS :
|
|
* 1 NON-INVERTING INPUT
|
|
* 2 INVERTING INPUT
|
|
* 3 POSITIVE POWER SUPPLY
|
|
* 4 NEGATIVE POWER SUPPLY
|
|
* 5 OUTPUT
|
|
*
|
|
**********************************************************
|
|
.SUBCKT TS391 2 1 44 55 30
|
|
EVCCP 4 0 44 0 1.0
|
|
EVCCN 5 0 55 0 1.0
|
|
VREADIO 3 30 DC 0
|
|
G_ICCSAT 44 55 VALUE={2.1E-4+3E-6*V(44,55)}
|
|
G_IOUT_SINKED 55 0 VALUE={IF (V(1)<V(2), 0, I(VreadIo))}
|
|
.MODEL MDTH D IS=1E-11 KF=1.050321E-32 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 102 0 2 0 1
|
|
VIO 10 102 438.3U
|
|
EIN 16 0 1 0 1
|
|
RIP 10 11 6.500000E+01
|
|
RIN 15 16 6.500000E+01
|
|
RIS 11 15 1.939046E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0.000000E+00
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 0 100E-06
|
|
CPS 11 15 5.5E-09
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 0.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 1.500000E+00
|
|
FCP 4 5 VOFP 0.175
|
|
FCN 5 4 VOFN 0.175
|
|
FIBP 2 0 VOFN 4.000000E-04
|
|
FIBN 0 1 VOFP 4.000000E-04
|
|
* AMPLIFYING STAGE
|
|
RG1 5 19 2.85E+05
|
|
RG2 4 19 2.85E+05
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.097
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 1.097
|
|
FIP 0 19 VOFP -104
|
|
FIN 0 19 VOFN -104
|
|
EOUT 26 5 19 5 1
|
|
.MODEL NMOD NPN(IS=0.1E-09 BF=4000)
|
|
RBOUT 27 26 800K
|
|
QOUT 103 27 28 28 NMOD
|
|
REOUT 28 5 20
|
|
RSOUT 3 0 1E+12
|
|
VNUL 3 103 0
|
|
DSTOP 32 103 MDTH 400E-12
|
|
HSTOP 32 33 VNUL 135
|
|
VSTOP 33 5 0.5
|
|
.ENDS
|
|
|
|
|
|
*-----------------------------------------------------------------------------------------
|
|
* LM2901/LM2903/LM2901H/LM2903H spice macromodel
|
|
* CONNECTIONS :
|
|
* 1 NON-INVERTING INPUT
|
|
* 2 INVERTING INPUT
|
|
* 3 POSITIVE POWER SUPPLY
|
|
* 4 NEGATIVE POWER SUPPLY
|
|
* 5 OUTPUT
|
|
*
|
|
**********************************************************
|
|
.SUBCKT LMXXXX_COMP 2 1 44 55 30
|
|
EVCCP 4 0 44 0 1.0
|
|
EVCCN 5 0 55 0 1.0
|
|
VREADIO 3 30 DC 0
|
|
G_ICCSAT 44 55 VALUE={2.1E-4+3E-6*V(44,55)}
|
|
G_IOUT_SINKED 55 0 VALUE={IF (V(1)<V(2), 0, I(VreadIo))}
|
|
.MODEL MDTH D IS=1E-11 KF=1.050321E-32 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 102 0 2 0 1
|
|
VIO 10 102 438.3U
|
|
EIN 16 0 1 0 1
|
|
RIP 10 11 6.500000E+01
|
|
RIN 15 16 6.500000E+01
|
|
RIS 11 15 1.939046E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0.000000E+00
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 0 100E-06
|
|
CPS 11 15 5.5E-09
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 0.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 1.500000E+00
|
|
FCP 4 5 VOFP 0.175
|
|
FCN 5 4 VOFN 0.175
|
|
FIBP 2 0 VOFN 4.000000E-04
|
|
FIBN 0 1 VOFP 4.000000E-04
|
|
* AMPLIFYING STAGE
|
|
RG1 5 19 2.85E+05
|
|
RG2 4 19 2.85E+05
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.097
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 1.097
|
|
FIP 0 19 VOFP -104
|
|
FIN 0 19 VOFN -104
|
|
EOUT 26 5 19 5 1
|
|
.MODEL NMOD NPN(IS=0.1E-09 BF=4000)
|
|
RBOUT 27 26 800K
|
|
QOUT 103 27 28 28 NMOD
|
|
REOUT 28 5 20
|
|
RSOUT 3 0 1E+12
|
|
VNUL 3 103 0
|
|
DSTOP 32 103 MDTH 400E-12
|
|
HSTOP 32 33 VNUL 135
|
|
VSTOP 33 5 0.5
|
|
.ENDS LMXXXX_COMP
|
|
|
|
*-----------------------------------------------------------------------------------------
|
|
* LM comparators with diodes spice macromodel
|
|
* CONNECTIONS :
|
|
* 1 NON-INVERTING INPUT
|
|
* 2 INVERTING INPUT
|
|
* 3 POSITIVE POWER SUPPLY
|
|
* 4 NEGATIVE POWER SUPPLY
|
|
* 5 OUTPUT
|
|
*
|
|
**********************************************************
|
|
.SUBCKT LMXXXXW_COMP 2 1 44 55 30
|
|
.MODEL MDTH D IS=1E-8 KF=3.104131E-15 CJO=10F
|
|
D1A 1 44 MDTH 400E-12
|
|
D1B 55 1 MDTH 400E-12
|
|
D2A 2 44 MDTH 400E-12
|
|
D2B 55 2 MDTH 400E-12
|
|
EVCCP 4 0 44 0 1.0
|
|
EVCCN 5 0 55 0 1.0
|
|
VREADIO 3 30 DC 0
|
|
G_ICCSAT 44 55 VALUE={2.1E-4+3E-6*V(44,55)}
|
|
G_IOUT_SINKED 55 0 VALUE={IF (V(1)<V(2), 0, I(VreadIo))}
|
|
.MODEL MDTH D IS=1E-11 KF=1.050321E-32 CJO=10F
|
|
* INPUT STAGE
|
|
CIP 2 5 1.000000E-12
|
|
CIN 1 5 1.000000E-12
|
|
EIP 102 0 2 0 1
|
|
VIO 10 102 438.3U
|
|
EIN 16 0 1 0 1
|
|
RIP 10 11 6.500000E+01
|
|
RIN 15 16 6.500000E+01
|
|
RIS 11 15 1.939046E+02
|
|
DIP 11 12 MDTH 400E-12
|
|
DIN 15 14 MDTH 400E-12
|
|
VOFP 12 13 DC 0.000000E+00
|
|
VOFN 13 14 DC 0
|
|
IPOL 13 0 100E-06
|
|
CPS 11 15 5.5E-09
|
|
DINN 17 13 MDTH 400E-12
|
|
VIN 17 5 0.000000e+00
|
|
DINR 15 18 MDTH 400E-12
|
|
VIP 4 18 1.500000E+00
|
|
FCP 4 5 VOFP 0.175
|
|
FCN 5 4 VOFN 0.175
|
|
FIBP 2 0 VOFN 4.000000E-04
|
|
FIBN 0 1 VOFP 4.000000E-04
|
|
* AMPLIFYING STAGE
|
|
RG1 5 19 2.85E+05
|
|
RG2 4 19 2.85E+05
|
|
DOP 19 25 MDTH 400E-12
|
|
VOP 4 25 1.097
|
|
DON 24 19 MDTH 400E-12
|
|
VON 24 5 1.097
|
|
FIP 0 19 VOFP -104
|
|
FIN 0 19 VOFN -104
|
|
EOUT 26 5 19 5 1
|
|
.MODEL NMOD NPN(IS=0.1E-09 BF=4000)
|
|
RBOUT 27 26 800K
|
|
QOUT 103 27 28 28 NMOD
|
|
REOUT 28 5 20
|
|
RSOUT 3 0 1E+12
|
|
VNUL 3 103 0
|
|
DSTOP 32 103 MDTH 400E-12
|
|
HSTOP 32 33 VNUL 135
|
|
VSTOP 33 5 0.5
|
|
.ENDS LMXXXXW_COMP
|
|
|