forked from labtroll/KiCad-Simulations
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLM3886_orig.lib
413 lines (357 loc) · 11.3 KB
/
LM3886_orig.lib
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
* LM3886
*****************************************************************************
* (C) Copyright 2012 Texas Instruments Incorporated. All rights reserved.
*****************************************************************************
** This model is designed as an aid for customers of Texas Instruments.
** TI and its licensors and suppliers make no warranties, either expressed
** or implied, with respect to this model, including the warranties of
** merchantability or fitness for a particular purpose. The model is
** provided solely on an "as is" basis. The entire risk as to its quality
** and performance is with the customer.
*****************************************************************************
*
** Released by: WEBENCH(R) Design Center, Texas Instruments Inc.
* Part: LM3886
* Date: 7/5/2012
* Model Type: All In One
* Simulator: TINA-TI
* Simulator Version: 9.1.30.94 SF-TI
* EVM Order Number: N/A
* EVM Users Guide: N/A
* Datasheet:
*
* Model Version: 1.1
*
*****************************************************************************
*
* Updates:
*
* Version 1.0 : Release to Web
*
*****************************************************************************
* Notes:* The following parameters are being modeled:
* Open Loop Gain, Closed Loop Gain, GBWP, Slew Rate, Offset
* Voltage,Ibias, Quisent current, Output Swing, Short Circuit
* Current, PSRR+ ,CMRR, Icc trans current and Mute current.
*****************************************************************************
.SUBCKT lm3886 Vip Vin VDD VSS Vout MUTE
IS2 VDD 19 200N
IS3 18 VSS -210N
Vos 19 20 1M
XU7 VDD VSS Vimon PD ILOAD_PD_0
XU2 12 10 11 GNDF PD GBW_SLEW_SE_0
+ PARAMS: AOL=115 GBW=8MEG SRP=19.1MEG SRN=19.1MEG IT=1M VON=0.5 ROFF=1M
XU3 14 13 PD OUT_CURRENT_CLAMP_PD_0
+ PARAMS: RON=0.1 ROFF=100MEG VON=0.5 IMAX=11.5 IMIN=-11.5
XU5 MUTE PD VDD VSS IV110_0
XU4 VDD GNDF 15 16 GNDF PSRR_0
+ PARAMS: PSRR=120 FPSRR=8K
XU_TF 11 17 GNDF TF_0
+ PARAMS: FZ1=10G FZ2=10G FZ3=10G FZ4=10G FZ5=10G FP1=10E6 FP2=10G FP3=10G
+ FP4=10G
XU1 VDD VSS PD IQ_IOFF_0
+ PARAMS: VON=0.5 IQQ=50M IOFF=0.5M
XD4 VSS 18 IDEAL_DIODE_0
+ PARAMS: EMCO=0.01 BRKV=60 IBRKV=1M
XD3 18 VDD IDEAL_DIODE_0
+ PARAMS: EMCO=0.01 BRKV=60 IBRKV=1M
XD2 VSS 19 IDEAL_DIODE_0
+ PARAMS: EMCO=0.01 BRKV=60 IBRKV=1M
XD1 19 VDD IDEAL_DIODE_0
+ PARAMS: EMCO=0.01 BRKV=60 IBRKV=1M
XU_GND VDD VSS GNDF GND_FLOAT_0
XU6 13 Vout Vimon AMETER_0
+ PARAMS: GAIN=1
XU_CLAW VDD VSS 17 14 Vimon GNDF VCLAMP_W_SENSE_0
+ PARAMS: VMAXIO=1.6 VMINIO=2.5 SLOPE=0
XU2_VCLAMP VDD VSS 18 10 GNDF VCLAMP_0
+ PARAMS: VMAX=0.1 VMIN=0.1
XU1_VCLAMP VDD VSS 19 12 GNDF VCLAMP_0
+ PARAMS: VMAX=0.1 VMIN=0.1
XU_CMRR 16 18 GNDF CMRR_0
+ PARAMS: CMRR=110 FCMRR=20
XU_PSRR VSS GNDF 21 15 GNDF PSRR_0
+ PARAMS: PSRR=105 FPSRR=40
XU_INOISE 20 21 FEMT_0
+ PARAMS: NLFF=0.1 FLWF=0.001 NVRF=0.1
XU_VNOISE 22 20 VNSE_0
+ PARAMS: NLF=10 FLW=4 NVR=2000
XUINPUT Vip Vin 22 21 GNDF INPUT_0
+ PARAMS: RCM=1 CCM=1000F CDM=100F
.ENDS
.SUBCKT ILOAD_PD_0 VDD VSS VIMON PD
+ PARAMS: VON = 0.5
G1 VDD 0 VALUE = {IF(V(VIMON) >= 0 & V(PD) < VON,V(VIMON),0)}
G2 0 VSS VALUE = {IF(V(VIMON) < 0 & V(PD) < VON,V(VIMON),0)}
.ENDS
**************************************
** **
** **
** **
** **
**************************************
.SUBCKT GBW_SLEW_SE_0 VIP VIM VO GNDF PD
+ PARAMS: AOL = 100 GBW = 1MEG SRP = 1MEG SRN = 1MEG IT = 1M
+ VON = 0.5 ROFF = 1M
.PARAM PI = 3.141592
.PARAM IP = {IF(SRP <= SRN,IT,IT*(SRP/SRN))}
.PARAM IN = {IF(SRN <= SRP,-IT,-IT*(SRN/SRP))}
.PARAM CC = {IF(SRP <= SRN,IT/SRP,IT/SRN)}
.PARAM FP = {GBW/PWR(10,AOL/20)}
.PARAM RC = {1/(2*PI*CC*FP)}
.PARAM GC = {PWR(10,AOL/20)/RC}
G1 GNDF VO VALUE = {IF(V(PD) >= VON,LIMIT(GC*V(VIP,VIM),IP,IN),0)}
C1 VO GNDF {CC}
GR1 VO GNDF VALUE = {IF(V(PD) >= VON,V(VO,GNDF)/RC,V(VO,GNDF)/ROFF)}
.ENDS
**************************************
** **
** **
** **
** **
**************************************
.SUBCKT OUT_CURRENT_CLAMP_PD_0 IN OUT PD
+PARAMS: RON = 1 ROFF = 1G VON = 0.5 IMAX = 10M IMIN = -10M
GRES IN OUT VALUE = {LIMIT(IF(V(PD) >= VON,1,0)*V(IN,OUT)/RON
+ + IF(V(PD) >= VON,0,1)*V(IN,OUT)/ROFF,IMAX,IMIN)}
.ENDS
**** INVERTER *********************************************************************************************
*$
.SUBCKT IV110_0 A Y DVDD DVSS PARAMS: RDRV=10K RDLY=10K CDLY=0.1PF DIV=2
RA A DVSS 1E11
CA A DVSS 0.01PF
EINV YI 0 VALUE={IF(V(A,DVSS) > (V(DVDD,DVSS)/{DIV}), V(DVSS), V(DVDD))}
RD YI YP {RDLY}
CD YP DVSS {CDLY}
EOUT YPP DVSS YP DVSS 1
RDR YPP Y {RDRV}
RO Y DVSS 1E11
.ENDS IV110_0
*$
**************************************
** **
** **
** **
** **
**************************************
.SUBCKT PSRR_0 VDD VSS VI VO GNDF PARAMS: PSRR = 130 FPSRR = 1.6
.PARAM PI = 3.141592
.PARAM RPSRR = 1
.PARAM GPSRR = {PWR(10,-PSRR/20)/RPSRR}
.PARAM LPSRR = {RPSRR/(2*PI*FPSRR)}
G1 GNDF 1 VDD VSS {GPSRR}
R1 1 2 {RPSRR}
L1 2 GNDF {LPSRR} IC = 0
E1 VO VI 1 GNDF 1
C2 VDD VSS 10P IC = 0
.ENDS
.SUBCKT TF_0 VI VO GNDF
+ PARAMS: FZ1 = 10G FZ2 = 10G FZ3 = 10G FZ4 = 10G FZ5 = 10G
+ FP1 = 1 FP2 = 10G FP3 = 10G FP4 = 10G
.PARAM GM = 1M
.PARAM RO = {1/GM}
.PARAM PI = 3.141592
GP1 GNDF VP1 VI GNDF {GM}
GRP1 VP1 GNDF VALUE = {V(VP1,GNDF)/RO}
CP1 VP1 GNDF {1/(2*PI*RO*FP1)}
GP2 GNDF VP2 VP1 GNDF {GM}
GRP2 VP2 GNDF VALUE = {V(VP2,GNDF)/RO}
CP2 VP2 GNDF {1/(2*PI*RO*FP2)}
GP3 GNDF VP3 VP2 GNDF {GM}
GRP3 VP3 GNDF VALUE = {V(VP3,GNDF)/RO}
CP3 VP3 GNDF {1/(2*PI*RO*FP3)}
GP4 GNDF VP4 VP3 GNDF {GM}
GRP4 VP4 GNDF VALUE = {V(VP4,GNDF)/RO}
CP4 VP4 GNDF {1/(2*PI*RO*FP4)}
GZ1 GNDF VZ1 VP4 GNDF {GM}
GRZ1 VZ1 VX1 VALUE = {V(VZ1,VX1)/RO}
LZ1 VX1 GNDF {RO/(2*PI*FZ1)}
GZ2 GNDF VZ2 VZ1 GNDF {GM}
GRZ2 VZ2 VX2 VALUE = {V(VZ2,VX2)/RO}
LZ2 VX2 GNDF {RO/(2*PI*FZ2)}
GZ3 GNDF VZ3 VZ2 GNDF {GM}
GRZ3 VZ3 VX3 VALUE = {V(VZ3,VX3)/RO}
LZ3 VX3 GNDF {RO/(2*PI*FZ3)}
GZ4 GNDF VZ4 VZ3 GNDF {GM}
GRZ4 VZ4 VX4 VALUE = {V(VZ4,VX4)/RO}
LZ4 VX4 GNDF {RO/(2*PI*FZ4)}
GZ5 GNDF VO VZ4 GNDF {GM}
GRZ5 VO VX5 VALUE = {V(VO,VX5)/RO}
LZ5 VX5 GNDF {RO/(2*PI*FZ5)}
.ENDS
**************************************
** **
** **
** **
** **
**************************************
.SUBCKT IQ_IOFF_0 VDD VSS PD
+ PARAMS: VON = 0.5 IQQ = 1M IOFF = 1P
G1 VDD VSS VALUE = {IF(V(PD) >= VON,IQQ,IOFF)}
.ENDS
**************************************
** **
** **
** **
** **
**************************************
.SUBCKT IDEAL_DIODE_0 A C
+PARAMS: EMCO = 0.01 BRKV = 60 IBRKV = 1M)
D1 A C IDIODE
.MODEL IDIODE D(N = {EMCO} BV = {BRKV} IBV = {IBRKV})
.ENDS
**************************************
** **
** **
** **
** **
**************************************
.SUBCKT GND_FLOAT_0 VDD VSS GNDF
EGNDF GNDF 0 VALUE = {(V(VDD)+V(VSS))*0.5}
.ENDS
**************************************
** **
** **
** **
** **
**************************************
.SUBCKT AMETER_0 VI VO VIMON
+ PARAMS: GAIN = 1
VSENSE VI VO DC = 0
EMETER VIMON 0 VALUE = {I(VSENSE)*GAIN}
.ENDS
**************************************
** **
** **
** **
** **
**************************************
.SUBCKT VCLAMP_W_SENSE_0 VDD VSS VI VO VIMON GNDF
+ PARAMS: VMAXIO = 0.1 VMINIO = 0.1 SLOPE = 20
EPCLIP VDD_CLP 0 VALUE = {V(VDD,GNDF) - SLOPE*V(VIMON) - VMAXIO}
ENCLIP VSS_CLP 0 VALUE = {V(VSS,GNDF) - SLOPE*V(VIMON) + VMINIO}
*EPCLIP VDD_CLP 0 VALUE = {V(VDD,GNDF) - VMAXIO}
*ENCLIP VSS_CLP 0 VALUE = {V(VSS,GNDF) + VMINIO}
ECLAMP VO GNDF VALUE = {LIMIT(V(VI,GNDF), V(VDD_CLP), V(VSS_CLP))}
.ENDS
**************************************
** **
** **
** **
** **
**************************************
.SUBCKT VCLAMP_0 VDD VSS VI VO GNDF PARAMS: VMAX = 0.1 VMIN = 0.1
ECLAMP VO GNDF VALUE = {LIMIT(V(VI,GNDF),V(VDD,GNDF) - VMAX, V(VSS,GNDF) + VMIN)}
.ENDS
**************************************
** **
** **
** **
** **
**************************************
.SUBCKT CMRR_0 VI VO GNDF PARAMS: CMRR = 130 FCMRR = 1.6K
.PARAM PI = 3.141592
.PARAM RCMRR = 1
.PARAM GCMRR = {PWR(10,-CMRR/20)/RCMRR}
.PARAM LCMRR = {RCMRR/(2*PI*FCMRR)}
G1 GNDF 1 VI GNDF {GCMRR}
R1 1 2 {RCMRR}
L1 2 GNDF {LCMRR} IC = 0
E1 VI VO 1 GNDF 1
.ENDS
* BEGIN PROG NSE FEMTO AMP/RT-HZ
.SUBCKT FEMT_0 1 2 PARAMS: NLFF = 0.1 FLWF = 0.001 NVRF = 0.1
* BEGIN SETUP OF NOISE GEN - FEMPTOAMPS/RT-HZ
* INPUT THREE VARIABLES
* SET UP INSE 1/F
********************
* FA/RHZ AT 1/F FREQ
* NLFF
********************
* FREQ FOR 1/F VAL
* FLWF
********************
* SET UP INSE FB
* FA/RHZ FLATBAND
* NVRF
********************
* END USER INPUT
* START CALC VALS
.PARAM GLFF={PWR(FLWF,0.25)*NLFF/1164}
.PARAM RNVF={1.184*PWR(NVRF,2)}
.MODEL DVNF D KF={PWR(FLWF,0.5)/1E11} IS=1.0E-16
* END CALC VALS
I1 0 7 10E-3
I2 0 8 10E-3
D1 7 0 DVNF
D2 8 0 DVNF
E1 3 6 7 8 {GLFF}
R1 3 0 1E9
R2 3 0 1E9
R3 3 6 1E9
E2 6 4 5 0 10
R4 5 0 {RNVF}
R5 5 0 {RNVF}
R6 3 4 1E9
R7 4 0 1E9
G1 1 2 3 4 1E-6
C1 1 0 1E-15
C2 2 0 1E-15
C3 1 2 1E-15
.ENDS
* END PROG NSE FEMTO AMP/RT-HZ
* BEGIN PROG NSE NANO VOLT/RT-HZ
.SUBCKT VNSE_0 1 2 PARAMS: NLF = 10 FLW = 4 NVR = 4.6
* BEGIN SETUP OF NOISE GEN - NANOVOLT/RT-HZ
* INPUT THREE VARIABLES
* SET UP VNSE 1/F
********************
* NV/RHZ AT 1/F FREQ
* NLF
********************
* FREQ FOR 1/F VAL
* FLW
********************
* SET UP VNSE FB
* NV/RHZ FLATBAND
* NVR
********************
* END USER INPUT
* START CALC VALS
.PARAM GLF={PWR(FLW,0.25)*NLF/1164}
.PARAM RNV={1.184*PWR(NVR,2)}
.MODEL DVN D KF={PWR(FLW,0.5)/1E11} IS=1.0E-16
* END CALC VALS
I1 0 7 10E-3
I2 0 8 10E-3
D1 7 0 DVN
D2 8 0 DVN
E1 3 6 7 8 {GLF}
R1 3 0 1E9
R2 3 0 1E9
R3 3 6 1E9
E2 6 4 5 0 10
R4 5 0 {RNV}
R5 5 0 {RNV}
R6 3 4 1E9
R7 4 0 1E9
E3 1 2 3 4 1
C1 1 0 1E-15
C2 2 0 1E-15
C3 1 2 1E-15
.ENDS
* END PROG NSE NANOV/RT-HZ
**************************************
** **
** **
** **
** **
**************************************
.SUBCKT INPUT_0 VIP VIN VOP VON GNDF PARAMS: RCM = 1 CCM = 100F CDM = 100F
C1 VOP GNDF {CCM}
C2 VON GNDF {CCM}
C3 VOP VON {CDM}
G1 VIP VOP VALUE = {V(VIP,VOP)/RCM}
G2 VIN VON VALUE = {V(VIN,VON)/RCM}
.ENDS
.END