source: trunk/simulation/sbombh7/ina303a2.lib@ 5

Last change on this file since 5 was 1, checked in by f.jahn, 3 years ago
File size: 12.2 KB
RevLine 
[1]1* INA303A2
2*****************************************************************************
3* (C) Copyright 2020 Texas Instruments Incorporated. All rights reserved.
4*****************************************************************************
5** This model is designed as an aid for customers of Texas Instruments.
6** TI and its licensors and suppliers make no warranties, either expressed
7** or implied, with respect to this model, including the warranties of
8** merchantability or fitness for a particular purpose. The model is
9** provided solely on an "as is" basis. The entire risk as to its quality
10** and performance is with the customer.
11*****************************************************************************
12*
13** Released by: WEBENCH(R) Design Center, Texas Instruments Inc.
14* Part: INA303A1
15* Date: 05/18/2020
16* Model Type: All In One
17* Simulator: Cadence PSpice
18* Simulator Version: 16.6
19* EVM Order Number: N/A
20* EVM Users Guide: N/A
21* Datasheet: SBOS775C – March 2019
22*
23* Model Version: 1.1
24*
25*****************************************************************************
26*
27* Updates:
28*
29* Version 1.0 : Release to Web
30* Version 1.1 : Corrected bandwidth, output voltage swing limit, REF resistance
31*
32*****************************************************************************
33* Notes:
34* 1. This model is intended to be used with 5V supplies
35* 2. It may not work with supplies less than 5V
36*
37*****************************************************************************
38.SUBCKT INA303A2 INP INN REF LATCH1 LATCH2 LIMIT1 LIMIT2 DELAY ALERT1 ALERT2 VS OUT GND
39C_C2 0 DELAY 7.5p TC=0,0
40C_C1 0 S1_IN 80p TC=0,0
41R_R2 COMP1_OUT S1_IN 15237.5 TC=0,0
42R_R7 S3_IN CNTRL1_OUT 20k TC=0,0
43R_R5 LATCH2 0 1k TC=0,0
44E_U1_E1 U1_VMID 0 VS U1_N67543 0.5
45E_U1_E4 U1_N67297 0 0 INN 1
46E_U1_E8 U1_VINN_MID U1_VSN_WOCM U1_VMID 0 1
47R_U1_R12 U1_N66933 OPA_OUT 0.1 TC=0,0
48E_U1_E2 U1_N67543 0 0 GND 1
49E_U1_E7 U1_VINP_MID U1_VSP_WOCM U1_VMID 0 1
50R_U1_R11 INN U1_N67459 1 TC=0,0
51R_U1_R10 INP U1_N67465 1 TC=0,0
52R_U1_R2 U1_VINP_MID U1_OPA_INP 5k TC=0,0
53R_U1_R3 U1_VINN_MID U1_OPA_INN 5k TC=0,0
54E_U1_E5 U1_N67465 U1_VSP_WOCM U1_CMIN 0 1.00000007
55X_U1_U1 U1_OPA_INP U1_OPA_INN VS GND U1_N66933 INA303A2_OPA
56R_U1_R5 U1_OPA_INN U1_N66933 250e3 TC=3e-6,0
57E_U1_E6 U1_N67459 U1_VSN_WOCM U1_CMIN 0 9.99999930E-01
58I_U1_I1 U1_VSP_WOCM GND DC 119.9uAdc
59R_U1_R8 GND U1_N67465 540k TC=0,0
60I_U1_I2 U1_VSN_WOCM GND DC 120.1uAdc
61R_U1_R9 U1_N67459 GND 540k TC=0,0
62E_U1_E3 U1_CMIN 0 INP U1_N67297 0.5
63R_U1_R4 U1_OPA_INP REF 250e3 TC=3e-6,0
64R_U2_R1 U2_N01012 COMP1_OUT 1e6 TC=0,0
65V_U2_V1 N44121 U2_N03015 1.5e-3
66R_U2_R2 OUT U2_N01012 4e3 TC=0,0
67X_U2_U1 COMP1_OUT U2_N01012 U2_N03015 VS GND COMPARATOR_INA303A2
68C_C4 GND S4_IN 1n TC=0,0
69E_U100_E7 U100_N165884 0 U100_N_SUM 0 1
70E_U100_E3 U100_AOL_ZO_IN 0 OPA_OUT OUT 1
71C_U100_C6 0 U100_P1 160 TC=0,0
72R_U100_R6 U100_OUT_E4_ZO OUT 1e6 TC=0,0
73R_U100_R11 U100_P1 U100_N166036 100k TC=0,0
74E_U100_E4 U100_OUT_E4_ZO 0 U100_P2 0 1
75R_U100_R8 U100_P2 U100_N165884 2.5k TC=0,0
76G_U100_G3 U100_N_SUM 0 U100_Z1 0 -1
77E_U100_E5 U100_N166724 0 U100_AOL_ZO_IN 0 60
78C_U100_C5 U100_N165960 U100_P2 10n TC=0,0
79G_U100_G4 U100_N_SUM 0 U100_N166724 0 -1
80C_U100_C4 U100_N166302 U100_Z1 1.6u TC=0,0
81R_U100_R7 0 U100_Z1 1k TC=0,0
82R_U100_R9 U100_N165960 0 20 TC=0,0
83E_U100_E6 U100_N166302 0 U100_AOL_ZO_IN 0 1.3e6
84E_U100_E8 U100_N166036 0 U100_AOL_ZO_IN 0 8e5
85R_U100_R5 0 U100_N_SUM 1 TC=0,0
86G_U100_G5 U100_N_SUM 0 U100_P1 0 -1
87R_R8 S4_IN CNTRL2_OUT 20k TC=0,0
88E_E2 N25241 GND LIMIT2 GND 1
89X_U7 LATCH2 VS ALERT2 CNTRL2_OUT VS GND CONTROL_INA303A2
90C_C3 GND S3_IN 1n TC=0,0
91R_R4 LATCH1 0 1k TC=0,0
92X_S3 S3_IN GND VS S1_IN DEV_A1_SCH_S3_INA303A2
93R_R3 COMP2_OUT DELAY 244k TC=0,0
94R_R6 REF 0 1e6 TC=0,0
95X_S4 S4_IN GND VS DELAY DEV_A1_SCH_S4_INA303A2
96R_U4_R1 U4_N01012 COMP2_OUT 1e6 TC=0,0
97V_U4_V1 OUT U4_N03015 1.5e-3
98R_U4_R2 N25241 U4_N01012 4e3 TC=0,0
99X_U4_U1 COMP2_OUT U4_N01012 U4_N03015 VS GND COMPARATOR_INA303A2
100X_U6 LATCH1 VS ALERT1 CNTRL1_OUT VS GND CONTROL_INA303A2
101E_E1 N44121 GND LIMIT1 GND 1
102X_U3 VS LIMIT1 VS LIMIT1 VS GND LIMIT_I_INA303A2
103X_S1 S1_IN GND ALERT1 GND DEV_A1_SCH_S1_INA303A2
104X_S2 DELAY GND ALERT2 GND DEV_A1_SCH_S2_INA303A2
105X_U5 VS LIMIT2 VS LIMIT2 VS GND LIMIT_I_INA303A2
106.ENDS
107*$
108*
109.SUBCKT DEV_A1_SCH_S3_INA303A2 1 2 3 4
110S_S3 3 4 1 2 _S3
111RS_S3 1 2 1G
112.MODEL _S3 VSWITCH Roff=100e6 Ron=1.0 Voff=2V Von=3V
113.ENDS
114*$
115*
116.SUBCKT DEV_A1_SCH_S4_INA303A2 1 2 3 4
117S_S4 3 4 1 2 _S4
118RS_S4 1 2 1G
119.MODEL _S4 VSWITCH Roff=100e6 Ron=1.0 Voff=2V Von=3V
120.ENDS
121*$
122*
123.SUBCKT DEV_A1_SCH_S1_INA303A2 1 2 3 4
124S_S1 3 4 1 2 _S1
125RS_S1 1 2 1G
126.MODEL _S1 VSWITCH Roff=1e6 Ron=1.0 Voff=2.0V Von=3.0V
127.ENDS
128*$
129*
130.SUBCKT DEV_A1_SCH_S2_INA303A2 1 2 3 4
131S_S2 3 4 1 2 _S2
132RS_S2 1 2 1G
133.MODEL _S2 VSWITCH Roff=1e6 Ron=1.0 Voff=2.5V Von=3.5V
134.ENDS
135*$
136*
137.SUBCKT INA303A2_OPA VIP VIN VDD VSS VO
138XU1 VIP VIN 23 22 GNDF INPUT_INA303A2
139+ PARAMS: RICM = 1G RIDM = 100e6 CICM = 1000f CIDM = 1000f
140XU2 23 20 VNOISE_INA303A2
141+ PARAMS: NLF = 100 FLW = 0.1 NVR = 30
142XU3 12 20 VOFFS_INA303A2
143+ PARAMS: VOFF = 82u
144XU4 VDD VSS 22 21 GNDF PSRR_INA303A2
145+ PARAMS: PSRRP = 140 FPSRRP = 2 PSRRN = 140 FPSRRN = 2
146XU5 21 13 GNDF CMRR_INA303A2
147+ PARAMS: CMRR = 120 FCMRR = 2
148XU6 12 13 VDD VSS IBIAS_INA303A2
149+ PARAMS: IBIASP = 1p IBIASN = 1p
150XU7 VDD VSS IQ_INA303A2
151+ PARAMS: IQQ = 640u
152XU8 VDD VSS 12 13 14 15 GNDF CMR_INA303A2
153+ PARAMS: VMAX = 0 VMIN = 0
154XU9 14 15 11 GNDF GBW_SLEW_SE_INA303A2
155+ PARAMS: AOL = 120 GBW = 16.2MEG SRP = 4MEG SRN = 4MEG IT = 1M
156XU10 11 10 GNDF TF_INA303A2
157XU11 VDD VSS 10 9 VIMON GNDF VCLAMP_W_CLAW_INA303A2
158+ PARAMS: VMAXIO = 0.05 VMINIO = 0.015
159XU12 9 7 GNDF ZOUT_INA303A2
160XU13 7 VO VIMON OUT_CURRENT_CLAMP_INA303A2
161+ PARAMS: IMAX = 10m IMIN = 10m
162XU14 VDD VSS VIMON ILOAD_INA303A2
163XU0 VDD VSS GNDF GND_FLOAT_INA303A2
164.ENDS
165*$
166*
167.SUBCKT INPUT_INA303A2 VIP VIN VOP VON GNDF
168+ PARAMS: RICM = 1G RIDM = 10K CICM = 100F CIDM = 100F
169V1 VIP VOP 0
170V2 VIN VON 0
171C1 VOP GNDF {CICM}
172C2 VON GNDF {CICM}
173C3 VOP VON {CIDM}
174G1 VOP GNDF VALUE = {V(VOP,GNDF)/RICM}
175G2 VON GNDF VALUE = {V(VON,GNDF)/RICM}
176G3 VOP VON VALUE = {V(VOP,VON)/RIDM}
177.ENDS
178*$
179*
180.SUBCKT VNOISE_INA303A2 1 2
181+ PARAMS: NLF = 10 FLW = 4 NVR = 4.2
182.PARAM GLF={PWR(FLW,0.25)*NLF/1164}
183.PARAM RNV={1.184*PWR(NVR,2)}
184.MODEL DVN D KF={PWR(FLW,0.5)/1E11} IS=1.0E-16
185I1 0 7 10E-3
186I2 0 8 10E-3
187D1 7 0 DVN
188D2 8 0 DVN
189E1 3 6 7 8 {GLF}
190R1 3 0 1E9
191R2 3 0 1E9
192R3 3 6 1E9
193E2 6 4 5 0 10
194R4 5 0 {RNV}
195R5 5 0 {RNV}
196R6 3 4 1E9
197R7 4 0 1E9
198E3 1 2 3 4 1
199C1 1 0 1E-15
200C2 2 0 1E-15
201C3 1 2 1E-15
202.ENDS
203*$
204*
205.SUBCKT VOFFS_INA303A2 VP VN
206+ PARAMS: VOFF = 0
207V1 VP VN {VOFF}
208.ENDS
209*$
210*
211.SUBCKT PSRR_INA303A2 VDD VSS VI VO GNDF
212+ PARAMS: PSRRP = 130 FPSRRP = 1.6
213+ PSRRN = 130 FPSRRN = 1.6
214.PARAM PI = 3.141592
215.PARAM RPSRRP = 1
216.PARAM GPSRRP = {PWR(10,-PSRRP/20)/RPSRRP}
217.PARAM LPSRRP = {RPSRRP/(2*PI*FPSRRP)}
218.PARAM RPSRRN = 1
219.PARAM GPSRRN = {PWR(10,-PSRRN/20)/RPSRRN}
220.PARAM LPSRRN = {RPSRRN/(2*PI*FPSRRN)}
221G1 GNDF 1 VDD GNDF {GPSRRP}
222R1 1 2 {RPSRRP}
223L1 2 GNDF {LPSRRP}
224G2 GNDF 3 VSS GNDF {GPSRRN}
225R2 3 4 {RPSRRN}
226L2 4 GNDF {LPSRRN}
227E1 VO VI VALUE = {V(1,GNDF) + V(3,GNDF)}
228C3 VDD VSS 10P
229.ENDS
230*$
231*
232.SUBCKT CMRR_INA303A2 VI VO GNDF PARAMS: CMRR = 130 FCMRR = 1.6K
233.PARAM PI = 3.141592
234.PARAM RCMRR = 1
235.PARAM GCMRR = {PWR(10,-CMRR/20)/RCMRR}
236.PARAM LCMRR = {RCMRR/(2*PI*FCMRR)}
237G1 GNDF 1 VI GNDF {GCMRR}
238R1 1 2 {RCMRR}
239L1 2 GNDF {LCMRR}
240E1 VI VO 1 GNDF 1
241.ENDS
242*$
243*
244.SUBCKT IBIAS_INA303A2 VIP VIM VDD VSS
245+ PARAMS: IBIASP = 1e-12 IBIASN = 1e-12
246IBP VDD VIP {IBIASP}
247IBN VSS VIM {IBIASN}
248.ENDS
249*$
250*
251.SUBCKT IQ_INA303A2 VDD VSS
252+ PARAMS: IQQ = 1M IOFF = 1P
253G1 VDD VSS VALUE = {IQQ + IOFF*0}
254.ENDS
255*$
256*
257.SUBCKT CMR_INA303A2 VDD VSS VIP VIM VOP VOM GNDF
258+ PARAMS: VMAX = 0 VMIN = 0
259ECLAMPP VOP GNDF VALUE = {LIMIT(V(VIP,GNDF),V(VDD,GNDF) - VMAX, V(VSS,GNDF) + VMIN)}
260ECLAMPM VOM GNDF VALUE = {LIMIT(V(VIM,GNDF),V(VDD,GNDF) - VMAX, V(VSS,GNDF) + VMIN)}
261.ENDS
262*$
263*
264.SUBCKT GBW_SLEW_SE_INA303A2 VIP VIM VO GNDF
265+ PARAMS: Aol = 120 GBW = 3Meg SRP = 2Meg SRN = 2Meg IT = 1M
266.PARAM PI = 3.141592
267.PARAM IP = {IF(SRP <= SRN,IT,IT*(SRP/SRN))}
268.PARAM IN = {IF(SRN <= SRP,-IT,-IT*(SRN/SRP))}
269.PARAM Cc = {IF(SRP <= SRN,IT/SRP,IT/SRN)}
270.PARAM fp = {GBW/PWR(10,Aol/20)}
271.PARAM Rc = {1/(2*PI*Cc*fp)}
272.PARAM Gc = {PWR(10,Aol/20)/Rc}
273G1 GNDF VO VALUE = {IF(V(VIP,VIM) >= 200M,IP,IF(V(VIP,VIM) <= -200M,IN,Gc*V(VIP,VIM)))}
274C1 VO GNDF {Cc}
275R1 VO GNDF {Rc}
276.ENDS
277*$
278*
279.SUBCKT TF_INA303A2 VI VO GNDF
280+ PARAMS: A = 1
281E1 VO GNDF VI GNDF {A}
282.ENDS
283*$
284*
285.SUBCKT VCLAMP_W_CLAW_INA303A2 VDD VSS VI VO VIMON GNDF
286+ PARAMS: VMAXIO = 0 VMINIO = 0
287EPCLIP VDD_CLP 0 VALUE =
288+ {IF(0 <= + V(VIMON) & V(VIMON) <=
289+ 2.25M,V(VDD,GNDF) - 131.1111*V(VIMON) - 0 - VMAXIO,
290+ IF(2.25M < V(VIMON) & V(VIMON) <=
291+ 4.76M,V(VDD,GNDF) - 121.5139*V(VIMON) - 21.5936M - VMAXIO,
292+ IF(4.76M < V(VIMON) & V(VIMON) <=
293+ 6.56M,V(VDD,GNDF) - 222.2222*V(VIMON) + 457.7778M - VMAXIO,
294+ IF(6.56M < V(VIMON) & V(VIMON) <=
295+ 8M,V(VDD,GNDF) - 625*V(VIMON) + 3.1 - VMAXIO,
296+ IF(8M < V(VIMON) & V(VIMON) <
297+ 9M,V(VDD,GNDF) - 900*V(VIMON) + 5.3 - VMAXIO,
298+ IF(9M < V(VIMON) & V(VIMON) <
299+ 10.1M,V(VDD,GNDF) - 1000*V(VIMON) + 6.2 - VMAXIO,V(VDD,GNDF) - VMAXIO))))))}
300ENCLIP VSS_CLP 0 VALUE = {IF(0 >= V(VIMON) & V(VIMON) >=
301+ -2.25M,V(VSS,GNDF) - 132*V(VIMON) + VMINIO,
302+ IF(-2.25M > V(VIMON) & V(VIMON) >=
303+ -4.76M,V(VSS,GNDF) - 159.3625*V(VIMON) - 61.5657M + VMINIO,
304+ IF(-4.76M > V(VIMON) & V(VIMON) >=
305+ -6.56M,V(VSS,GNDF) - 222.2222*V(VIMON) - 360.7778M + VMINIO,
306+ IF(-6.56M > V(VIMON) & V(VIMON) >=
307+ -8M,V(VSS,GNDF) - 625*V(VIMON) - 3.003 + VMINIO,
308+ IF(-8M > V(VIMON) & V(VIMON) >=
309+ -9M,V(VSS,GNDF) - 900*V(VIMON) - 5.203 + VMINIO,
310+ IF(-9M > V(VIMON) & V(VIMON) >
311+ -10.1M,V(VSS,GNDF) - 1105*V(VIMON) - 7 + VMINIO,V(VSS,GNDF) + VMINIO))))))}
312ECLAMP VO GNDF VALUE = {LIMIT(V(VI,GNDF), V(VDD_CLP), V(VSS_CLP))}
313.ENDS
314*$
315*
316.SUBCKT ZOUT_INA303A2 VI VO GNDF
317+ PARAMS: RO = 50
318G1 GNDF VO VI GNDF {1/RO}
319G2 VO GNDF VALUE = {V(VO,GNDF)/RO}
320.ENDS
321*$
322*
323.SUBCKT OUT_CURRENT_CLAMP_INA303A2 IN OUT VIMON
324+PARAMS: RSER = 1 IMAX = 10M IMIN = 10M
325HSENS VIMON 0 VSENS 1
326VSENS OUTy OUT 0
327GRESP OUTx OUTy VALUE = {LIMIT(V(OUTx,OUT)/RSER,IMAX,-IMIN)}
328GRESN IN OUTx VALUE = {-V(IN,OUTx)/RSER}
329.ENDS
330*$
331*
332.SUBCKT ILOAD_INA303A2 VDD VSS VIMON
333G1 VDD 0 VALUE = {IF(V(VIMON) >= 0,V(VIMON),0)}
334G2 0 VSS VALUE = {IF(V(VIMON) < 0,V(VIMON),0)}
335.ENDS
336*$
337*
338.SUBCKT GND_FLOAT_INA303A2 VDD VSS GNDF
339EGNDF GNDF 0 VALUE = {(V(VDD)+V(VSS))*0.5}
340.ENDS
341*$
342*
343.SUBCKT COMPARATOR_INA303A2 OUT INP INN VCC VEE
344emid nmid 0 VALUE = {(V(VCC) + V(VEE))/2}
345eout out nmid VALUE = {IF(V(INP) >= V(INN),V(VCC,nmid),V(VEE,nmid))}
346.ENDS
347*$
348*
349.SUBCKT CONTROL_INA303A2 A B C OUT VCC VEE
350EGNDF GNDF 0 VALUE = {0.5*(V(VCC) + V(VEE))}
351EA NA GNDF VALUE = {0.5*(1 + SGN(V(A,GNDF)))}
352EB NB GNDF VALUE = {0.5*(1 + SGN(V(B,GNDF)))}
353EC NC GNDF VALUE = {0.5*(1 - SGN(V(C,GNDF)))}
354EABnotC NABnotC GNDF VALUE = {V(NA,GNDF)*V(NB,GNDF)*V(NC,GNDF)}
355EOUT OUT VEE VALUE = {V(VCC,VEE)*V(NABnotC,GNDF) + V(VEE,VEE)*(1 - V(NABnotC,GNDF))}
356.ENDS
357*$
358*
359.SUBCKT LIMIT_I_INA303A2 IN OUT VC1 VC2 VCC VEE
360.PARAM m = -180u
361.PARAM b = 80u
362GOUT IN OUT VALUE = {IF(V(VC1,VC2) >= 0.1,80u,0)}
363.ENDS
364*$
365*
Note: See TracBrowser for help on using the repository browser.