1 /**********
2 Copyright 2001 Regents of the University of California.  All rights reserved.
3 Author: 1995 Min-Chie Jeng and Mansun Chan.
4 Author: 1997-1999 Weidong Liu.
5 Author: 2001 Xuemei Xi
6 Modified by Paolo Nenzi 2002 and Dietmar Warning 2003
7 File: bsim3v32def.h
8 **********/
9 
10 #ifndef BSIM3v32
11 #define BSIM3v32
12 
13 #include "ngspice/ifsim.h"
14 #include "ngspice/gendefs.h"
15 #include "ngspice/cktdefs.h"
16 #include "ngspice/complex.h"
17 #include "ngspice/noisedef.h"
18 
19 typedef struct sBSIM3v32instance
20 {
21 
22     struct GENinstance gen;
23 
24 #define BSIM3v32modPtr(inst) ((struct sBSIM3v32model *)((inst)->gen.GENmodPtr))
25 #define BSIM3v32nextInstance(inst) ((struct sBSIM3v32instance *)((inst)->gen.GENnextInstance))
26 #define BSIM3v32name gen.GENname
27 #define BSIM3v32states gen.GENstate
28 
29     const int BSIM3v32dNode;
30     const int BSIM3v32gNode;
31     const int BSIM3v32sNode;
32     const int BSIM3v32bNode;
33     int BSIM3v32dNodePrime;
34     int BSIM3v32sNodePrime;
35     int BSIM3v32qNode; /* MCJ */
36 
37     /* MCJ */
38     double BSIM3v32ueff;
39     double BSIM3v32thetavth;
40     double BSIM3v32von;
41     double BSIM3v32vdsat;
42     double BSIM3v32cgdo;
43     double BSIM3v32cgso;
44     double BSIM3v32vjsm;
45     double BSIM3v32IsEvjsm;
46     double BSIM3v32vjdm;
47     double BSIM3v32IsEvjdm;
48 
49     double BSIM3v32l;
50     double BSIM3v32w;
51     double BSIM3v32m;
52     double BSIM3v32drainArea;
53     double BSIM3v32sourceArea;
54     double BSIM3v32drainSquares;
55     double BSIM3v32sourceSquares;
56     double BSIM3v32drainPerimeter;
57     double BSIM3v32sourcePerimeter;
58     double BSIM3v32sourceConductance;
59     double BSIM3v32drainConductance;
60     double BSIM3v32delvto;
61     double BSIM3v32mulu0;
62     double BSIM3v32vth0;
63     double BSIM3v32vfb;
64     double BSIM3v32vfbzb;
65     double BSIM3v32u0temp;
66     double BSIM3v32tconst;
67 
68     double BSIM3v32icVBS;
69     double BSIM3v32icVDS;
70     double BSIM3v32icVGS;
71     int BSIM3v32off;
72     int BSIM3v32mode;
73     int BSIM3v32nqsMod;
74     int BSIM3v32geo;
75 
76     /* OP point */
77     double BSIM3v32qinv;
78     double BSIM3v32cd;
79     double BSIM3v32cbs;
80     double BSIM3v32cbd;
81     double BSIM3v32csub;
82     double BSIM3v32gm;
83     double BSIM3v32gds;
84     double BSIM3v32gmbs;
85     double BSIM3v32gbd;
86     double BSIM3v32gbs;
87 
88     double BSIM3v32gbbs;
89     double BSIM3v32gbgs;
90     double BSIM3v32gbds;
91 
92     double BSIM3v32cggb;
93     double BSIM3v32cgdb;
94     double BSIM3v32cgsb;
95     double BSIM3v32cbgb;
96     double BSIM3v32cbdb;
97     double BSIM3v32cbsb;
98     double BSIM3v32cdgb;
99     double BSIM3v32cddb;
100     double BSIM3v32cdsb;
101     double BSIM3v32capbd;
102     double BSIM3v32capbs;
103 
104     double BSIM3v32cqgb;
105     double BSIM3v32cqdb;
106     double BSIM3v32cqsb;
107     double BSIM3v32cqbb;
108 
109     double BSIM3v32qgate;
110     double BSIM3v32qbulk;
111     double BSIM3v32qdrn;
112 
113     double BSIM3v32gtau;
114     double BSIM3v32gtg;
115     double BSIM3v32gtd;
116     double BSIM3v32gts;
117     double BSIM3v32gtb;
118     double BSIM3v32rds;  /* Noise bugfix */
119     double BSIM3v32Vgsteff;
120     double BSIM3v32Vdseff;
121     double BSIM3v32Abulk;
122     double BSIM3v32AbovVgst2Vtm;
123 
124     struct bsim3v32SizeDependParam  *pParam;
125 
126     unsigned BSIM3v32lGiven :1;
127     unsigned BSIM3v32wGiven :1;
128     unsigned BSIM3v32mGiven :1;
129     unsigned BSIM3v32drainAreaGiven :1;
130     unsigned BSIM3v32sourceAreaGiven    :1;
131     unsigned BSIM3v32drainSquaresGiven  :1;
132     unsigned BSIM3v32sourceSquaresGiven :1;
133     unsigned BSIM3v32drainPerimeterGiven    :1;
134     unsigned BSIM3v32sourcePerimeterGiven   :1;
135     unsigned BSIM3v32delvtoGiven   :1;
136     unsigned BSIM3v32mulu0Given   :1;
137     unsigned BSIM3v32dNodePrimeSet  :1;
138     unsigned BSIM3v32sNodePrimeSet  :1;
139     unsigned BSIM3v32icVBSGiven :1;
140     unsigned BSIM3v32icVDSGiven :1;
141     unsigned BSIM3v32icVGSGiven :1;
142     unsigned BSIM3v32nqsModGiven :1;
143     unsigned BSIM3v32geoGiven :1;
144 
145     double *BSIM3v32DdPtr;
146     double *BSIM3v32GgPtr;
147     double *BSIM3v32SsPtr;
148     double *BSIM3v32BbPtr;
149     double *BSIM3v32DPdpPtr;
150     double *BSIM3v32SPspPtr;
151     double *BSIM3v32DdpPtr;
152     double *BSIM3v32GbPtr;
153     double *BSIM3v32GdpPtr;
154     double *BSIM3v32GspPtr;
155     double *BSIM3v32SspPtr;
156     double *BSIM3v32BdpPtr;
157     double *BSIM3v32BspPtr;
158     double *BSIM3v32DPspPtr;
159     double *BSIM3v32DPdPtr;
160     double *BSIM3v32BgPtr;
161     double *BSIM3v32DPgPtr;
162     double *BSIM3v32SPgPtr;
163     double *BSIM3v32SPsPtr;
164     double *BSIM3v32DPbPtr;
165     double *BSIM3v32SPbPtr;
166     double *BSIM3v32SPdpPtr;
167 
168     double *BSIM3v32QqPtr;
169     double *BSIM3v32QdpPtr;
170     double *BSIM3v32QgPtr;
171     double *BSIM3v32QspPtr;
172     double *BSIM3v32QbPtr;
173     double *BSIM3v32DPqPtr;
174     double *BSIM3v32GqPtr;
175     double *BSIM3v32SPqPtr;
176     double *BSIM3v32BqPtr;
177 
178 #ifdef USE_OMP
179     /* per instance storage of results, to update matrix at a later stge */
180     double BSIM3v32rhsG;
181     double BSIM3v32rhsB;
182     double BSIM3v32rhsD;
183     double BSIM3v32rhsS;
184     double BSIM3v32rhsQ;
185 
186     double BSIM3v32DdPt;
187     double BSIM3v32GgPt;
188     double BSIM3v32SsPt;
189     double BSIM3v32BbPt;
190     double BSIM3v32DPdpPt;
191     double BSIM3v32SPspPt;
192     double BSIM3v32DdpPt;
193     double BSIM3v32GbPt;
194     double BSIM3v32GdpPt;
195     double BSIM3v32GspPt;
196     double BSIM3v32SspPt;
197     double BSIM3v32BdpPt;
198     double BSIM3v32BspPt;
199     double BSIM3v32DPspPt;
200     double BSIM3v32DPdPt;
201     double BSIM3v32BgPt;
202     double BSIM3v32DPgPt;
203     double BSIM3v32SPgPt;
204     double BSIM3v32SPsPt;
205     double BSIM3v32DPbPt;
206     double BSIM3v32SPbPt;
207     double BSIM3v32SPdpPt;
208 
209     double BSIM3v32QqPt;
210     double BSIM3v32QdpPt;
211     double BSIM3v32QgPt;
212     double BSIM3v32QspPt;
213     double BSIM3v32QbPt;
214     double BSIM3v32DPqPt;
215     double BSIM3v32GqPt;
216     double BSIM3v32SPqPt;
217     double BSIM3v32BqPt;
218 #endif
219 
220 #define BSIM3v32vbd BSIM3v32states+ 0
221 #define BSIM3v32vbs BSIM3v32states+ 1
222 #define BSIM3v32vgs BSIM3v32states+ 2
223 #define BSIM3v32vds BSIM3v32states+ 3
224 
225 #define BSIM3v32qb BSIM3v32states+ 4
226 #define BSIM3v32cqb BSIM3v32states+ 5
227 #define BSIM3v32qg BSIM3v32states+ 6
228 #define BSIM3v32cqg BSIM3v32states+ 7
229 #define BSIM3v32qd BSIM3v32states+ 8
230 #define BSIM3v32cqd BSIM3v32states+ 9
231 
232 #define BSIM3v32qbs  BSIM3v32states+ 10
233 #define BSIM3v32qbd  BSIM3v32states+ 11
234 
235 #define BSIM3v32qcheq BSIM3v32states+ 12
236 #define BSIM3v32cqcheq BSIM3v32states+ 13
237 #define BSIM3v32qcdump BSIM3v32states+ 14
238 #define BSIM3v32cqcdump BSIM3v32states+ 15
239 
240 #define BSIM3v32qdef BSIM3v32states+ 16
241 
242 #define BSIM3v32numStates 17
243 
244 
245 /* indices to the array of BSIM3v32 NOISE SOURCES */
246 
247 #define BSIM3v32RDNOIZ       0
248 #define BSIM3v32RSNOIZ       1
249 #define BSIM3v32IDNOIZ       2
250 #define BSIM3v32FLNOIZ       3
251 #define BSIM3v32TOTNOIZ      4
252 
253 #define BSIM3v32NSRCS        5  /* the number of BSIM3v32 MOSFET noise sources */
254 
255 #ifndef NONOISE
256     double BSIM3v32nVar[NSTATVARS][BSIM3v32NSRCS];
257 #else /* NONOISE */
258         double **BSIM3v32nVar;
259 #endif /* NONOISE */
260 
261 } BSIM3v32instance ;
262 
263 struct bsim3v32SizeDependParam
264 {
265     double Width;
266     double Length;
267 
268     double BSIM3v32cdsc;
269     double BSIM3v32cdscb;
270     double BSIM3v32cdscd;
271     double BSIM3v32cit;
272     double BSIM3v32nfactor;
273     double BSIM3v32xj;
274     double BSIM3v32vsat;
275     double BSIM3v32at;
276     double BSIM3v32a0;
277     double BSIM3v32ags;
278     double BSIM3v32a1;
279     double BSIM3v32a2;
280     double BSIM3v32keta;
281     double BSIM3v32nsub;
282     double BSIM3v32npeak;
283     double BSIM3v32ngate;
284     double BSIM3v32gamma1;
285     double BSIM3v32gamma2;
286     double BSIM3v32vbx;
287     double BSIM3v32vbi;
288     double BSIM3v32vbm;
289     double BSIM3v32vbsc;
290     double BSIM3v32xt;
291     double BSIM3v32phi;
292     double BSIM3v32litl;
293     double BSIM3v32k1;
294     double BSIM3v32kt1;
295     double BSIM3v32kt1l;
296     double BSIM3v32kt2;
297     double BSIM3v32k2;
298     double BSIM3v32k3;
299     double BSIM3v32k3b;
300     double BSIM3v32w0;
301     double BSIM3v32nlx;
302     double BSIM3v32dvt0;
303     double BSIM3v32dvt1;
304     double BSIM3v32dvt2;
305     double BSIM3v32dvt0w;
306     double BSIM3v32dvt1w;
307     double BSIM3v32dvt2w;
308     double BSIM3v32drout;
309     double BSIM3v32dsub;
310     double BSIM3v32vth0;
311     double BSIM3v32ua;
312     double BSIM3v32ua1;
313     double BSIM3v32ub;
314     double BSIM3v32ub1;
315     double BSIM3v32uc;
316     double BSIM3v32uc1;
317     double BSIM3v32u0;
318     double BSIM3v32ute;
319     double BSIM3v32voff;
320     double BSIM3v32vfb;
321     double BSIM3v32delta;
322     double BSIM3v32rdsw;
323     double BSIM3v32rds0;
324     double BSIM3v32prwg;
325     double BSIM3v32prwb;
326     double BSIM3v32prt;
327     double BSIM3v32eta0;
328     double BSIM3v32etab;
329     double BSIM3v32pclm;
330     double BSIM3v32pdibl1;
331     double BSIM3v32pdibl2;
332     double BSIM3v32pdiblb;
333     double BSIM3v32pscbe1;
334     double BSIM3v32pscbe2;
335     double BSIM3v32pvag;
336     double BSIM3v32wr;
337     double BSIM3v32dwg;
338     double BSIM3v32dwb;
339     double BSIM3v32b0;
340     double BSIM3v32b1;
341     double BSIM3v32alpha0;
342     double BSIM3v32alpha1;
343     double BSIM3v32beta0;
344 
345 
346     /* CV model */
347     double BSIM3v32elm;
348     double BSIM3v32cgsl;
349     double BSIM3v32cgdl;
350     double BSIM3v32ckappa;
351     double BSIM3v32cf;
352     double BSIM3v32clc;
353     double BSIM3v32cle;
354     double BSIM3v32vfbcv;
355     double BSIM3v32noff;
356     double BSIM3v32voffcv;
357     double BSIM3v32acde;
358     double BSIM3v32moin;
359 
360 
361 /* Pre-calculated constants */
362 
363     double BSIM3v32dw;
364     double BSIM3v32dl;
365     double BSIM3v32leff;
366     double BSIM3v32weff;
367 
368     double BSIM3v32dwc;
369     double BSIM3v32dlc;
370     double BSIM3v32leffCV;
371     double BSIM3v32weffCV;
372     double BSIM3v32abulkCVfactor;
373     double BSIM3v32cgso;
374     double BSIM3v32cgdo;
375     double BSIM3v32cgbo;
376     double BSIM3v32tconst;
377 
378     double BSIM3v32u0temp;
379     double BSIM3v32vsattemp;
380     double BSIM3v32sqrtPhi;
381     double BSIM3v32phis3;
382     double BSIM3v32Xdep0;
383     double BSIM3v32sqrtXdep0;
384     double BSIM3v32theta0vb0;
385     double BSIM3v32thetaRout;
386 
387     double BSIM3v32cof1;
388     double BSIM3v32cof2;
389     double BSIM3v32cof3;
390     double BSIM3v32cof4;
391     double BSIM3v32cdep0;
392     double BSIM3v32vfbzb;
393     double BSIM3v32ldeb;
394     double BSIM3v32k1ox;
395     double BSIM3v32k2ox;
396 
397     struct bsim3v32SizeDependParam  *pNext;
398 };
399 
400 
401 typedef struct sBSIM3v32model
402 {
403 
404     struct GENmodel gen;
405 
406 #define BSIM3v32modType gen.GENmodType
407 #define BSIM3v32nextModel(inst) ((struct sBSIM3v32model *)((inst)->gen.GENnextModel))
408 #define BSIM3v32instances(inst) ((BSIM3v32instance *)((inst)->gen.GENinstances))
409 #define BSIM3v32modName gen.GENmodName
410 
411     int BSIM3v32type;
412 
413     int    BSIM3v32mobMod;
414     int    BSIM3v32capMod;
415     int    BSIM3v32acmMod;
416     int    BSIM3v32calcacm;
417     int    BSIM3v32noiMod;
418     int    BSIM3v32nqsMod;
419     int    BSIM3v32binUnit;
420     int    BSIM3v32paramChk;
421     char   *BSIM3v32version;
422     /* The following field is an integer coding
423      * of BSIM3v32version.
424      */
425     int    BSIM3v32intVersion;
426 #define BSIM3v32V324  324       /* BSIM3v32 V3.2.4 */
427 #define BSIM3v32V323  323       /* BSIM3v32 V3.2.3 */
428 #define BSIM3v32V322  322       /* BSIM3v32 V3.2.2 */
429 #define BSIM3v32V32   32        /* BSIM3v32 V3.2   */
430 #define BSIM3v32V3OLD 0         /* Old model    */
431     double BSIM3v32tox;
432     double BSIM3v32toxm;
433     double BSIM3v32cdsc;
434     double BSIM3v32cdscb;
435     double BSIM3v32cdscd;
436     double BSIM3v32cit;
437     double BSIM3v32nfactor;
438     double BSIM3v32xj;
439     double BSIM3v32vsat;
440     double BSIM3v32at;
441     double BSIM3v32a0;
442     double BSIM3v32ags;
443     double BSIM3v32a1;
444     double BSIM3v32a2;
445     double BSIM3v32keta;
446     double BSIM3v32nsub;
447     double BSIM3v32npeak;
448     double BSIM3v32ngate;
449     double BSIM3v32gamma1;
450     double BSIM3v32gamma2;
451     double BSIM3v32vbx;
452     double BSIM3v32vbm;
453     double BSIM3v32xt;
454     double BSIM3v32k1;
455     double BSIM3v32kt1;
456     double BSIM3v32kt1l;
457     double BSIM3v32kt2;
458     double BSIM3v32k2;
459     double BSIM3v32k3;
460     double BSIM3v32k3b;
461     double BSIM3v32w0;
462     double BSIM3v32nlx;
463     double BSIM3v32dvt0;
464     double BSIM3v32dvt1;
465     double BSIM3v32dvt2;
466     double BSIM3v32dvt0w;
467     double BSIM3v32dvt1w;
468     double BSIM3v32dvt2w;
469     double BSIM3v32drout;
470     double BSIM3v32dsub;
471     double BSIM3v32vth0;
472     double BSIM3v32ua;
473     double BSIM3v32ua1;
474     double BSIM3v32ub;
475     double BSIM3v32ub1;
476     double BSIM3v32uc;
477     double BSIM3v32uc1;
478     double BSIM3v32u0;
479     double BSIM3v32ute;
480     double BSIM3v32voff;
481     double BSIM3v32delta;
482     double BSIM3v32rdsw;
483     double BSIM3v32prwg;
484     double BSIM3v32prwb;
485     double BSIM3v32prt;
486     double BSIM3v32eta0;
487     double BSIM3v32etab;
488     double BSIM3v32pclm;
489     double BSIM3v32pdibl1;
490     double BSIM3v32pdibl2;
491     double BSIM3v32pdiblb;
492     double BSIM3v32pscbe1;
493     double BSIM3v32pscbe2;
494     double BSIM3v32pvag;
495     double BSIM3v32wr;
496     double BSIM3v32dwg;
497     double BSIM3v32dwb;
498     double BSIM3v32b0;
499     double BSIM3v32b1;
500     double BSIM3v32alpha0;
501     double BSIM3v32alpha1;
502     double BSIM3v32beta0;
503     double BSIM3v32ijth;
504     double BSIM3v32vfb;
505 
506     /* CV model */
507     double BSIM3v32elm;
508     double BSIM3v32cgsl;
509     double BSIM3v32cgdl;
510     double BSIM3v32ckappa;
511     double BSIM3v32cf;
512     double BSIM3v32vfbcv;
513     double BSIM3v32clc;
514     double BSIM3v32cle;
515     double BSIM3v32dwc;
516     double BSIM3v32dlc;
517     double BSIM3v32noff;
518     double BSIM3v32voffcv;
519     double BSIM3v32acde;
520     double BSIM3v32moin;
521     double BSIM3v32tcj;
522     double BSIM3v32tcjsw;
523     double BSIM3v32tcjswg;
524     double BSIM3v32tpb;
525     double BSIM3v32tpbsw;
526     double BSIM3v32tpbswg;
527 
528     /* ACM model */
529     double BSIM3v32xl;
530     double BSIM3v32xw;
531     double BSIM3v32hdif;
532     double BSIM3v32ldif;
533     double BSIM3v32ld;
534     double BSIM3v32rd;
535     double BSIM3v32rs;
536     double BSIM3v32rdc;
537     double BSIM3v32rsc;
538     double BSIM3v32wmlt;
539 
540     double BSIM3v32lmlt;
541 
542     /* Length Dependence */
543     double BSIM3v32lcdsc;
544     double BSIM3v32lcdscb;
545     double BSIM3v32lcdscd;
546     double BSIM3v32lcit;
547     double BSIM3v32lnfactor;
548     double BSIM3v32lxj;
549     double BSIM3v32lvsat;
550     double BSIM3v32lat;
551     double BSIM3v32la0;
552     double BSIM3v32lags;
553     double BSIM3v32la1;
554     double BSIM3v32la2;
555     double BSIM3v32lketa;
556     double BSIM3v32lnsub;
557     double BSIM3v32lnpeak;
558     double BSIM3v32lngate;
559     double BSIM3v32lgamma1;
560     double BSIM3v32lgamma2;
561     double BSIM3v32lvbx;
562     double BSIM3v32lvbm;
563     double BSIM3v32lxt;
564     double BSIM3v32lk1;
565     double BSIM3v32lkt1;
566     double BSIM3v32lkt1l;
567     double BSIM3v32lkt2;
568     double BSIM3v32lk2;
569     double BSIM3v32lk3;
570     double BSIM3v32lk3b;
571     double BSIM3v32lw0;
572     double BSIM3v32lnlx;
573     double BSIM3v32ldvt0;
574     double BSIM3v32ldvt1;
575     double BSIM3v32ldvt2;
576     double BSIM3v32ldvt0w;
577     double BSIM3v32ldvt1w;
578     double BSIM3v32ldvt2w;
579     double BSIM3v32ldrout;
580     double BSIM3v32ldsub;
581     double BSIM3v32lvth0;
582     double BSIM3v32lua;
583     double BSIM3v32lua1;
584     double BSIM3v32lub;
585     double BSIM3v32lub1;
586     double BSIM3v32luc;
587     double BSIM3v32luc1;
588     double BSIM3v32lu0;
589     double BSIM3v32lute;
590     double BSIM3v32lvoff;
591     double BSIM3v32ldelta;
592     double BSIM3v32lrdsw;
593     double BSIM3v32lprwg;
594     double BSIM3v32lprwb;
595     double BSIM3v32lprt;
596     double BSIM3v32leta0;
597     double BSIM3v32letab;
598     double BSIM3v32lpclm;
599     double BSIM3v32lpdibl1;
600     double BSIM3v32lpdibl2;
601     double BSIM3v32lpdiblb;
602     double BSIM3v32lpscbe1;
603     double BSIM3v32lpscbe2;
604     double BSIM3v32lpvag;
605     double BSIM3v32lwr;
606     double BSIM3v32ldwg;
607     double BSIM3v32ldwb;
608     double BSIM3v32lb0;
609     double BSIM3v32lb1;
610     double BSIM3v32lalpha0;
611     double BSIM3v32lalpha1;
612     double BSIM3v32lbeta0;
613     double BSIM3v32lvfb;
614 
615     /* CV model */
616     double BSIM3v32lelm;
617     double BSIM3v32lcgsl;
618     double BSIM3v32lcgdl;
619     double BSIM3v32lckappa;
620     double BSIM3v32lcf;
621     double BSIM3v32lclc;
622     double BSIM3v32lcle;
623     double BSIM3v32lvfbcv;
624     double BSIM3v32lnoff;
625     double BSIM3v32lvoffcv;
626     double BSIM3v32lacde;
627     double BSIM3v32lmoin;
628 
629     /* Width Dependence */
630     double BSIM3v32wcdsc;
631     double BSIM3v32wcdscb;
632     double BSIM3v32wcdscd;
633     double BSIM3v32wcit;
634     double BSIM3v32wnfactor;
635     double BSIM3v32wxj;
636     double BSIM3v32wvsat;
637     double BSIM3v32wat;
638     double BSIM3v32wa0;
639     double BSIM3v32wags;
640     double BSIM3v32wa1;
641     double BSIM3v32wa2;
642     double BSIM3v32wketa;
643     double BSIM3v32wnsub;
644     double BSIM3v32wnpeak;
645     double BSIM3v32wngate;
646     double BSIM3v32wgamma1;
647     double BSIM3v32wgamma2;
648     double BSIM3v32wvbx;
649     double BSIM3v32wvbm;
650     double BSIM3v32wxt;
651     double BSIM3v32wk1;
652     double BSIM3v32wkt1;
653     double BSIM3v32wkt1l;
654     double BSIM3v32wkt2;
655     double BSIM3v32wk2;
656     double BSIM3v32wk3;
657     double BSIM3v32wk3b;
658     double BSIM3v32ww0;
659     double BSIM3v32wnlx;
660     double BSIM3v32wdvt0;
661     double BSIM3v32wdvt1;
662     double BSIM3v32wdvt2;
663     double BSIM3v32wdvt0w;
664     double BSIM3v32wdvt1w;
665     double BSIM3v32wdvt2w;
666     double BSIM3v32wdrout;
667     double BSIM3v32wdsub;
668     double BSIM3v32wvth0;
669     double BSIM3v32wua;
670     double BSIM3v32wua1;
671     double BSIM3v32wub;
672     double BSIM3v32wub1;
673     double BSIM3v32wuc;
674     double BSIM3v32wuc1;
675     double BSIM3v32wu0;
676     double BSIM3v32wute;
677     double BSIM3v32wvoff;
678     double BSIM3v32wdelta;
679     double BSIM3v32wrdsw;
680     double BSIM3v32wprwg;
681     double BSIM3v32wprwb;
682     double BSIM3v32wprt;
683     double BSIM3v32weta0;
684     double BSIM3v32wetab;
685     double BSIM3v32wpclm;
686     double BSIM3v32wpdibl1;
687     double BSIM3v32wpdibl2;
688     double BSIM3v32wpdiblb;
689     double BSIM3v32wpscbe1;
690     double BSIM3v32wpscbe2;
691     double BSIM3v32wpvag;
692     double BSIM3v32wwr;
693     double BSIM3v32wdwg;
694     double BSIM3v32wdwb;
695     double BSIM3v32wb0;
696     double BSIM3v32wb1;
697     double BSIM3v32walpha0;
698     double BSIM3v32walpha1;
699     double BSIM3v32wbeta0;
700     double BSIM3v32wvfb;
701 
702     /* CV model */
703     double BSIM3v32welm;
704     double BSIM3v32wcgsl;
705     double BSIM3v32wcgdl;
706     double BSIM3v32wckappa;
707     double BSIM3v32wcf;
708     double BSIM3v32wclc;
709     double BSIM3v32wcle;
710     double BSIM3v32wvfbcv;
711     double BSIM3v32wnoff;
712     double BSIM3v32wvoffcv;
713     double BSIM3v32wacde;
714     double BSIM3v32wmoin;
715 
716     /* Cross-term Dependence */
717     double BSIM3v32pcdsc;
718     double BSIM3v32pcdscb;
719     double BSIM3v32pcdscd;
720     double BSIM3v32pcit;
721     double BSIM3v32pnfactor;
722     double BSIM3v32pxj;
723     double BSIM3v32pvsat;
724     double BSIM3v32pat;
725     double BSIM3v32pa0;
726     double BSIM3v32pags;
727     double BSIM3v32pa1;
728     double BSIM3v32pa2;
729     double BSIM3v32pketa;
730     double BSIM3v32pnsub;
731     double BSIM3v32pnpeak;
732     double BSIM3v32pngate;
733     double BSIM3v32pgamma1;
734     double BSIM3v32pgamma2;
735     double BSIM3v32pvbx;
736     double BSIM3v32pvbm;
737     double BSIM3v32pxt;
738     double BSIM3v32pk1;
739     double BSIM3v32pkt1;
740     double BSIM3v32pkt1l;
741     double BSIM3v32pkt2;
742     double BSIM3v32pk2;
743     double BSIM3v32pk3;
744     double BSIM3v32pk3b;
745     double BSIM3v32pw0;
746     double BSIM3v32pnlx;
747     double BSIM3v32pdvt0;
748     double BSIM3v32pdvt1;
749     double BSIM3v32pdvt2;
750     double BSIM3v32pdvt0w;
751     double BSIM3v32pdvt1w;
752     double BSIM3v32pdvt2w;
753     double BSIM3v32pdrout;
754     double BSIM3v32pdsub;
755     double BSIM3v32pvth0;
756     double BSIM3v32pua;
757     double BSIM3v32pua1;
758     double BSIM3v32pub;
759     double BSIM3v32pub1;
760     double BSIM3v32puc;
761     double BSIM3v32puc1;
762     double BSIM3v32pu0;
763     double BSIM3v32pute;
764     double BSIM3v32pvoff;
765     double BSIM3v32pdelta;
766     double BSIM3v32prdsw;
767     double BSIM3v32pprwg;
768     double BSIM3v32pprwb;
769     double BSIM3v32pprt;
770     double BSIM3v32peta0;
771     double BSIM3v32petab;
772     double BSIM3v32ppclm;
773     double BSIM3v32ppdibl1;
774     double BSIM3v32ppdibl2;
775     double BSIM3v32ppdiblb;
776     double BSIM3v32ppscbe1;
777     double BSIM3v32ppscbe2;
778     double BSIM3v32ppvag;
779     double BSIM3v32pwr;
780     double BSIM3v32pdwg;
781     double BSIM3v32pdwb;
782     double BSIM3v32pb0;
783     double BSIM3v32pb1;
784     double BSIM3v32palpha0;
785     double BSIM3v32palpha1;
786     double BSIM3v32pbeta0;
787     double BSIM3v32pvfb;
788 
789     /* CV model */
790     double BSIM3v32pelm;
791     double BSIM3v32pcgsl;
792     double BSIM3v32pcgdl;
793     double BSIM3v32pckappa;
794     double BSIM3v32pcf;
795     double BSIM3v32pclc;
796     double BSIM3v32pcle;
797     double BSIM3v32pvfbcv;
798     double BSIM3v32pnoff;
799     double BSIM3v32pvoffcv;
800     double BSIM3v32pacde;
801     double BSIM3v32pmoin;
802 
803     double BSIM3v32tnom;
804     double BSIM3v32cgso;
805     double BSIM3v32cgdo;
806     double BSIM3v32cgbo;
807     double BSIM3v32xpart;
808     double BSIM3v32cFringOut;
809     double BSIM3v32cFringMax;
810 
811     double BSIM3v32sheetResistance;
812     double BSIM3v32jctSatCurDensity;
813     double BSIM3v32jctSidewallSatCurDensity;
814     double BSIM3v32bulkJctPotential;
815     double BSIM3v32bulkJctBotGradingCoeff;
816     double BSIM3v32bulkJctSideGradingCoeff;
817     double BSIM3v32bulkJctGateSideGradingCoeff;
818     double BSIM3v32sidewallJctPotential;
819     double BSIM3v32GatesidewallJctPotential;
820     double BSIM3v32unitAreaJctCap;
821     double BSIM3v32unitLengthSidewallJctCap;
822     double BSIM3v32unitLengthGateSidewallJctCap;
823     double BSIM3v32jctEmissionCoeff;
824     double BSIM3v32jctTempExponent;
825 
826     double BSIM3v32Lint;
827     double BSIM3v32Ll;
828     double BSIM3v32Llc;
829     double BSIM3v32Lln;
830     double BSIM3v32Lw;
831     double BSIM3v32Lwc;
832     double BSIM3v32Lwn;
833     double BSIM3v32Lwl;
834     double BSIM3v32Lwlc;
835     double BSIM3v32Lmin;
836     double BSIM3v32Lmax;
837 
838     double BSIM3v32Wint;
839     double BSIM3v32Wl;
840     double BSIM3v32Wlc;
841     double BSIM3v32Wln;
842     double BSIM3v32Ww;
843     double BSIM3v32Wwc;
844     double BSIM3v32Wwn;
845     double BSIM3v32Wwl;
846     double BSIM3v32Wwlc;
847     double BSIM3v32Wmin;
848     double BSIM3v32Wmax;
849 
850 /* Pre-calculated constants */
851     /* MCJ: move to size-dependent param. */
852     double BSIM3v32vtm;
853     double BSIM3v32cox;
854     double BSIM3v32cof1;
855     double BSIM3v32cof2;
856     double BSIM3v32cof3;
857     double BSIM3v32cof4;
858     double BSIM3v32vcrit;
859     double BSIM3v32factor1;
860     double BSIM3v32PhiB;
861     double BSIM3v32PhiBSW;
862     double BSIM3v32PhiBSWG;
863     double BSIM3v32jctTempSatCurDensity;
864     double BSIM3v32jctSidewallTempSatCurDensity;
865     double BSIM3v32unitAreaTempJctCap;
866     double BSIM3v32unitLengthSidewallTempJctCap;
867     double BSIM3v32unitLengthGateSidewallTempJctCap;
868 
869     double BSIM3v32oxideTrapDensityA;
870     double BSIM3v32oxideTrapDensityB;
871     double BSIM3v32oxideTrapDensityC;
872     double BSIM3v32em;
873     double BSIM3v32ef;
874     double BSIM3v32af;
875     double BSIM3v32kf;
876 
877     double BSIM3v32vgsMax;
878     double BSIM3v32vgdMax;
879     double BSIM3v32vgbMax;
880     double BSIM3v32vdsMax;
881     double BSIM3v32vbsMax;
882     double BSIM3v32vbdMax;
883     double BSIM3v32vgsrMax;
884     double BSIM3v32vgdrMax;
885     double BSIM3v32vgbrMax;
886     double BSIM3v32vbsrMax;
887     double BSIM3v32vbdrMax;
888 
889     struct bsim3v32SizeDependParam *pSizeDependParamKnot;
890 
891 #ifdef USE_OMP
892     int BSIM3v32InstCount;
893     struct sBSIM3v32instance **BSIM3v32InstanceArray;
894 #endif
895 
896     /* Flags */
897     unsigned  BSIM3v32mobModGiven :1;
898     unsigned  BSIM3v32binUnitGiven :1;
899     unsigned  BSIM3v32capModGiven :1;
900     unsigned  BSIM3v32acmModGiven :1;
901     unsigned  BSIM3v32calcacmGiven :1;
902     unsigned  BSIM3v32paramChkGiven :1;
903     unsigned  BSIM3v32noiModGiven :1;
904     unsigned  BSIM3v32nqsModGiven :1;
905     unsigned  BSIM3v32typeGiven   :1;
906     unsigned  BSIM3v32toxGiven   :1;
907     unsigned  BSIM3v32versionGiven   :1;
908     unsigned  BSIM3v32toxmGiven   :1;
909     unsigned  BSIM3v32cdscGiven   :1;
910     unsigned  BSIM3v32cdscbGiven   :1;
911     unsigned  BSIM3v32cdscdGiven   :1;
912     unsigned  BSIM3v32citGiven   :1;
913     unsigned  BSIM3v32nfactorGiven   :1;
914     unsigned  BSIM3v32xjGiven   :1;
915     unsigned  BSIM3v32vsatGiven   :1;
916     unsigned  BSIM3v32atGiven   :1;
917     unsigned  BSIM3v32a0Given   :1;
918     unsigned  BSIM3v32agsGiven   :1;
919     unsigned  BSIM3v32a1Given   :1;
920     unsigned  BSIM3v32a2Given   :1;
921     unsigned  BSIM3v32ketaGiven   :1;
922     unsigned  BSIM3v32nsubGiven   :1;
923     unsigned  BSIM3v32npeakGiven   :1;
924     unsigned  BSIM3v32ngateGiven   :1;
925     unsigned  BSIM3v32gamma1Given   :1;
926     unsigned  BSIM3v32gamma2Given   :1;
927     unsigned  BSIM3v32vbxGiven   :1;
928     unsigned  BSIM3v32vbmGiven   :1;
929     unsigned  BSIM3v32xtGiven   :1;
930     unsigned  BSIM3v32k1Given   :1;
931     unsigned  BSIM3v32kt1Given   :1;
932     unsigned  BSIM3v32kt1lGiven   :1;
933     unsigned  BSIM3v32kt2Given   :1;
934     unsigned  BSIM3v32k2Given   :1;
935     unsigned  BSIM3v32k3Given   :1;
936     unsigned  BSIM3v32k3bGiven   :1;
937     unsigned  BSIM3v32w0Given   :1;
938     unsigned  BSIM3v32nlxGiven   :1;
939     unsigned  BSIM3v32dvt0Given   :1;
940     unsigned  BSIM3v32dvt1Given   :1;
941     unsigned  BSIM3v32dvt2Given   :1;
942     unsigned  BSIM3v32dvt0wGiven   :1;
943     unsigned  BSIM3v32dvt1wGiven   :1;
944     unsigned  BSIM3v32dvt2wGiven   :1;
945     unsigned  BSIM3v32droutGiven   :1;
946     unsigned  BSIM3v32dsubGiven   :1;
947     unsigned  BSIM3v32vth0Given   :1;
948     unsigned  BSIM3v32uaGiven   :1;
949     unsigned  BSIM3v32ua1Given   :1;
950     unsigned  BSIM3v32ubGiven   :1;
951     unsigned  BSIM3v32ub1Given   :1;
952     unsigned  BSIM3v32ucGiven   :1;
953     unsigned  BSIM3v32uc1Given   :1;
954     unsigned  BSIM3v32u0Given   :1;
955     unsigned  BSIM3v32uteGiven   :1;
956     unsigned  BSIM3v32voffGiven   :1;
957     unsigned  BSIM3v32rdswGiven   :1;
958     unsigned  BSIM3v32prwgGiven   :1;
959     unsigned  BSIM3v32prwbGiven   :1;
960     unsigned  BSIM3v32prtGiven   :1;
961     unsigned  BSIM3v32eta0Given   :1;
962     unsigned  BSIM3v32etabGiven   :1;
963     unsigned  BSIM3v32pclmGiven   :1;
964     unsigned  BSIM3v32pdibl1Given   :1;
965     unsigned  BSIM3v32pdibl2Given   :1;
966     unsigned  BSIM3v32pdiblbGiven   :1;
967     unsigned  BSIM3v32pscbe1Given   :1;
968     unsigned  BSIM3v32pscbe2Given   :1;
969     unsigned  BSIM3v32pvagGiven   :1;
970     unsigned  BSIM3v32deltaGiven  :1;
971     unsigned  BSIM3v32wrGiven   :1;
972     unsigned  BSIM3v32dwgGiven   :1;
973     unsigned  BSIM3v32dwbGiven   :1;
974     unsigned  BSIM3v32b0Given   :1;
975     unsigned  BSIM3v32b1Given   :1;
976     unsigned  BSIM3v32alpha0Given   :1;
977     unsigned  BSIM3v32alpha1Given   :1;
978     unsigned  BSIM3v32beta0Given   :1;
979     unsigned  BSIM3v32ijthGiven   :1;
980     unsigned  BSIM3v32vfbGiven   :1;
981 
982     /* CV model */
983     unsigned  BSIM3v32elmGiven  :1;
984     unsigned  BSIM3v32cgslGiven   :1;
985     unsigned  BSIM3v32cgdlGiven   :1;
986     unsigned  BSIM3v32ckappaGiven   :1;
987     unsigned  BSIM3v32cfGiven   :1;
988     unsigned  BSIM3v32vfbcvGiven   :1;
989     unsigned  BSIM3v32clcGiven   :1;
990     unsigned  BSIM3v32cleGiven   :1;
991     unsigned  BSIM3v32dwcGiven   :1;
992     unsigned  BSIM3v32dlcGiven   :1;
993     unsigned  BSIM3v32noffGiven  :1;
994     unsigned  BSIM3v32voffcvGiven :1;
995     unsigned  BSIM3v32acdeGiven  :1;
996     unsigned  BSIM3v32moinGiven  :1;
997     unsigned  BSIM3v32tcjGiven   :1;
998     unsigned  BSIM3v32tcjswGiven :1;
999     unsigned  BSIM3v32tcjswgGiven :1;
1000     unsigned  BSIM3v32tpbGiven    :1;
1001     unsigned  BSIM3v32tpbswGiven  :1;
1002     unsigned  BSIM3v32tpbswgGiven :1;
1003 
1004     /* ACM model */
1005     unsigned  BSIM3v32xlGiven   :1;
1006     unsigned  BSIM3v32xwGiven   :1;
1007     unsigned  BSIM3v32hdifGiven  :1;
1008     unsigned  BSIM3v32ldifGiven   :1;
1009     unsigned  BSIM3v32ldGiven   :1;
1010     unsigned  BSIM3v32rdGiven   :1;
1011     unsigned  BSIM3v32rsGiven   :1;
1012     unsigned  BSIM3v32rdcGiven   :1;
1013     unsigned  BSIM3v32rscGiven   :1;
1014     unsigned  BSIM3v32wmltGiven   :1;
1015 
1016     unsigned  BSIM3v32lmltGiven :1;
1017 
1018     /* Length dependence */
1019     unsigned  BSIM3v32lcdscGiven   :1;
1020     unsigned  BSIM3v32lcdscbGiven   :1;
1021     unsigned  BSIM3v32lcdscdGiven   :1;
1022     unsigned  BSIM3v32lcitGiven   :1;
1023     unsigned  BSIM3v32lnfactorGiven   :1;
1024     unsigned  BSIM3v32lxjGiven   :1;
1025     unsigned  BSIM3v32lvsatGiven   :1;
1026     unsigned  BSIM3v32latGiven   :1;
1027     unsigned  BSIM3v32la0Given   :1;
1028     unsigned  BSIM3v32lagsGiven   :1;
1029     unsigned  BSIM3v32la1Given   :1;
1030     unsigned  BSIM3v32la2Given   :1;
1031     unsigned  BSIM3v32lketaGiven   :1;
1032     unsigned  BSIM3v32lnsubGiven   :1;
1033     unsigned  BSIM3v32lnpeakGiven   :1;
1034     unsigned  BSIM3v32lngateGiven   :1;
1035     unsigned  BSIM3v32lgamma1Given   :1;
1036     unsigned  BSIM3v32lgamma2Given   :1;
1037     unsigned  BSIM3v32lvbxGiven   :1;
1038     unsigned  BSIM3v32lvbmGiven   :1;
1039     unsigned  BSIM3v32lxtGiven   :1;
1040     unsigned  BSIM3v32lk1Given   :1;
1041     unsigned  BSIM3v32lkt1Given   :1;
1042     unsigned  BSIM3v32lkt1lGiven   :1;
1043     unsigned  BSIM3v32lkt2Given   :1;
1044     unsigned  BSIM3v32lk2Given   :1;
1045     unsigned  BSIM3v32lk3Given   :1;
1046     unsigned  BSIM3v32lk3bGiven   :1;
1047     unsigned  BSIM3v32lw0Given   :1;
1048     unsigned  BSIM3v32lnlxGiven   :1;
1049     unsigned  BSIM3v32ldvt0Given   :1;
1050     unsigned  BSIM3v32ldvt1Given   :1;
1051     unsigned  BSIM3v32ldvt2Given   :1;
1052     unsigned  BSIM3v32ldvt0wGiven   :1;
1053     unsigned  BSIM3v32ldvt1wGiven   :1;
1054     unsigned  BSIM3v32ldvt2wGiven   :1;
1055     unsigned  BSIM3v32ldroutGiven   :1;
1056     unsigned  BSIM3v32ldsubGiven   :1;
1057     unsigned  BSIM3v32lvth0Given   :1;
1058     unsigned  BSIM3v32luaGiven   :1;
1059     unsigned  BSIM3v32lua1Given   :1;
1060     unsigned  BSIM3v32lubGiven   :1;
1061     unsigned  BSIM3v32lub1Given   :1;
1062     unsigned  BSIM3v32lucGiven   :1;
1063     unsigned  BSIM3v32luc1Given   :1;
1064     unsigned  BSIM3v32lu0Given   :1;
1065     unsigned  BSIM3v32luteGiven   :1;
1066     unsigned  BSIM3v32lvoffGiven   :1;
1067     unsigned  BSIM3v32lrdswGiven   :1;
1068     unsigned  BSIM3v32lprwgGiven   :1;
1069     unsigned  BSIM3v32lprwbGiven   :1;
1070     unsigned  BSIM3v32lprtGiven   :1;
1071     unsigned  BSIM3v32leta0Given   :1;
1072     unsigned  BSIM3v32letabGiven   :1;
1073     unsigned  BSIM3v32lpclmGiven   :1;
1074     unsigned  BSIM3v32lpdibl1Given   :1;
1075     unsigned  BSIM3v32lpdibl2Given   :1;
1076     unsigned  BSIM3v32lpdiblbGiven   :1;
1077     unsigned  BSIM3v32lpscbe1Given   :1;
1078     unsigned  BSIM3v32lpscbe2Given   :1;
1079     unsigned  BSIM3v32lpvagGiven   :1;
1080     unsigned  BSIM3v32ldeltaGiven  :1;
1081     unsigned  BSIM3v32lwrGiven   :1;
1082     unsigned  BSIM3v32ldwgGiven   :1;
1083     unsigned  BSIM3v32ldwbGiven   :1;
1084     unsigned  BSIM3v32lb0Given   :1;
1085     unsigned  BSIM3v32lb1Given   :1;
1086     unsigned  BSIM3v32lalpha0Given   :1;
1087     unsigned  BSIM3v32lalpha1Given   :1;
1088     unsigned  BSIM3v32lbeta0Given   :1;
1089     unsigned  BSIM3v32lvfbGiven   :1;
1090 
1091     /* CV model */
1092     unsigned  BSIM3v32lelmGiven  :1;
1093     unsigned  BSIM3v32lcgslGiven   :1;
1094     unsigned  BSIM3v32lcgdlGiven   :1;
1095     unsigned  BSIM3v32lckappaGiven   :1;
1096     unsigned  BSIM3v32lcfGiven   :1;
1097     unsigned  BSIM3v32lclcGiven   :1;
1098     unsigned  BSIM3v32lcleGiven   :1;
1099     unsigned  BSIM3v32lvfbcvGiven   :1;
1100     unsigned  BSIM3v32lnoffGiven   :1;
1101     unsigned  BSIM3v32lvoffcvGiven :1;
1102     unsigned  BSIM3v32lacdeGiven   :1;
1103     unsigned  BSIM3v32lmoinGiven   :1;
1104 
1105     /* Width dependence */
1106     unsigned  BSIM3v32wcdscGiven   :1;
1107     unsigned  BSIM3v32wcdscbGiven   :1;
1108     unsigned  BSIM3v32wcdscdGiven   :1;
1109     unsigned  BSIM3v32wcitGiven   :1;
1110     unsigned  BSIM3v32wnfactorGiven   :1;
1111     unsigned  BSIM3v32wxjGiven   :1;
1112     unsigned  BSIM3v32wvsatGiven   :1;
1113     unsigned  BSIM3v32watGiven   :1;
1114     unsigned  BSIM3v32wa0Given   :1;
1115     unsigned  BSIM3v32wagsGiven   :1;
1116     unsigned  BSIM3v32wa1Given   :1;
1117     unsigned  BSIM3v32wa2Given   :1;
1118     unsigned  BSIM3v32wketaGiven   :1;
1119     unsigned  BSIM3v32wnsubGiven   :1;
1120     unsigned  BSIM3v32wnpeakGiven   :1;
1121     unsigned  BSIM3v32wngateGiven   :1;
1122     unsigned  BSIM3v32wgamma1Given   :1;
1123     unsigned  BSIM3v32wgamma2Given   :1;
1124     unsigned  BSIM3v32wvbxGiven   :1;
1125     unsigned  BSIM3v32wvbmGiven   :1;
1126     unsigned  BSIM3v32wxtGiven   :1;
1127     unsigned  BSIM3v32wk1Given   :1;
1128     unsigned  BSIM3v32wkt1Given   :1;
1129     unsigned  BSIM3v32wkt1lGiven   :1;
1130     unsigned  BSIM3v32wkt2Given   :1;
1131     unsigned  BSIM3v32wk2Given   :1;
1132     unsigned  BSIM3v32wk3Given   :1;
1133     unsigned  BSIM3v32wk3bGiven   :1;
1134     unsigned  BSIM3v32ww0Given   :1;
1135     unsigned  BSIM3v32wnlxGiven   :1;
1136     unsigned  BSIM3v32wdvt0Given   :1;
1137     unsigned  BSIM3v32wdvt1Given   :1;
1138     unsigned  BSIM3v32wdvt2Given   :1;
1139     unsigned  BSIM3v32wdvt0wGiven   :1;
1140     unsigned  BSIM3v32wdvt1wGiven   :1;
1141     unsigned  BSIM3v32wdvt2wGiven   :1;
1142     unsigned  BSIM3v32wdroutGiven   :1;
1143     unsigned  BSIM3v32wdsubGiven   :1;
1144     unsigned  BSIM3v32wvth0Given   :1;
1145     unsigned  BSIM3v32wuaGiven   :1;
1146     unsigned  BSIM3v32wua1Given   :1;
1147     unsigned  BSIM3v32wubGiven   :1;
1148     unsigned  BSIM3v32wub1Given   :1;
1149     unsigned  BSIM3v32wucGiven   :1;
1150     unsigned  BSIM3v32wuc1Given   :1;
1151     unsigned  BSIM3v32wu0Given   :1;
1152     unsigned  BSIM3v32wuteGiven   :1;
1153     unsigned  BSIM3v32wvoffGiven   :1;
1154     unsigned  BSIM3v32wrdswGiven   :1;
1155     unsigned  BSIM3v32wprwgGiven   :1;
1156     unsigned  BSIM3v32wprwbGiven   :1;
1157     unsigned  BSIM3v32wprtGiven   :1;
1158     unsigned  BSIM3v32weta0Given   :1;
1159     unsigned  BSIM3v32wetabGiven   :1;
1160     unsigned  BSIM3v32wpclmGiven   :1;
1161     unsigned  BSIM3v32wpdibl1Given   :1;
1162     unsigned  BSIM3v32wpdibl2Given   :1;
1163     unsigned  BSIM3v32wpdiblbGiven   :1;
1164     unsigned  BSIM3v32wpscbe1Given   :1;
1165     unsigned  BSIM3v32wpscbe2Given   :1;
1166     unsigned  BSIM3v32wpvagGiven   :1;
1167     unsigned  BSIM3v32wdeltaGiven  :1;
1168     unsigned  BSIM3v32wwrGiven   :1;
1169     unsigned  BSIM3v32wdwgGiven   :1;
1170     unsigned  BSIM3v32wdwbGiven   :1;
1171     unsigned  BSIM3v32wb0Given   :1;
1172     unsigned  BSIM3v32wb1Given   :1;
1173     unsigned  BSIM3v32walpha0Given   :1;
1174     unsigned  BSIM3v32walpha1Given   :1;
1175     unsigned  BSIM3v32wbeta0Given   :1;
1176     unsigned  BSIM3v32wvfbGiven   :1;
1177 
1178     /* CV model */
1179     unsigned  BSIM3v32welmGiven  :1;
1180     unsigned  BSIM3v32wcgslGiven   :1;
1181     unsigned  BSIM3v32wcgdlGiven   :1;
1182     unsigned  BSIM3v32wckappaGiven   :1;
1183     unsigned  BSIM3v32wcfGiven   :1;
1184     unsigned  BSIM3v32wclcGiven   :1;
1185     unsigned  BSIM3v32wcleGiven   :1;
1186     unsigned  BSIM3v32wvfbcvGiven   :1;
1187     unsigned  BSIM3v32wnoffGiven   :1;
1188     unsigned  BSIM3v32wvoffcvGiven :1;
1189     unsigned  BSIM3v32wacdeGiven   :1;
1190     unsigned  BSIM3v32wmoinGiven   :1;
1191 
1192     /* Cross-term dependence */
1193     unsigned  BSIM3v32pcdscGiven   :1;
1194     unsigned  BSIM3v32pcdscbGiven   :1;
1195     unsigned  BSIM3v32pcdscdGiven   :1;
1196     unsigned  BSIM3v32pcitGiven   :1;
1197     unsigned  BSIM3v32pnfactorGiven   :1;
1198     unsigned  BSIM3v32pxjGiven   :1;
1199     unsigned  BSIM3v32pvsatGiven   :1;
1200     unsigned  BSIM3v32patGiven   :1;
1201     unsigned  BSIM3v32pa0Given   :1;
1202     unsigned  BSIM3v32pagsGiven   :1;
1203     unsigned  BSIM3v32pa1Given   :1;
1204     unsigned  BSIM3v32pa2Given   :1;
1205     unsigned  BSIM3v32pketaGiven   :1;
1206     unsigned  BSIM3v32pnsubGiven   :1;
1207     unsigned  BSIM3v32pnpeakGiven   :1;
1208     unsigned  BSIM3v32pngateGiven   :1;
1209     unsigned  BSIM3v32pgamma1Given   :1;
1210     unsigned  BSIM3v32pgamma2Given   :1;
1211     unsigned  BSIM3v32pvbxGiven   :1;
1212     unsigned  BSIM3v32pvbmGiven   :1;
1213     unsigned  BSIM3v32pxtGiven   :1;
1214     unsigned  BSIM3v32pk1Given   :1;
1215     unsigned  BSIM3v32pkt1Given   :1;
1216     unsigned  BSIM3v32pkt1lGiven   :1;
1217     unsigned  BSIM3v32pkt2Given   :1;
1218     unsigned  BSIM3v32pk2Given   :1;
1219     unsigned  BSIM3v32pk3Given   :1;
1220     unsigned  BSIM3v32pk3bGiven   :1;
1221     unsigned  BSIM3v32pw0Given   :1;
1222     unsigned  BSIM3v32pnlxGiven   :1;
1223     unsigned  BSIM3v32pdvt0Given   :1;
1224     unsigned  BSIM3v32pdvt1Given   :1;
1225     unsigned  BSIM3v32pdvt2Given   :1;
1226     unsigned  BSIM3v32pdvt0wGiven   :1;
1227     unsigned  BSIM3v32pdvt1wGiven   :1;
1228     unsigned  BSIM3v32pdvt2wGiven   :1;
1229     unsigned  BSIM3v32pdroutGiven   :1;
1230     unsigned  BSIM3v32pdsubGiven   :1;
1231     unsigned  BSIM3v32pvth0Given   :1;
1232     unsigned  BSIM3v32puaGiven   :1;
1233     unsigned  BSIM3v32pua1Given   :1;
1234     unsigned  BSIM3v32pubGiven   :1;
1235     unsigned  BSIM3v32pub1Given   :1;
1236     unsigned  BSIM3v32pucGiven   :1;
1237     unsigned  BSIM3v32puc1Given   :1;
1238     unsigned  BSIM3v32pu0Given   :1;
1239     unsigned  BSIM3v32puteGiven   :1;
1240     unsigned  BSIM3v32pvoffGiven   :1;
1241     unsigned  BSIM3v32prdswGiven   :1;
1242     unsigned  BSIM3v32pprwgGiven   :1;
1243     unsigned  BSIM3v32pprwbGiven   :1;
1244     unsigned  BSIM3v32pprtGiven   :1;
1245     unsigned  BSIM3v32peta0Given   :1;
1246     unsigned  BSIM3v32petabGiven   :1;
1247     unsigned  BSIM3v32ppclmGiven   :1;
1248     unsigned  BSIM3v32ppdibl1Given   :1;
1249     unsigned  BSIM3v32ppdibl2Given   :1;
1250     unsigned  BSIM3v32ppdiblbGiven   :1;
1251     unsigned  BSIM3v32ppscbe1Given   :1;
1252     unsigned  BSIM3v32ppscbe2Given   :1;
1253     unsigned  BSIM3v32ppvagGiven   :1;
1254     unsigned  BSIM3v32pdeltaGiven  :1;
1255     unsigned  BSIM3v32pwrGiven   :1;
1256     unsigned  BSIM3v32pdwgGiven   :1;
1257     unsigned  BSIM3v32pdwbGiven   :1;
1258     unsigned  BSIM3v32pb0Given   :1;
1259     unsigned  BSIM3v32pb1Given   :1;
1260     unsigned  BSIM3v32palpha0Given   :1;
1261     unsigned  BSIM3v32palpha1Given   :1;
1262     unsigned  BSIM3v32pbeta0Given   :1;
1263     unsigned  BSIM3v32pvfbGiven   :1;
1264 
1265     /* CV model */
1266     unsigned  BSIM3v32pelmGiven  :1;
1267     unsigned  BSIM3v32pcgslGiven   :1;
1268     unsigned  BSIM3v32pcgdlGiven   :1;
1269     unsigned  BSIM3v32pckappaGiven   :1;
1270     unsigned  BSIM3v32pcfGiven   :1;
1271     unsigned  BSIM3v32pclcGiven   :1;
1272     unsigned  BSIM3v32pcleGiven   :1;
1273     unsigned  BSIM3v32pvfbcvGiven   :1;
1274     unsigned  BSIM3v32pnoffGiven   :1;
1275     unsigned  BSIM3v32pvoffcvGiven :1;
1276     unsigned  BSIM3v32pacdeGiven   :1;
1277     unsigned  BSIM3v32pmoinGiven   :1;
1278 
1279     unsigned  BSIM3v32useFringeGiven   :1;
1280 
1281     unsigned  BSIM3v32tnomGiven   :1;
1282     unsigned  BSIM3v32cgsoGiven   :1;
1283     unsigned  BSIM3v32cgdoGiven   :1;
1284     unsigned  BSIM3v32cgboGiven   :1;
1285     unsigned  BSIM3v32xpartGiven   :1;
1286     unsigned  BSIM3v32sheetResistanceGiven   :1;
1287     unsigned  BSIM3v32jctSatCurDensityGiven   :1;
1288     unsigned  BSIM3v32jctSidewallSatCurDensityGiven   :1;
1289     unsigned  BSIM3v32bulkJctPotentialGiven   :1;
1290     unsigned  BSIM3v32bulkJctBotGradingCoeffGiven   :1;
1291     unsigned  BSIM3v32sidewallJctPotentialGiven   :1;
1292     unsigned  BSIM3v32GatesidewallJctPotentialGiven   :1;
1293     unsigned  BSIM3v32bulkJctSideGradingCoeffGiven   :1;
1294     unsigned  BSIM3v32unitAreaJctCapGiven   :1;
1295     unsigned  BSIM3v32unitLengthSidewallJctCapGiven   :1;
1296     unsigned  BSIM3v32bulkJctGateSideGradingCoeffGiven   :1;
1297     unsigned  BSIM3v32unitLengthGateSidewallJctCapGiven   :1;
1298     unsigned  BSIM3v32jctEmissionCoeffGiven :1;
1299     unsigned  BSIM3v32jctTempExponentGiven        :1;
1300 
1301     unsigned  BSIM3v32oxideTrapDensityAGiven  :1;
1302     unsigned  BSIM3v32oxideTrapDensityBGiven  :1;
1303     unsigned  BSIM3v32oxideTrapDensityCGiven  :1;
1304     unsigned  BSIM3v32emGiven  :1;
1305     unsigned  BSIM3v32efGiven  :1;
1306     unsigned  BSIM3v32afGiven  :1;
1307     unsigned  BSIM3v32kfGiven  :1;
1308 
1309     unsigned  BSIM3v32LintGiven   :1;
1310     unsigned  BSIM3v32LlGiven   :1;
1311     unsigned  BSIM3v32LlcGiven   :1;
1312     unsigned  BSIM3v32LlnGiven   :1;
1313     unsigned  BSIM3v32LwGiven   :1;
1314     unsigned  BSIM3v32LwcGiven   :1;
1315     unsigned  BSIM3v32LwnGiven   :1;
1316     unsigned  BSIM3v32LwlGiven   :1;
1317     unsigned  BSIM3v32LwlcGiven   :1;
1318     unsigned  BSIM3v32LminGiven   :1;
1319     unsigned  BSIM3v32LmaxGiven   :1;
1320 
1321     unsigned  BSIM3v32WintGiven   :1;
1322     unsigned  BSIM3v32WlGiven   :1;
1323     unsigned  BSIM3v32WlcGiven   :1;
1324     unsigned  BSIM3v32WlnGiven   :1;
1325     unsigned  BSIM3v32WwGiven   :1;
1326     unsigned  BSIM3v32WwcGiven   :1;
1327     unsigned  BSIM3v32WwnGiven   :1;
1328     unsigned  BSIM3v32WwlGiven   :1;
1329     unsigned  BSIM3v32WwlcGiven   :1;
1330     unsigned  BSIM3v32WminGiven   :1;
1331     unsigned  BSIM3v32WmaxGiven   :1;
1332 
1333     unsigned  BSIM3v32vgsMaxGiven  :1;
1334     unsigned  BSIM3v32vgdMaxGiven  :1;
1335     unsigned  BSIM3v32vgbMaxGiven  :1;
1336     unsigned  BSIM3v32vdsMaxGiven  :1;
1337     unsigned  BSIM3v32vbsMaxGiven  :1;
1338     unsigned  BSIM3v32vbdMaxGiven  :1;
1339     unsigned  BSIM3v32vgsrMaxGiven  :1;
1340     unsigned  BSIM3v32vgdrMaxGiven  :1;
1341     unsigned  BSIM3v32vgbrMaxGiven  :1;
1342     unsigned  BSIM3v32vbsrMaxGiven  :1;
1343     unsigned  BSIM3v32vbdrMaxGiven  :1;
1344 
1345 } BSIM3v32model;
1346 
1347 
1348 #ifndef NMOS
1349 #define NMOS 1
1350 #define PMOS -1
1351 #endif /*NMOS*/
1352 
1353 
1354 /* device parameters */
1355 #define BSIM3v32_W 1
1356 #define BSIM3v32_L 2
1357 #define BSIM3v32_AS 3
1358 #define BSIM3v32_AD 4
1359 #define BSIM3v32_PS 5
1360 #define BSIM3v32_PD 6
1361 #define BSIM3v32_NRS 7
1362 #define BSIM3v32_NRD 8
1363 #define BSIM3v32_OFF 9
1364 #define BSIM3v32_IC_VBS 10
1365 #define BSIM3v32_IC_VDS 11
1366 #define BSIM3v32_IC_VGS 12
1367 #define BSIM3v32_IC 13
1368 #define BSIM3v32_NQSMOD 14
1369 #define BSIM3v32_M 15
1370 #define BSIM3v32_DELVTO 16
1371 #define BSIM3v32_MULU0 17
1372 #define BSIM3v32_GEO 18
1373 
1374 /* model parameters */
1375 #define BSIM3v32_MOD_CAPMOD          100
1376 #define BSIM3v32_MOD_ACMMOD          101
1377 #define BSIM3v32_MOD_CALCACM         102
1378 #define BSIM3v32_MOD_MOBMOD          103
1379 #define BSIM3v32_MOD_NOIMOD          104
1380 #define BSIM3v32_MOD_NQSMOD          105
1381 
1382 #define BSIM3v32_MOD_TOX             106
1383 
1384 #define BSIM3v32_MOD_CDSC            107
1385 #define BSIM3v32_MOD_CDSCB           108
1386 #define BSIM3v32_MOD_CIT             109
1387 #define BSIM3v32_MOD_NFACTOR         110
1388 #define BSIM3v32_MOD_XJ              111
1389 #define BSIM3v32_MOD_VSAT            112
1390 #define BSIM3v32_MOD_AT              113
1391 #define BSIM3v32_MOD_A0              114
1392 #define BSIM3v32_MOD_A1              115
1393 #define BSIM3v32_MOD_A2              116
1394 #define BSIM3v32_MOD_KETA            117
1395 #define BSIM3v32_MOD_NSUB            118
1396 #define BSIM3v32_MOD_NPEAK           119
1397 #define BSIM3v32_MOD_NGATE           120
1398 #define BSIM3v32_MOD_GAMMA1          121
1399 #define BSIM3v32_MOD_GAMMA2          122
1400 #define BSIM3v32_MOD_VBX             123
1401 #define BSIM3v32_MOD_BINUNIT         124
1402 
1403 #define BSIM3v32_MOD_VBM             125
1404 
1405 #define BSIM3v32_MOD_XT              128
1406 #define BSIM3v32_MOD_K1              129
1407 #define BSIM3v32_MOD_KT1             130
1408 #define BSIM3v32_MOD_KT1L            131
1409 #define BSIM3v32_MOD_K2              132
1410 #define BSIM3v32_MOD_KT2             133
1411 #define BSIM3v32_MOD_K3              134
1412 #define BSIM3v32_MOD_K3B             135
1413 #define BSIM3v32_MOD_W0              136
1414 #define BSIM3v32_MOD_NLX             137
1415 
1416 #define BSIM3v32_MOD_DVT0            138
1417 #define BSIM3v32_MOD_DVT1            139
1418 #define BSIM3v32_MOD_DVT2            140
1419 
1420 #define BSIM3v32_MOD_DVT0W           141
1421 #define BSIM3v32_MOD_DVT1W           142
1422 #define BSIM3v32_MOD_DVT2W           143
1423 
1424 #define BSIM3v32_MOD_DROUT           144
1425 #define BSIM3v32_MOD_DSUB            145
1426 #define BSIM3v32_MOD_VTH0            146
1427 #define BSIM3v32_MOD_UA              147
1428 #define BSIM3v32_MOD_UA1             148
1429 #define BSIM3v32_MOD_UB              149
1430 #define BSIM3v32_MOD_UB1             150
1431 #define BSIM3v32_MOD_UC              151
1432 #define BSIM3v32_MOD_UC1             152
1433 #define BSIM3v32_MOD_U0              153
1434 #define BSIM3v32_MOD_UTE             154
1435 #define BSIM3v32_MOD_VOFF            155
1436 #define BSIM3v32_MOD_DELTA           156
1437 #define BSIM3v32_MOD_RDSW            157
1438 #define BSIM3v32_MOD_PRT             158
1439 #define BSIM3v32_MOD_LDD             159
1440 #define BSIM3v32_MOD_ETA             160
1441 #define BSIM3v32_MOD_ETA0            161
1442 #define BSIM3v32_MOD_ETAB            162
1443 #define BSIM3v32_MOD_PCLM            163
1444 #define BSIM3v32_MOD_PDIBL1          164
1445 #define BSIM3v32_MOD_PDIBL2          165
1446 #define BSIM3v32_MOD_PSCBE1          166
1447 #define BSIM3v32_MOD_PSCBE2          167
1448 #define BSIM3v32_MOD_PVAG            168
1449 #define BSIM3v32_MOD_WR              169
1450 #define BSIM3v32_MOD_DWG             170
1451 #define BSIM3v32_MOD_DWB             171
1452 #define BSIM3v32_MOD_B0              172
1453 #define BSIM3v32_MOD_B1              173
1454 #define BSIM3v32_MOD_ALPHA0          174
1455 #define BSIM3v32_MOD_BETA0           175
1456 #define BSIM3v32_MOD_PDIBLB          178
1457 
1458 #define BSIM3v32_MOD_PRWG            179
1459 #define BSIM3v32_MOD_PRWB            180
1460 
1461 #define BSIM3v32_MOD_CDSCD           181
1462 #define BSIM3v32_MOD_AGS             182
1463 
1464 #define BSIM3v32_MOD_FRINGE          184
1465 #define BSIM3v32_MOD_ELM             185
1466 #define BSIM3v32_MOD_CGSL            186
1467 #define BSIM3v32_MOD_CGDL            187
1468 #define BSIM3v32_MOD_CKAPPA          188
1469 #define BSIM3v32_MOD_CF              189
1470 #define BSIM3v32_MOD_CLC             190
1471 #define BSIM3v32_MOD_CLE             191
1472 #define BSIM3v32_MOD_PARAMCHK        192
1473 #define BSIM3v32_MOD_VERSION         193
1474 #define BSIM3v32_MOD_VFBCV           194
1475 #define BSIM3v32_MOD_ACDE            195
1476 #define BSIM3v32_MOD_MOIN            196
1477 #define BSIM3v32_MOD_NOFF            197
1478 #define BSIM3v32_MOD_IJTH            198
1479 #define BSIM3v32_MOD_ALPHA1          199
1480 #define BSIM3v32_MOD_VFB             200
1481 #define BSIM3v32_MOD_TOXM            201
1482 #define BSIM3v32_MOD_TCJ             202
1483 #define BSIM3v32_MOD_TCJSW           203
1484 #define BSIM3v32_MOD_TCJSWG          204
1485 #define BSIM3v32_MOD_TPB             205
1486 #define BSIM3v32_MOD_TPBSW           206
1487 #define BSIM3v32_MOD_TPBSWG          207
1488 #define BSIM3v32_MOD_VOFFCV          208
1489 
1490 /* Length dependence */
1491 #define BSIM3v32_MOD_LCDSC            251
1492 #define BSIM3v32_MOD_LCDSCB           252
1493 #define BSIM3v32_MOD_LCIT             253
1494 #define BSIM3v32_MOD_LNFACTOR         254
1495 #define BSIM3v32_MOD_LXJ              255
1496 #define BSIM3v32_MOD_LVSAT            256
1497 #define BSIM3v32_MOD_LAT              257
1498 #define BSIM3v32_MOD_LA0              258
1499 #define BSIM3v32_MOD_LA1              259
1500 #define BSIM3v32_MOD_LA2              260
1501 #define BSIM3v32_MOD_LKETA            261
1502 #define BSIM3v32_MOD_LNSUB            262
1503 #define BSIM3v32_MOD_LNPEAK           263
1504 #define BSIM3v32_MOD_LNGATE           265
1505 #define BSIM3v32_MOD_LGAMMA1          266
1506 #define BSIM3v32_MOD_LGAMMA2          267
1507 #define BSIM3v32_MOD_LVBX             268
1508 
1509 #define BSIM3v32_MOD_LVBM             270
1510 
1511 #define BSIM3v32_MOD_LXT              272
1512 #define BSIM3v32_MOD_LK1              275
1513 #define BSIM3v32_MOD_LKT1             276
1514 #define BSIM3v32_MOD_LKT1L            277
1515 #define BSIM3v32_MOD_LK2              278
1516 #define BSIM3v32_MOD_LKT2             279
1517 #define BSIM3v32_MOD_LK3              280
1518 #define BSIM3v32_MOD_LK3B             281
1519 #define BSIM3v32_MOD_LW0              282
1520 #define BSIM3v32_MOD_LNLX             283
1521 
1522 #define BSIM3v32_MOD_LDVT0            284
1523 #define BSIM3v32_MOD_LDVT1            285
1524 #define BSIM3v32_MOD_LDVT2            286
1525 
1526 #define BSIM3v32_MOD_LDVT0W           287
1527 #define BSIM3v32_MOD_LDVT1W           288
1528 #define BSIM3v32_MOD_LDVT2W           289
1529 
1530 #define BSIM3v32_MOD_LDROUT           290
1531 #define BSIM3v32_MOD_LDSUB            291
1532 #define BSIM3v32_MOD_LVTH0            292
1533 #define BSIM3v32_MOD_LUA              293
1534 #define BSIM3v32_MOD_LUA1             294
1535 #define BSIM3v32_MOD_LUB              295
1536 #define BSIM3v32_MOD_LUB1             296
1537 #define BSIM3v32_MOD_LUC              297
1538 #define BSIM3v32_MOD_LUC1             298
1539 #define BSIM3v32_MOD_LU0              299
1540 #define BSIM3v32_MOD_LUTE             300
1541 #define BSIM3v32_MOD_LVOFF            301
1542 #define BSIM3v32_MOD_LDELTA           302
1543 #define BSIM3v32_MOD_LRDSW            303
1544 #define BSIM3v32_MOD_LPRT             304
1545 #define BSIM3v32_MOD_LLDD             305
1546 #define BSIM3v32_MOD_LETA             306
1547 #define BSIM3v32_MOD_LETA0            307
1548 #define BSIM3v32_MOD_LETAB            308
1549 #define BSIM3v32_MOD_LPCLM            309
1550 #define BSIM3v32_MOD_LPDIBL1          310
1551 #define BSIM3v32_MOD_LPDIBL2          311
1552 #define BSIM3v32_MOD_LPSCBE1          312
1553 #define BSIM3v32_MOD_LPSCBE2          313
1554 #define BSIM3v32_MOD_LPVAG            314
1555 #define BSIM3v32_MOD_LWR              315
1556 #define BSIM3v32_MOD_LDWG             316
1557 #define BSIM3v32_MOD_LDWB             317
1558 #define BSIM3v32_MOD_LB0              318
1559 #define BSIM3v32_MOD_LB1              319
1560 #define BSIM3v32_MOD_LALPHA0          320
1561 #define BSIM3v32_MOD_LBETA0           321
1562 #define BSIM3v32_MOD_LPDIBLB          324
1563 
1564 #define BSIM3v32_MOD_LPRWG            325
1565 #define BSIM3v32_MOD_LPRWB            326
1566 
1567 #define BSIM3v32_MOD_LCDSCD           327
1568 #define BSIM3v32_MOD_LAGS             328
1569 
1570 
1571 #define BSIM3v32_MOD_LFRINGE          331
1572 #define BSIM3v32_MOD_LELM             332
1573 #define BSIM3v32_MOD_LCGSL            333
1574 #define BSIM3v32_MOD_LCGDL            334
1575 #define BSIM3v32_MOD_LCKAPPA          335
1576 #define BSIM3v32_MOD_LCF              336
1577 #define BSIM3v32_MOD_LCLC             337
1578 #define BSIM3v32_MOD_LCLE             338
1579 #define BSIM3v32_MOD_LVFBCV           339
1580 #define BSIM3v32_MOD_LACDE            340
1581 #define BSIM3v32_MOD_LMOIN            341
1582 #define BSIM3v32_MOD_LNOFF            342
1583 #define BSIM3v32_MOD_LALPHA1          344
1584 #define BSIM3v32_MOD_LVFB             345
1585 #define BSIM3v32_MOD_LVOFFCV          346
1586 
1587 /* Width dependence */
1588 #define BSIM3v32_MOD_WCDSC            381
1589 #define BSIM3v32_MOD_WCDSCB           382
1590 #define BSIM3v32_MOD_WCIT             383
1591 #define BSIM3v32_MOD_WNFACTOR         384
1592 #define BSIM3v32_MOD_WXJ              385
1593 #define BSIM3v32_MOD_WVSAT            386
1594 #define BSIM3v32_MOD_WAT              387
1595 #define BSIM3v32_MOD_WA0              388
1596 #define BSIM3v32_MOD_WA1              389
1597 #define BSIM3v32_MOD_WA2              390
1598 #define BSIM3v32_MOD_WKETA            391
1599 #define BSIM3v32_MOD_WNSUB            392
1600 #define BSIM3v32_MOD_WNPEAK           393
1601 #define BSIM3v32_MOD_WNGATE           395
1602 #define BSIM3v32_MOD_WGAMMA1          396
1603 #define BSIM3v32_MOD_WGAMMA2          397
1604 #define BSIM3v32_MOD_WVBX             398
1605 
1606 #define BSIM3v32_MOD_WVBM             400
1607 
1608 #define BSIM3v32_MOD_WXT              402
1609 #define BSIM3v32_MOD_WK1              405
1610 #define BSIM3v32_MOD_WKT1             406
1611 #define BSIM3v32_MOD_WKT1L            407
1612 #define BSIM3v32_MOD_WK2              408
1613 #define BSIM3v32_MOD_WKT2             409
1614 #define BSIM3v32_MOD_WK3              410
1615 #define BSIM3v32_MOD_WK3B             411
1616 #define BSIM3v32_MOD_WW0              412
1617 #define BSIM3v32_MOD_WNLX             413
1618 
1619 #define BSIM3v32_MOD_WDVT0            414
1620 #define BSIM3v32_MOD_WDVT1            415
1621 #define BSIM3v32_MOD_WDVT2            416
1622 
1623 #define BSIM3v32_MOD_WDVT0W           417
1624 #define BSIM3v32_MOD_WDVT1W           418
1625 #define BSIM3v32_MOD_WDVT2W           419
1626 
1627 #define BSIM3v32_MOD_WDROUT           420
1628 #define BSIM3v32_MOD_WDSUB            421
1629 #define BSIM3v32_MOD_WVTH0            422
1630 #define BSIM3v32_MOD_WUA              423
1631 #define BSIM3v32_MOD_WUA1             424
1632 #define BSIM3v32_MOD_WUB              425
1633 #define BSIM3v32_MOD_WUB1             426
1634 #define BSIM3v32_MOD_WUC              427
1635 #define BSIM3v32_MOD_WUC1             428
1636 #define BSIM3v32_MOD_WU0              429
1637 #define BSIM3v32_MOD_WUTE             430
1638 #define BSIM3v32_MOD_WVOFF            431
1639 #define BSIM3v32_MOD_WDELTA           432
1640 #define BSIM3v32_MOD_WRDSW            433
1641 #define BSIM3v32_MOD_WPRT             434
1642 #define BSIM3v32_MOD_WLDD             435
1643 #define BSIM3v32_MOD_WETA             436
1644 #define BSIM3v32_MOD_WETA0            437
1645 #define BSIM3v32_MOD_WETAB            438
1646 #define BSIM3v32_MOD_WPCLM            439
1647 #define BSIM3v32_MOD_WPDIBL1          440
1648 #define BSIM3v32_MOD_WPDIBL2          441
1649 #define BSIM3v32_MOD_WPSCBE1          442
1650 #define BSIM3v32_MOD_WPSCBE2          443
1651 #define BSIM3v32_MOD_WPVAG            444
1652 #define BSIM3v32_MOD_WWR              445
1653 #define BSIM3v32_MOD_WDWG             446
1654 #define BSIM3v32_MOD_WDWB             447
1655 #define BSIM3v32_MOD_WB0              448
1656 #define BSIM3v32_MOD_WB1              449
1657 #define BSIM3v32_MOD_WALPHA0          450
1658 #define BSIM3v32_MOD_WBETA0           451
1659 #define BSIM3v32_MOD_WPDIBLB          454
1660 
1661 #define BSIM3v32_MOD_WPRWG            455
1662 #define BSIM3v32_MOD_WPRWB            456
1663 
1664 #define BSIM3v32_MOD_WCDSCD           457
1665 #define BSIM3v32_MOD_WAGS             458
1666 
1667 
1668 #define BSIM3v32_MOD_WFRINGE          461
1669 #define BSIM3v32_MOD_WELM             462
1670 #define BSIM3v32_MOD_WCGSL            463
1671 #define BSIM3v32_MOD_WCGDL            464
1672 #define BSIM3v32_MOD_WCKAPPA          465
1673 #define BSIM3v32_MOD_WCF              466
1674 #define BSIM3v32_MOD_WCLC             467
1675 #define BSIM3v32_MOD_WCLE             468
1676 #define BSIM3v32_MOD_WVFBCV           469
1677 #define BSIM3v32_MOD_WACDE            470
1678 #define BSIM3v32_MOD_WMOIN            471
1679 #define BSIM3v32_MOD_WNOFF            472
1680 #define BSIM3v32_MOD_WALPHA1          474
1681 #define BSIM3v32_MOD_WVFB             475
1682 #define BSIM3v32_MOD_WVOFFCV          476
1683 
1684 /* Cross-term dependence */
1685 #define BSIM3v32_MOD_PCDSC            511
1686 #define BSIM3v32_MOD_PCDSCB           512
1687 #define BSIM3v32_MOD_PCIT             513
1688 #define BSIM3v32_MOD_PNFACTOR         514
1689 #define BSIM3v32_MOD_PXJ              515
1690 #define BSIM3v32_MOD_PVSAT            516
1691 #define BSIM3v32_MOD_PAT              517
1692 #define BSIM3v32_MOD_PA0              518
1693 #define BSIM3v32_MOD_PA1              519
1694 #define BSIM3v32_MOD_PA2              520
1695 #define BSIM3v32_MOD_PKETA            521
1696 #define BSIM3v32_MOD_PNSUB            522
1697 #define BSIM3v32_MOD_PNPEAK           523
1698 #define BSIM3v32_MOD_PNGATE           525
1699 #define BSIM3v32_MOD_PGAMMA1          526
1700 #define BSIM3v32_MOD_PGAMMA2          527
1701 #define BSIM3v32_MOD_PVBX             528
1702 
1703 #define BSIM3v32_MOD_PVBM             530
1704 
1705 #define BSIM3v32_MOD_PXT              532
1706 #define BSIM3v32_MOD_PK1              535
1707 #define BSIM3v32_MOD_PKT1             536
1708 #define BSIM3v32_MOD_PKT1L            537
1709 #define BSIM3v32_MOD_PK2              538
1710 #define BSIM3v32_MOD_PKT2             539
1711 #define BSIM3v32_MOD_PK3              540
1712 #define BSIM3v32_MOD_PK3B             541
1713 #define BSIM3v32_MOD_PW0              542
1714 #define BSIM3v32_MOD_PNLX             543
1715 
1716 #define BSIM3v32_MOD_PDVT0            544
1717 #define BSIM3v32_MOD_PDVT1            545
1718 #define BSIM3v32_MOD_PDVT2            546
1719 
1720 #define BSIM3v32_MOD_PDVT0W           547
1721 #define BSIM3v32_MOD_PDVT1W           548
1722 #define BSIM3v32_MOD_PDVT2W           549
1723 
1724 #define BSIM3v32_MOD_PDROUT           550
1725 #define BSIM3v32_MOD_PDSUB            551
1726 #define BSIM3v32_MOD_PVTH0            552
1727 #define BSIM3v32_MOD_PUA              553
1728 #define BSIM3v32_MOD_PUA1             554
1729 #define BSIM3v32_MOD_PUB              555
1730 #define BSIM3v32_MOD_PUB1             556
1731 #define BSIM3v32_MOD_PUC              557
1732 #define BSIM3v32_MOD_PUC1             558
1733 #define BSIM3v32_MOD_PU0              559
1734 #define BSIM3v32_MOD_PUTE             560
1735 #define BSIM3v32_MOD_PVOFF            561
1736 #define BSIM3v32_MOD_PDELTA           562
1737 #define BSIM3v32_MOD_PRDSW            563
1738 #define BSIM3v32_MOD_PPRT             564
1739 #define BSIM3v32_MOD_PLDD             565
1740 #define BSIM3v32_MOD_PETA             566
1741 #define BSIM3v32_MOD_PETA0            567
1742 #define BSIM3v32_MOD_PETAB            568
1743 #define BSIM3v32_MOD_PPCLM            569
1744 #define BSIM3v32_MOD_PPDIBL1          570
1745 #define BSIM3v32_MOD_PPDIBL2          571
1746 #define BSIM3v32_MOD_PPSCBE1          572
1747 #define BSIM3v32_MOD_PPSCBE2          573
1748 #define BSIM3v32_MOD_PPVAG            574
1749 #define BSIM3v32_MOD_PWR              575
1750 #define BSIM3v32_MOD_PDWG             576
1751 #define BSIM3v32_MOD_PDWB             577
1752 #define BSIM3v32_MOD_PB0              578
1753 #define BSIM3v32_MOD_PB1              579
1754 #define BSIM3v32_MOD_PALPHA0          580
1755 #define BSIM3v32_MOD_PBETA0           581
1756 #define BSIM3v32_MOD_PPDIBLB          584
1757 
1758 #define BSIM3v32_MOD_PPRWG            585
1759 #define BSIM3v32_MOD_PPRWB            586
1760 
1761 #define BSIM3v32_MOD_PCDSCD           587
1762 #define BSIM3v32_MOD_PAGS             588
1763 
1764 #define BSIM3v32_MOD_PFRINGE          591
1765 #define BSIM3v32_MOD_PELM             592
1766 #define BSIM3v32_MOD_PCGSL            593
1767 #define BSIM3v32_MOD_PCGDL            594
1768 #define BSIM3v32_MOD_PCKAPPA          595
1769 #define BSIM3v32_MOD_PCF              596
1770 #define BSIM3v32_MOD_PCLC             597
1771 #define BSIM3v32_MOD_PCLE             598
1772 #define BSIM3v32_MOD_PVFBCV           599
1773 #define BSIM3v32_MOD_PACDE            600
1774 #define BSIM3v32_MOD_PMOIN            601
1775 #define BSIM3v32_MOD_PNOFF            602
1776 #define BSIM3v32_MOD_PALPHA1          604
1777 #define BSIM3v32_MOD_PVFB             605
1778 #define BSIM3v32_MOD_PVOFFCV          606
1779 
1780 #define BSIM3v32_MOD_TNOM             651
1781 #define BSIM3v32_MOD_CGSO             652
1782 #define BSIM3v32_MOD_CGDO             653
1783 #define BSIM3v32_MOD_CGBO             654
1784 #define BSIM3v32_MOD_XPART            655
1785 
1786 #define BSIM3v32_MOD_RSH              656
1787 #define BSIM3v32_MOD_JS               657
1788 #define BSIM3v32_MOD_PB               658
1789 #define BSIM3v32_MOD_MJ               659
1790 #define BSIM3v32_MOD_PBSW             660
1791 #define BSIM3v32_MOD_MJSW             661
1792 #define BSIM3v32_MOD_CJ               662
1793 #define BSIM3v32_MOD_CJSW             663
1794 #define BSIM3v32_MOD_NMOS             664
1795 #define BSIM3v32_MOD_PMOS             665
1796 
1797 #define BSIM3v32_MOD_NOIA             666
1798 #define BSIM3v32_MOD_NOIB             667
1799 #define BSIM3v32_MOD_NOIC             668
1800 
1801 #define BSIM3v32_MOD_LINT             669
1802 #define BSIM3v32_MOD_LL               670
1803 #define BSIM3v32_MOD_LLN              671
1804 #define BSIM3v32_MOD_LW               672
1805 #define BSIM3v32_MOD_LWN              673
1806 #define BSIM3v32_MOD_LWL              674
1807 #define BSIM3v32_MOD_LMIN             675
1808 #define BSIM3v32_MOD_LMAX             676
1809 
1810 #define BSIM3v32_MOD_WINT             677
1811 #define BSIM3v32_MOD_WL               678
1812 #define BSIM3v32_MOD_WLN              679
1813 #define BSIM3v32_MOD_WW               680
1814 #define BSIM3v32_MOD_WWN              681
1815 #define BSIM3v32_MOD_WWL              682
1816 #define BSIM3v32_MOD_WMIN             683
1817 #define BSIM3v32_MOD_WMAX             684
1818 
1819 #define BSIM3v32_MOD_DWC              685
1820 #define BSIM3v32_MOD_DLC              686
1821 
1822 #define BSIM3v32_MOD_EM               687
1823 #define BSIM3v32_MOD_EF               688
1824 #define BSIM3v32_MOD_AF               689
1825 #define BSIM3v32_MOD_KF               690
1826 
1827 #define BSIM3v32_MOD_NJ               691
1828 #define BSIM3v32_MOD_XTI              692
1829 
1830 #define BSIM3v32_MOD_PBSWG            693
1831 #define BSIM3v32_MOD_MJSWG            694
1832 #define BSIM3v32_MOD_CJSWG            695
1833 #define BSIM3v32_MOD_JSW              696
1834 
1835 #define BSIM3v32_MOD_LLC              697
1836 #define BSIM3v32_MOD_LWC              698
1837 #define BSIM3v32_MOD_LWLC             699
1838 
1839 #define BSIM3v32_MOD_WLC              700
1840 #define BSIM3v32_MOD_WWC              701
1841 #define BSIM3v32_MOD_WWLC             702
1842 
1843 /* ACM parameters */
1844 #define BSIM3v32_MOD_XL               703
1845 #define BSIM3v32_MOD_XW               704
1846 #define BSIM3v32_MOD_HDIF             711
1847 #define BSIM3v32_MOD_LDIF             712
1848 #define BSIM3v32_MOD_LD               713
1849 #define BSIM3v32_MOD_RD               714
1850 #define BSIM3v32_MOD_RS               715
1851 #define BSIM3v32_MOD_RDC              716
1852 #define BSIM3v32_MOD_RSC              717
1853 #define BSIM3v32_MOD_WMLT             718
1854 
1855 #define BSIM3v32_MOD_LMLT             719
1856 
1857 /* device questions */
1858 #define BSIM3v32_DNODE                751
1859 #define BSIM3v32_GNODE                752
1860 #define BSIM3v32_SNODE                753
1861 #define BSIM3v32_BNODE                754
1862 #define BSIM3v32_DNODEPRIME           755
1863 #define BSIM3v32_SNODEPRIME           756
1864 #define BSIM3v32_VBD                  757
1865 #define BSIM3v32_VBS                  758
1866 #define BSIM3v32_VGS                  759
1867 #define BSIM3v32_VDS                  760
1868 #define BSIM3v32_CD                   761
1869 #define BSIM3v32_CBS                  762
1870 #define BSIM3v32_CBD                  763
1871 #define BSIM3v32_GM                   764
1872 #define BSIM3v32_GDS                  765
1873 #define BSIM3v32_GMBS                 766
1874 #define BSIM3v32_GBD                  767
1875 #define BSIM3v32_GBS                  768
1876 #define BSIM3v32_QB                   769
1877 #define BSIM3v32_CQB                  770
1878 #define BSIM3v32_QG                   771
1879 #define BSIM3v32_CQG                  772
1880 #define BSIM3v32_QD                   773
1881 #define BSIM3v32_CQD                  774
1882 #define BSIM3v32_CGG                  775
1883 #define BSIM3v32_CGD                  776
1884 #define BSIM3v32_CGS                  777
1885 #define BSIM3v32_CBG                  778
1886 #define BSIM3v32_CAPBD                779
1887 #define BSIM3v32_CQBD                 780
1888 #define BSIM3v32_CAPBS                781
1889 #define BSIM3v32_CQBS                 782
1890 #define BSIM3v32_CDG                  783
1891 #define BSIM3v32_CDD                  784
1892 #define BSIM3v32_CDS                  785
1893 #define BSIM3v32_VON                  786
1894 #define BSIM3v32_VDSAT                787
1895 #define BSIM3v32_QBS                  788
1896 #define BSIM3v32_QBD                  789
1897 #define BSIM3v32_SOURCECONDUCT        790
1898 #define BSIM3v32_DRAINCONDUCT         791
1899 #define BSIM3v32_CBDB                 792
1900 #define BSIM3v32_CBSB                 793
1901 
1902 #define BSIM3v32_MOD_VGS_MAX          801
1903 #define BSIM3v32_MOD_VGD_MAX          802
1904 #define BSIM3v32_MOD_VGB_MAX          803
1905 #define BSIM3v32_MOD_VDS_MAX          804
1906 #define BSIM3v32_MOD_VBS_MAX          805
1907 #define BSIM3v32_MOD_VBD_MAX          806
1908 #define BSIM3v32_MOD_VGSR_MAX         807
1909 #define BSIM3v32_MOD_VGDR_MAX         808
1910 #define BSIM3v32_MOD_VGBR_MAX         809
1911 #define BSIM3v32_MOD_VBSR_MAX         810
1912 #define BSIM3v32_MOD_VBDR_MAX         811
1913 
1914 #include "bsim3v32ext.h"
1915 
1916 extern void BSIM3v32evaluate(double,double,double,BSIM3v32instance*,BSIM3v32model*,
1917         double*,double*,double*, double*, double*, double*, double*,
1918         double*, double*, double*, double*, double*, double*, double*,
1919         double*, double*, double*, double*, CKTcircuit*);
1920 extern int BSIM3v32debug(BSIM3v32model*, BSIM3v32instance*, CKTcircuit*, int);
1921 extern int BSIM3v32checkModel(BSIM3v32model*, BSIM3v32instance*, CKTcircuit*);
1922 
1923 #endif /*BSIM3v32*/
1924