Jspice3
bsim2def.h
Go to the documentation of this file.
1 /***************************************************************************
2 JSPICE3 adaptation of Spice3f2 - Copyright (c) Stephen R. Whiteley 1992
3 Copyright 1990 Regents of the University of California. All rights reserved.
4 Authors: 1988 Min-Chie Jeng, Hong June Park, Thomas L. Quarles
5  1993 Stephen R. Whiteley
6 ****************************************************************************/
7 
8 #ifndef BSIM2
9 #define BSIM2
10 
11 #include "devdefs.h"
12 
13  /* declarations for BSIM2 MOSFETs */
14 
15 /* information needed for each instance */
16 
17 typedef struct sBSIM2instance {
18  struct sBSIM2model *B2modPtr; /* pointer to model */
19  struct sBSIM2instance *B2nextInstance; /* pointer to next instance of
20  *current model*/
21  IFuid B2name; /* pointer to character string naming this instance */
22  int B2states; /* index into state table for this device */
23 
24  int B2dNode; /* number of the gate node of the mosfet */
25  int B2gNode; /* number of the gate node of the mosfet */
26  int B2sNode; /* number of the source node of the mosfet */
27  int B2bNode; /* number of the bulk node of the mosfet */
28  int B2dNodePrime; /* number of the internal drain node of the mosfet */
29  int B2sNodePrime; /* number of the internal source node of the mosfet */
30 
31  double B2l; /* the length of the channel region */
32  double B2w; /* the width of the channel region */
33  double B2drainArea; /* the area of the drain diffusion */
34  double B2sourceArea; /* the area of the source diffusion */
35  double B2drainSquares; /* the length of the drain in squares */
36  double B2sourceSquares; /* the length of the source in squares */
39  double B2sourceConductance; /* cond. of source (or 0): set in setup */
40  double B2drainConductance; /* cond. of drain (or 0): set in setup */
41 
42  double B2icVBS; /* initial condition B-S voltage */
43  double B2icVDS; /* initial condition D-S voltage */
44  double B2icVGS; /* initial condition G-S voltage */
45  double B2von;
46  double B2vdsat;
47  int B2off; /* non-zero to indicate device is off for dc analysis*/
48  int B2mode; /* device mode : 1 = normal, -1 = inverse */
49 
51 
52 
53  unsigned B2lGiven :1;
54  unsigned B2wGiven :1;
55  unsigned B2drainAreaGiven :1;
56  unsigned B2sourceAreaGiven :1;
57  unsigned B2drainSquaresGiven :1;
58  unsigned B2sourceSquaresGiven :1;
59  unsigned B2drainPerimeterGiven :1;
61  unsigned B2dNodePrimeSet :1;
62  unsigned B2sNodePrimeSet :1;
63  unsigned B2icVBSGiven :1;
64  unsigned B2icVDSGiven :1;
65  unsigned B2icVGSGiven :1;
66  unsigned B2vonGiven :1;
67  unsigned B2vdsatGiven :1;
68 
69 
70  double *B2DdPtr; /* pointer to sparse matrix element at
71  * (Drain node,drain node) */
72  double *B2GgPtr; /* pointer to sparse matrix element at
73  * (gate node,gate node) */
74  double *B2SsPtr; /* pointer to sparse matrix element at
75  * (source node,source node) */
76  double *B2BbPtr; /* pointer to sparse matrix element at
77  * (bulk node,bulk node) */
78  double *B2DPdpPtr; /* pointer to sparse matrix element at
79  * (drain prime node,drain prime node) */
80  double *B2SPspPtr; /* pointer to sparse matrix element at
81  * (source prime node,source prime node) */
82  double *B2DdpPtr; /* pointer to sparse matrix element at
83  * (drain node,drain prime node) */
84  double *B2GbPtr; /* pointer to sparse matrix element at
85  * (gate node,bulk node) */
86  double *B2GdpPtr; /* pointer to sparse matrix element at
87  * (gate node,drain prime node) */
88  double *B2GspPtr; /* pointer to sparse matrix element at
89  * (gate node,source prime node) */
90  double *B2SspPtr; /* pointer to sparse matrix element at
91  * (source node,source prime node) */
92  double *B2BdpPtr; /* pointer to sparse matrix element at
93  * (bulk node,drain prime node) */
94  double *B2BspPtr; /* pointer to sparse matrix element at
95  * (bulk node,source prime node) */
96  double *B2DPspPtr; /* pointer to sparse matrix element at
97  * (drain prime node,source prime node) */
98  double *B2DPdPtr; /* pointer to sparse matrix element at
99  * (drain prime node,drain node) */
100  double *B2BgPtr; /* pointer to sparse matrix element at
101  * (bulk node,gate node) */
102  double *B2DPgPtr; /* pointer to sparse matrix element at
103  * (drain prime node,gate node) */
104 
105  double *B2SPgPtr; /* pointer to sparse matrix element at
106  * (source prime node,gate node) */
107  double *B2SPsPtr; /* pointer to sparse matrix element at
108  * (source prime node,source node) */
109  double *B2DPbPtr; /* pointer to sparse matrix element at
110  * (drain prime node,bulk node) */
111  double *B2SPbPtr; /* pointer to sparse matrix element at
112  * (source prime node,bulk node) */
113  double *B2SPdpPtr; /* pointer to sparse matrix element at
114  * (source prime node,drain prime node) */
115 
116 #define B2vbd B2states+ 0
117 #define B2vbs B2states+ 1
118 #define B2vgs B2states+ 2
119 #define B2vds B2states+ 3
120 #define B2cd B2states+ 4
121 #define B2id B2states+ 4
122 #define B2cbs B2states+ 5
123 #define B2ibs B2states+ 5
124 #define B2cbd B2states+ 6
125 #define B2ibd B2states+ 6
126 #define B2gm B2states+ 7
127 #define B2gds B2states+ 8
128 #define B2gmbs B2states+ 9
129 #define B2gbd B2states+ 10
130 #define B2gbs B2states+ 11
131 #define B2qb B2states+ 12
132 #define B2cqb B2states+ 13
133 #define B2iqb B2states+ 13
134 #define B2qg B2states+ 14
135 #define B2cqg B2states+ 15
136 #define B2iqg B2states+ 15
137 #define B2qd B2states+ 16
138 #define B2cqd B2states+ 17
139 #define B2iqd B2states+ 17
140 #define B2cggb B2states+ 18
141 #define B2cgdb B2states+ 19
142 #define B2cgsb B2states+ 20
143 #define B2cbgb B2states+ 21
144 #define B2cbdb B2states+ 22
145 #define B2cbsb B2states+ 23
146 #define B2capbd B2states+ 24
147 #define B2iqbd B2states+ 25
148 #define B2cqbd B2states+ 25
149 #define B2capbs B2states+ 26
150 #define B2iqbs B2states+ 27
151 #define B2cqbs B2states+ 27
152 #define B2cdgb B2states+ 28
153 #define B2cddb B2states+ 29
154 #define B2cdsb B2states+ 30
155 #define B2vono B2states+ 31
156 #define B2vdsato B2states+ 32
157 #define B2qbs B2states+ 33
158 #define B2qbd B2states+ 34
159 
160 #define B2numStates 35
161 
162 } B2instance ;
163 
165 {
166  double Width;
167  double Length;
168  double B2vfb; /* flat band voltage at given L and W */
169  double B2phi; /* surface potential at strong inversion */
170  double B2k1; /* bulk effect coefficient 1 */
171  double B2k2; /* bulk effect coefficient 2 */
172  double B2eta0; /* drain induced barrier lowering */
173  double B2etaB; /* Vbs dependence of Eta */
174  double B2beta0; /* Beta at Vds = 0 and Vgs = Vth */
175  double B2beta0B; /* Vbs dependence of Beta0 */
176  double B2betas0; /* Beta at Vds=Vdd and Vgs=Vth */
177  double B2betasB; /* Vbs dependence of Betas */
178  double B2beta20; /* Vds dependence of Beta in tanh term */
179  double B2beta2B; /* Vbs dependence of Beta2 */
180  double B2beta2G; /* Vgs dependence of Beta2 */
181  double B2beta30; /* Vds dependence of Beta in linear term */
182  double B2beta3B; /* Vbs dependence of Beta3 */
183  double B2beta3G; /* Vgs dependence of Beta3 */
184  double B2beta40; /* Vds dependence of Beta in quadra term */
185  double B2beta4B; /* Vbs dependence of Beta4 */
186  double B2beta4G; /* Vgs dependence of Beta4 */
187  double B2ua0; /* Linear Vgs dependence of Mobility */
188  double B2uaB; /* Vbs dependence of Ua */
189  double B2ub0; /* Quadratic Vgs dependence of Mobility */
190  double B2ubB; /* Vbs dependence of Ub */
191  double B2u10; /* Drift Velocity Saturation due to Vds */
192  double B2u1B; /* Vbs dependence of U1 */
193  double B2u1D; /* Vds dependence of U1 */
194  double B2n0; /* Subthreshold slope at Vds=0, Vbs=0 */
195  double B2nB; /* Vbs dependence of n */
196  double B2nD; /* Vds dependence of n */
197  double B2vof0; /* Vth offset at Vds=0, Vbs=0 */
198  double B2vofB; /* Vbs dependence of Vof */
199  double B2vofD; /* Vds dependence of Vof */
200  double B2ai0; /* Pre-factor in hot-electron effects */
201  double B2aiB; /* Vbs dependence of Ai */
202  double B2bi0; /* Exp-factor in hot-electron effects */
203  double B2biB; /* Vbs dependence of Bi */
204  double B2vghigh; /* Upper bound of cubic spline function */
205  double B2vglow; /* Lower bound of cubic spline function */
206  double B2GDoverlapCap;/* Gate Drain Overlap Capacitance */
207  double B2GSoverlapCap;/* Gate Source Overlap Capacitance */
208  double B2GBoverlapCap;/* Gate Bulk Overlap Capacitance */
209  double SqrtPhi;
210  double Phis3;
211  double CoxWL;
214  double Arg;
215  double B2vt0;
217 };
218 
219 
220 /* per model data */
221 
222 typedef struct sBSIM2model { /* model structure for a resistor */
223  int B2modType; /* type index of this device type */
224  struct sBSIM2model *B2nextModel; /* pointer to next possible model
225  *in linked list */
226  B2instance * B2instances; /* pointer to list of instances
227  * that have this model */
228  IFuid B2modName; /* pointer to the name of this model */
229  int B2type; /* device type: 1 = nmos, -1 = pmos */
230  int pad;
231 
232  double B2vfb0;
233  double B2vfbL;
234  double B2vfbW;
235  double B2phi0;
236  double B2phiL;
237  double B2phiW;
238  double B2k10;
239  double B2k1L;
240  double B2k1W;
241  double B2k20;
242  double B2k2L;
243  double B2k2W;
244  double B2eta00;
245  double B2eta0L;
246  double B2eta0W;
247  double B2etaB0;
248  double B2etaBL;
249  double B2etaBW;
250  double B2deltaL;
251  double B2deltaW;
252  double B2mob00;
253  double B2mob0B0;
254  double B2mob0BL;
255  double B2mob0BW ;
256  double B2mobs00;
257  double B2mobs0L;
258  double B2mobs0W;
259  double B2mobsB0;
260  double B2mobsBL;
261  double B2mobsBW;
262  double B2mob200;
263  double B2mob20L;
264  double B2mob20W;
265  double B2mob2B0;
266  double B2mob2BL;
267  double B2mob2BW;
268  double B2mob2G0;
269  double B2mob2GL;
270  double B2mob2GW;
271  double B2mob300;
272  double B2mob30L;
273  double B2mob30W;
274  double B2mob3B0;
275  double B2mob3BL;
276  double B2mob3BW;
277  double B2mob3G0;
278  double B2mob3GL;
279  double B2mob3GW;
280  double B2mob400;
281  double B2mob40L;
282  double B2mob40W;
283  double B2mob4B0;
284  double B2mob4BL;
285  double B2mob4BW;
286  double B2mob4G0;
287  double B2mob4GL;
288  double B2mob4GW;
289  double B2ua00;
290  double B2ua0L;
291  double B2ua0W;
292  double B2uaB0;
293  double B2uaBL;
294  double B2uaBW;
295  double B2ub00;
296  double B2ub0L;
297  double B2ub0W;
298  double B2ubB0;
299  double B2ubBL;
300  double B2ubBW;
301  double B2u100;
302  double B2u10L;
303  double B2u10W;
304  double B2u1B0;
305  double B2u1BL;
306  double B2u1BW;
307  double B2u1D0;
308  double B2u1DL;
309  double B2u1DW;
310  double B2n00;
311  double B2n0L;
312  double B2n0W;
313  double B2nB0;
314  double B2nBL;
315  double B2nBW;
316  double B2nD0;
317  double B2nDL;
318  double B2nDW;
319  double B2vof00;
320  double B2vof0L;
321  double B2vof0W;
322  double B2vofB0;
323  double B2vofBL;
324  double B2vofBW;
325  double B2vofD0;
326  double B2vofDL;
327  double B2vofDW;
328  double B2ai00;
329  double B2ai0L;
330  double B2ai0W;
331  double B2aiB0;
332  double B2aiBL;
333  double B2aiBW;
334  double B2bi00;
335  double B2bi0L;
336  double B2bi0W;
337  double B2biB0;
338  double B2biBL;
339  double B2biBW;
340  double B2vghigh0;
341  double B2vghighL;
342  double B2vghighW;
343  double B2vglow0;
344  double B2vglowL;
345  double B2vglowW;
346  double B2tox; /* unit: micron */
347  double B2Cox; /* unit: F/cm**2 */
348  double B2temp;
349  double B2vdd;
350  double B2vdd2;
351  double B2vgg;
352  double B2vgg2;
353  double B2vbb;
354  double B2vbb2;
359  double B2Vtm;
360 
371 
373 
374 
375  unsigned B2vfb0Given :1;
376  unsigned B2vfbLGiven :1;
377  unsigned B2vfbWGiven :1;
378  unsigned B2phi0Given :1;
379  unsigned B2phiLGiven :1;
380  unsigned B2phiWGiven :1;
381  unsigned B2k10Given :1;
382  unsigned B2k1LGiven :1;
383  unsigned B2k1WGiven :1;
384  unsigned B2k20Given :1;
385  unsigned B2k2LGiven :1;
386  unsigned B2k2WGiven :1;
387  unsigned B2eta00Given :1;
388  unsigned B2eta0LGiven :1;
389  unsigned B2eta0WGiven :1;
390  unsigned B2etaB0Given :1;
391  unsigned B2etaBLGiven :1;
392  unsigned B2etaBWGiven :1;
393  unsigned B2deltaLGiven :1;
394  unsigned B2deltaWGiven :1;
395  unsigned B2mob00Given :1;
396  unsigned B2mob0B0Given :1;
397  unsigned B2mob0BLGiven :1;
398  unsigned B2mob0BWGiven :1;
399  unsigned B2mobs00Given :1;
400  unsigned B2mobs0LGiven :1;
401  unsigned B2mobs0WGiven :1;
402  unsigned B2mobsB0Given :1;
403  unsigned B2mobsBLGiven :1;
404  unsigned B2mobsBWGiven :1;
405  unsigned B2mob200Given :1;
406  unsigned B2mob20LGiven :1;
407  unsigned B2mob20WGiven :1;
408  unsigned B2mob2B0Given :1;
409  unsigned B2mob2BLGiven :1;
410  unsigned B2mob2BWGiven :1;
411  unsigned B2mob2G0Given :1;
412  unsigned B2mob2GLGiven :1;
413  unsigned B2mob2GWGiven :1;
414  unsigned B2mob300Given :1;
415  unsigned B2mob30LGiven :1;
416  unsigned B2mob30WGiven :1;
417  unsigned B2mob3B0Given :1;
418  unsigned B2mob3BLGiven :1;
419  unsigned B2mob3BWGiven :1;
420  unsigned B2mob3G0Given :1;
421  unsigned B2mob3GLGiven :1;
422  unsigned B2mob3GWGiven :1;
423  unsigned B2mob400Given :1;
424  unsigned B2mob40LGiven :1;
425  unsigned B2mob40WGiven :1;
426  unsigned B2mob4B0Given :1;
427  unsigned B2mob4BLGiven :1;
428  unsigned B2mob4BWGiven :1;
429  unsigned B2mob4G0Given :1;
430  unsigned B2mob4GLGiven :1;
431  unsigned B2mob4GWGiven :1;
432  unsigned B2ua00Given :1;
433  unsigned B2ua0LGiven :1;
434  unsigned B2ua0WGiven :1;
435  unsigned B2uaB0Given :1;
436  unsigned B2uaBLGiven :1;
437  unsigned B2uaBWGiven :1;
438  unsigned B2ub00Given :1;
439  unsigned B2ub0LGiven :1;
440  unsigned B2ub0WGiven :1;
441  unsigned B2ubB0Given :1;
442  unsigned B2ubBLGiven :1;
443  unsigned B2ubBWGiven :1;
444  unsigned B2u100Given :1;
445  unsigned B2u10LGiven :1;
446  unsigned B2u10WGiven :1;
447  unsigned B2u1B0Given :1;
448  unsigned B2u1BLGiven :1;
449  unsigned B2u1BWGiven :1;
450  unsigned B2u1D0Given :1;
451  unsigned B2u1DLGiven :1;
452  unsigned B2u1DWGiven :1;
453  unsigned B2n00Given :1;
454  unsigned B2n0LGiven :1;
455  unsigned B2n0WGiven :1;
456  unsigned B2nB0Given :1;
457  unsigned B2nBLGiven :1;
458  unsigned B2nBWGiven :1;
459  unsigned B2nD0Given :1;
460  unsigned B2nDLGiven :1;
461  unsigned B2nDWGiven :1;
462  unsigned B2vof00Given :1;
463  unsigned B2vof0LGiven :1;
464  unsigned B2vof0WGiven :1;
465  unsigned B2vofB0Given :1;
466  unsigned B2vofBLGiven :1;
467  unsigned B2vofBWGiven :1;
468  unsigned B2vofD0Given :1;
469  unsigned B2vofDLGiven :1;
470  unsigned B2vofDWGiven :1;
471  unsigned B2ai00Given :1;
472  unsigned B2ai0LGiven :1;
473  unsigned B2ai0WGiven :1;
474  unsigned B2aiB0Given :1;
475  unsigned B2aiBLGiven :1;
476  unsigned B2aiBWGiven :1;
477  unsigned B2bi00Given :1;
478  unsigned B2bi0LGiven :1;
479  unsigned B2bi0WGiven :1;
480  unsigned B2biB0Given :1;
481  unsigned B2biBLGiven :1;
482  unsigned B2biBWGiven :1;
483  unsigned B2vghigh0Given :1;
484  unsigned B2vghighLGiven :1;
485  unsigned B2vghighWGiven :1;
486  unsigned B2vglow0Given :1;
487  unsigned B2vglowLGiven :1;
488  unsigned B2vglowWGiven :1;
489  unsigned B2toxGiven :1;
490  unsigned B2tempGiven :1;
491  unsigned B2vddGiven :1;
492  unsigned B2vggGiven :1;
493  unsigned B2vbbGiven :1;
494  unsigned B2gateSourceOverlapCapGiven :1;
495  unsigned B2gateDrainOverlapCapGiven :1;
496  unsigned B2gateBulkOverlapCapGiven :1;
497  unsigned B2channelChargePartitionFlagGiven :1;
498  unsigned B2sheetResistanceGiven :1;
499  unsigned B2jctSatCurDensityGiven :1;
500  unsigned B2bulkJctPotentialGiven :1;
501  unsigned B2bulkJctBotGradingCoeffGiven :1;
502  unsigned B2sidewallJctPotentialGiven :1;
503  unsigned B2bulkJctSideGradingCoeffGiven :1;
504  unsigned B2unitAreaJctCapGiven :1;
505  unsigned B2unitLengthSidewallJctCapGiven :1;
506  unsigned B2defaultWidthGiven :1;
507  unsigned B2deltaLengthGiven :1;
508  unsigned B2typeGiven :1;
509 
510 } B2model;
511 
512 
513 #ifndef NMOS
514 #define NMOS 1
515 #define PMOS -1
516 #endif /*NMOS*/
517 
518 
519 /* device parameters */
520 #define BSIM2_W 1
521 #define BSIM2_L 2
522 #define BSIM2_AS 3
523 #define BSIM2_AD 4
524 #define BSIM2_PS 5
525 #define BSIM2_PD 6
526 #define BSIM2_NRS 7
527 #define BSIM2_NRD 8
528 #define BSIM2_OFF 9
529 #define BSIM2_IC_VBS 10
530 #define BSIM2_IC_VDS 11
531 #define BSIM2_IC_VGS 12
532 #define BSIM2_IC 13
533 
534 /* model parameters */
535 #define BSIM2_MOD_VFB0 101
536 #define BSIM2_MOD_VFBL 102
537 #define BSIM2_MOD_VFBW 103
538 #define BSIM2_MOD_PHI0 104
539 #define BSIM2_MOD_PHIL 105
540 #define BSIM2_MOD_PHIW 106
541 #define BSIM2_MOD_K10 107
542 #define BSIM2_MOD_K1L 108
543 #define BSIM2_MOD_K1W 109
544 #define BSIM2_MOD_K20 110
545 #define BSIM2_MOD_K2L 111
546 #define BSIM2_MOD_K2W 112
547 #define BSIM2_MOD_ETA00 113
548 #define BSIM2_MOD_ETA0L 114
549 #define BSIM2_MOD_ETA0W 115
550 #define BSIM2_MOD_ETAB0 116
551 #define BSIM2_MOD_ETABL 117
552 #define BSIM2_MOD_ETABW 118
553 #define BSIM2_MOD_DELTAL 119
554 #define BSIM2_MOD_DELTAW 120
555 #define BSIM2_MOD_MOB00 121
556 #define BSIM2_MOD_MOB0B0 122
557 #define BSIM2_MOD_MOB0BL 123
558 #define BSIM2_MOD_MOB0BW 124
559 #define BSIM2_MOD_MOBS00 125
560 #define BSIM2_MOD_MOBS0L 126
561 #define BSIM2_MOD_MOBS0W 127
562 #define BSIM2_MOD_MOBSB0 128
563 #define BSIM2_MOD_MOBSBL 129
564 #define BSIM2_MOD_MOBSBW 130
565 #define BSIM2_MOD_MOB200 131
566 #define BSIM2_MOD_MOB20L 132
567 #define BSIM2_MOD_MOB20W 133
568 #define BSIM2_MOD_MOB2B0 134
569 #define BSIM2_MOD_MOB2BL 135
570 #define BSIM2_MOD_MOB2BW 136
571 #define BSIM2_MOD_MOB2G0 137
572 #define BSIM2_MOD_MOB2GL 138
573 #define BSIM2_MOD_MOB2GW 139
574 #define BSIM2_MOD_MOB300 140
575 #define BSIM2_MOD_MOB30L 141
576 #define BSIM2_MOD_MOB30W 142
577 #define BSIM2_MOD_MOB3B0 143
578 #define BSIM2_MOD_MOB3BL 144
579 #define BSIM2_MOD_MOB3BW 145
580 #define BSIM2_MOD_MOB3G0 146
581 #define BSIM2_MOD_MOB3GL 147
582 #define BSIM2_MOD_MOB3GW 148
583 #define BSIM2_MOD_MOB400 149
584 #define BSIM2_MOD_MOB40L 150
585 #define BSIM2_MOD_MOB40W 151
586 #define BSIM2_MOD_MOB4B0 152
587 #define BSIM2_MOD_MOB4BL 153
588 #define BSIM2_MOD_MOB4BW 154
589 #define BSIM2_MOD_MOB4G0 155
590 #define BSIM2_MOD_MOB4GL 156
591 #define BSIM2_MOD_MOB4GW 157
592 #define BSIM2_MOD_UA00 158
593 #define BSIM2_MOD_UA0L 159
594 #define BSIM2_MOD_UA0W 160
595 #define BSIM2_MOD_UAB0 161
596 #define BSIM2_MOD_UABL 162
597 #define BSIM2_MOD_UABW 163
598 #define BSIM2_MOD_UB00 164
599 #define BSIM2_MOD_UB0L 165
600 #define BSIM2_MOD_UB0W 166
601 #define BSIM2_MOD_UBB0 167
602 #define BSIM2_MOD_UBBL 168
603 #define BSIM2_MOD_UBBW 169
604 #define BSIM2_MOD_U100 170
605 #define BSIM2_MOD_U10L 171
606 #define BSIM2_MOD_U10W 172
607 #define BSIM2_MOD_U1B0 173
608 #define BSIM2_MOD_U1BL 174
609 #define BSIM2_MOD_U1BW 175
610 #define BSIM2_MOD_U1D0 176
611 #define BSIM2_MOD_U1DL 177
612 #define BSIM2_MOD_U1DW 178
613 #define BSIM2_MOD_N00 179
614 #define BSIM2_MOD_N0L 180
615 #define BSIM2_MOD_N0W 181
616 #define BSIM2_MOD_NB0 182
617 #define BSIM2_MOD_NBL 183
618 #define BSIM2_MOD_NBW 184
619 #define BSIM2_MOD_ND0 185
620 #define BSIM2_MOD_NDL 186
621 #define BSIM2_MOD_NDW 187
622 #define BSIM2_MOD_VOF00 188
623 #define BSIM2_MOD_VOF0L 189
624 #define BSIM2_MOD_VOF0W 190
625 #define BSIM2_MOD_VOFB0 191
626 #define BSIM2_MOD_VOFBL 192
627 #define BSIM2_MOD_VOFBW 193
628 #define BSIM2_MOD_VOFD0 194
629 #define BSIM2_MOD_VOFDL 195
630 #define BSIM2_MOD_VOFDW 196
631 #define BSIM2_MOD_AI00 197
632 #define BSIM2_MOD_AI0L 198
633 #define BSIM2_MOD_AI0W 199
634 #define BSIM2_MOD_AIB0 200
635 #define BSIM2_MOD_AIBL 201
636 #define BSIM2_MOD_AIBW 202
637 #define BSIM2_MOD_BI00 203
638 #define BSIM2_MOD_BI0L 204
639 #define BSIM2_MOD_BI0W 205
640 #define BSIM2_MOD_BIB0 206
641 #define BSIM2_MOD_BIBL 207
642 #define BSIM2_MOD_BIBW 208
643 #define BSIM2_MOD_VGHIGH0 209
644 #define BSIM2_MOD_VGHIGHL 210
645 #define BSIM2_MOD_VGHIGHW 211
646 #define BSIM2_MOD_VGLOW0 212
647 #define BSIM2_MOD_VGLOWL 213
648 #define BSIM2_MOD_VGLOWW 214
649 #define BSIM2_MOD_TOX 215
650 #define BSIM2_MOD_TEMP 216
651 #define BSIM2_MOD_VDD 217
652 #define BSIM2_MOD_VGG 218
653 #define BSIM2_MOD_VBB 219
654 #define BSIM2_MOD_CGSO 220
655 #define BSIM2_MOD_CGDO 221
656 #define BSIM2_MOD_CGBO 222
657 #define BSIM2_MOD_XPART 223
658 #define BSIM2_MOD_RSH 224
659 #define BSIM2_MOD_JS 225
660 #define BSIM2_MOD_PB 226
661 #define BSIM2_MOD_MJ 227
662 #define BSIM2_MOD_PBSW 228
663 #define BSIM2_MOD_MJSW 229
664 #define BSIM2_MOD_CJ 230
665 #define BSIM2_MOD_CJSW 231
666 #define BSIM2_MOD_DEFWIDTH 232
667 #define BSIM2_MOD_DELLENGTH 233
668 #define BSIM2_MOD_NMOS 234
669 #define BSIM2_MOD_PMOS 235
670 
671 /* device questions */
672 #define BSIM2_DNODE 241
673 #define BSIM2_GNODE 242
674 #define BSIM2_SNODE 243
675 #define BSIM2_BNODE 244
676 #define BSIM2_DNODEPRIME 245
677 #define BSIM2_SNODEPRIME 246
678 #define BSIM2_VBD 247
679 #define BSIM2_VBS 248
680 #define BSIM2_VGS 249
681 #define BSIM2_VDS 250
682 #define BSIM2_CD 251
683 #define BSIM2_CBS 252
684 #define BSIM2_CBD 253
685 #define BSIM2_GM 254
686 #define BSIM2_GDS 255
687 #define BSIM2_GMBS 256
688 #define BSIM2_GBD 257
689 #define BSIM2_GBS 258
690 #define BSIM2_QB 259
691 #define BSIM2_CQB 260
692 #define BSIM2_QG 261
693 #define BSIM2_CQG 262
694 #define BSIM2_QD 263
695 #define BSIM2_CQD 264
696 #define BSIM2_CGG 265
697 #define BSIM2_CGD 266
698 #define BSIM2_CGS 267
699 #define BSIM2_CBG 268
700 #define BSIM2_CAPBD 269
701 #define BSIM2_CQBD 270
702 #define BSIM2_CAPBS 271
703 #define BSIM2_CQBS 272
704 #define BSIM2_CDG 273
705 #define BSIM2_CDD 274
706 #define BSIM2_CDS 275
707 #define BSIM2_VON 276
708 #define BSIM2_QBS 277
709 #define BSIM2_QBD 278
710 #define BSIM2_SOURCECONDUCT 279
711 #define BSIM2_DRAINCONDUCT 280
712 
713 
714 #ifdef __STDC__
715 
716 extern int B2acLoad(GENmodel *,CKTcircuit*);
717 extern int B2ask(CKTcircuit *,GENinstance*,int,IFvalue*,IFvalue*);
718 extern int B2convTest(GENmodel *,CKTcircuit*);
719 extern void B2evaluate(double,double,double,B2instance*,B2model*,
720  double*,double*,double*, double*, double*, double*, double*,
721  double*, double*, double*, double*, double*, double*, double*,
722  double*, double*, double*, double*, CKTcircuit*);
723 extern int B2getic(GENmodel*,CKTcircuit*);
724 extern int B2load(GENmodel*,CKTcircuit*);
725 extern int B2mAsk(CKTcircuit*,GENmodel *,int, IFvalue*);
726 extern int B2mParam(int,IFvalue*,GENmodel*);
727 extern void B2mosCap(CKTcircuit*, double, double, double, double*,
728  double, double, double, double, double, double,
729  double*, double*, double*, double*, double*, double*, double*, double*,
730  double*, double*, double*, double*, double*, double*, double*,
731  double*);
732 extern int B2param(CKTcircuit*,int,IFvalue*,GENinstance*,IFvalue*);
733 extern int B2pzLoad(GENmodel*,CKTcircuit*,SPcomplex*);
734 extern int B2setup(SMPmatrix*,GENmodel*,CKTcircuit*,int*);
735 extern int B2temp(GENmodel*,CKTcircuit*);
736 extern int B2trunc(GENmodel*,CKTcircuit*,double*);
737 
738 #else /* stdc */
739 
740 extern int B2acLoad();
741 extern int B2ask();
742 extern int B2convTest();
743 extern void B2evaluate();
744 extern int B2getic();
745 extern int B2load();
746 extern int B2mAsk();
747 extern int B2mParam();
748 extern void B2mosCap();
749 extern int B2param();
750 extern int B2pzLoad();
751 extern int B2setup();
752 extern int B2temp();
753 extern int B2trunc();
754 
755 #endif /* stdc */
756 
757 
758 #endif /*B2*/
759 
double B2mob2BL
Definition: bsim2def.h:266
double B2defaultWidth
Definition: bsim2def.h:369
double B2vbb2
Definition: bsim2def.h:354
double B2mob3GW
Definition: bsim2def.h:279
double B2ua00
Definition: bsim2def.h:289
double B2mob2G0
Definition: bsim2def.h:268
double B2mob3GL
Definition: bsim2def.h:278
double B2ub0L
Definition: bsim2def.h:296
double * B2GbPtr
Definition: bsim2def.h:84
double B2drainPerimeter
Definition: bsim2def.h:37
double B2sourceArea
Definition: bsim2def.h:34
double B2bulkJctSideGradingCoeff
Definition: bsim2def.h:365
double B2mob3BW
Definition: bsim2def.h:276
double B2unitLengthSidewallJctCap
Definition: bsim2def.h:368
B2instance * B2instances
Definition: bsim2def.h:226
unsigned B2lGiven
Definition: bsim2def.h:53
double B2mob30W
Definition: bsim2def.h:273
double B2vofDL
Definition: bsim2def.h:326
int B2modType
Definition: bsim2def.h:223
struct sBSIM2instance * B2nextInstance
Definition: bsim2def.h:19
unsigned B2drainAreaGiven
Definition: bsim2def.h:55
double B2sheetResistance
Definition: bsim2def.h:361
double B2deltaL
Definition: bsim2def.h:250
double B2vof00
Definition: bsim2def.h:319
int B2load()
double B2uaBW
Definition: bsim2def.h:294
double B2mobsB0
Definition: bsim2def.h:259
unsigned B2sourceAreaGiven
Definition: bsim2def.h:56
double B2etaB0
Definition: bsim2def.h:247
double B2sourcePerimeter
Definition: bsim2def.h:38
unsigned B2vdsatGiven
Definition: bsim2def.h:67
double B2vghighW
Definition: bsim2def.h:342
double B2mob3B0
Definition: bsim2def.h:274
double B2n0L
Definition: bsim2def.h:311
double B2mobsBW
Definition: bsim2def.h:261
int B2convTest()
double * B2GspPtr
Definition: bsim2def.h:88
double * B2DPgPtr
Definition: bsim2def.h:102
double B2mob20L
Definition: bsim2def.h:263
double * B2DPbPtr
Definition: bsim2def.h:109
double B2ubBL
Definition: bsim2def.h:299
struct sBSIM2model * B2modPtr
Definition: bsim2def.h:18
double B2icVBS
Definition: bsim2def.h:42
double B2icVGS
Definition: bsim2def.h:44
unsigned B2dNodePrimeSet
Definition: bsim2def.h:61
double B2eta00
Definition: bsim2def.h:244
double B2vglowW
Definition: bsim2def.h:345
double B2ubBW
Definition: bsim2def.h:300
double B2u1D0
Definition: bsim2def.h:307
double B2k20
Definition: bsim2def.h:241
double B2ub00
Definition: bsim2def.h:295
double B2sourceSquares
Definition: bsim2def.h:36
double B2mob30L
Definition: bsim2def.h:272
double B2mob2B0
Definition: bsim2def.h:265
double B2mob300
Definition: bsim2def.h:271
double B2ai0L
Definition: bsim2def.h:329
double B2nBW
Definition: bsim2def.h:315
double B2mob40L
Definition: bsim2def.h:281
double B2von
Definition: bsim2def.h:45
double B2deltaW
Definition: bsim2def.h:251
void B2mosCap()
double B2nD0
Definition: bsim2def.h:316
double B2mob4G0
Definition: bsim2def.h:286
double B2u1BL
Definition: bsim2def.h:305
double B2mob2BW
Definition: bsim2def.h:267
unsigned B2icVBSGiven
Definition: bsim2def.h:63
double B2mob0BL
Definition: bsim2def.h:254
double B2eta0W
Definition: bsim2def.h:246
struct sBSIM2model B2model
double B2mobsBL
Definition: bsim2def.h:260
double B2mob20W
Definition: bsim2def.h:264
double B2u1B0
Definition: bsim2def.h:304
struct bsim2SizeDependParam * pSizeDependParamKnot
Definition: bsim2def.h:372
int B2acLoad()
double B2nDL
Definition: bsim2def.h:317
int B2type
Definition: bsim2def.h:229
double B2drainArea
Definition: bsim2def.h:33
double B2ubB0
Definition: bsim2def.h:298
double B2Vtm
Definition: bsim2def.h:359
double * B2SPdpPtr
Definition: bsim2def.h:113
double B2vglowL
Definition: bsim2def.h:344
double Two_Third_CoxWL
Definition: bsim2def.h:213
double B2l
Definition: bsim2def.h:31
double B2vgg2
Definition: bsim2def.h:352
double B2bulkJctPotential
Definition: bsim2def.h:363
double B2aiBL
Definition: bsim2def.h:332
int B2temp()
unsigned B2icVDSGiven
Definition: bsim2def.h:64
double B2deltaLength
Definition: bsim2def.h:370
unsigned B2sourcePerimeterGiven
Definition: bsim2def.h:60
unsigned B2sourceSquaresGiven
Definition: bsim2def.h:58
double B2u1DW
Definition: bsim2def.h:309
double * B2SsPtr
Definition: bsim2def.h:74
double B2mob3G0
Definition: bsim2def.h:277
double * B2SPbPtr
Definition: bsim2def.h:111
struct bsim2SizeDependParam * pNext
Definition: bsim2def.h:216
double B2mob0BW
Definition: bsim2def.h:255
double * B2DdpPtr
Definition: bsim2def.h:82
double B2drainSquares
Definition: bsim2def.h:35
double B2u10L
Definition: bsim2def.h:302
GENERIC * IFuid
Definition: ifsim.h:72
IFuid B2modName
Definition: bsim2def.h:228
int B2param()
double One_Third_CoxWL
Definition: bsim2def.h:212
double B2biB0
Definition: bsim2def.h:337
double * B2BspPtr
Definition: bsim2def.h:94
double B2icVDS
Definition: bsim2def.h:43
double B2vdd2
Definition: bsim2def.h:350
double B2sourceConductance
Definition: bsim2def.h:39
double * B2DPspPtr
Definition: bsim2def.h:96
struct sBSIM2instance B2instance
double * B2SspPtr
Definition: bsim2def.h:90
double B2etaBL
Definition: bsim2def.h:248
double B2vofD0
Definition: bsim2def.h:325
int B2setup()
double B2k2L
Definition: bsim2def.h:242
double B2mob4GL
Definition: bsim2def.h:287
double B2w
Definition: bsim2def.h:32
double * B2SPgPtr
Definition: bsim2def.h:105
double B2uaBL
Definition: bsim2def.h:293
double B2bi0L
Definition: bsim2def.h:335
unsigned B2vonGiven
Definition: bsim2def.h:66
double B2ai00
Definition: bsim2def.h:328
double B2vof0W
Definition: bsim2def.h:321
double B2vfbL
Definition: bsim2def.h:233
double B2vglow0
Definition: bsim2def.h:343
double B2nB0
Definition: bsim2def.h:313
double B2n0W
Definition: bsim2def.h:312
int B2mParam()
double * B2GdpPtr
Definition: bsim2def.h:86
double B2aiB0
Definition: bsim2def.h:331
double B2mobs0W
Definition: bsim2def.h:258
double B2unitAreaJctCap
Definition: bsim2def.h:367
double B2phi0
Definition: bsim2def.h:235
double * B2SPsPtr
Definition: bsim2def.h:107
double B2mob3BL
Definition: bsim2def.h:275
double * B2DPdpPtr
Definition: bsim2def.h:78
double * B2SPspPtr
Definition: bsim2def.h:80
int B2ask()
double B2ub0W
Definition: bsim2def.h:297
double * B2DPdPtr
Definition: bsim2def.h:98
double B2aiBW
Definition: bsim2def.h:333
double B2Cox
Definition: bsim2def.h:347
struct sBSIM2model * B2nextModel
Definition: bsim2def.h:224
double * B2GgPtr
Definition: bsim2def.h:72
double B2mob4B0
Definition: bsim2def.h:283
double B2k10
Definition: bsim2def.h:238
double B2vofBW
Definition: bsim2def.h:324
double B2mobs00
Definition: bsim2def.h:256
double B2ua0W
Definition: bsim2def.h:291
struct bsim2SizeDependParam * pParam
Definition: bsim2def.h:50
double B2gateDrainOverlapCap
Definition: bsim2def.h:356
double B2mob0B0
Definition: bsim2def.h:253
double B2vofDW
Definition: bsim2def.h:327
double B2n00
Definition: bsim2def.h:310
double B2vfb0
Definition: bsim2def.h:232
double B2bi0W
Definition: bsim2def.h:336
double B2mob4BL
Definition: bsim2def.h:284
double B2vofBL
Definition: bsim2def.h:323
double B2u1BW
Definition: bsim2def.h:306
double B2drainConductance
Definition: bsim2def.h:40
unsigned B2sNodePrimeSet
Definition: bsim2def.h:62
double B2jctSatCurDensity
Definition: bsim2def.h:362
double B2k1L
Definition: bsim2def.h:239
double * B2BgPtr
Definition: bsim2def.h:100
double B2vgg
Definition: bsim2def.h:351
double B2biBL
Definition: bsim2def.h:338
double B2mob200
Definition: bsim2def.h:262
double B2k1W
Definition: bsim2def.h:240
double B2vbb
Definition: bsim2def.h:353
double B2vof0L
Definition: bsim2def.h:320
double B2vghigh0
Definition: bsim2def.h:340
double B2u10W
Definition: bsim2def.h:303
int B2mAsk()
double B2phiL
Definition: bsim2def.h:236
double B2gateSourceOverlapCap
Definition: bsim2def.h:355
double B2mob2GW
Definition: bsim2def.h:270
double B2bi00
Definition: bsim2def.h:334
double B2gateBulkOverlapCap
Definition: bsim2def.h:357
double B2phiW
Definition: bsim2def.h:237
double * B2BdpPtr
Definition: bsim2def.h:92
double B2nDW
Definition: bsim2def.h:318
double B2sidewallJctPotential
Definition: bsim2def.h:366
double B2mob40W
Definition: bsim2def.h:282
double B2vghighL
Definition: bsim2def.h:341
int B2trunc()
double B2uaB0
Definition: bsim2def.h:292
double B2etaBW
Definition: bsim2def.h:249
double B2mobs0L
Definition: bsim2def.h:257
double B2u1DL
Definition: bsim2def.h:308
unsigned B2drainPerimeterGiven
Definition: bsim2def.h:59
double B2biBW
Definition: bsim2def.h:339
double B2channelChargePartitionFlag
Definition: bsim2def.h:358
int B2getic()
double B2eta0L
Definition: bsim2def.h:245
#define SMPmatrix
Definition: smpdefs.h:11
double B2mob400
Definition: bsim2def.h:280
double B2vdd
Definition: bsim2def.h:349
unsigned B2icVGSGiven
Definition: bsim2def.h:65
double B2mob00
Definition: bsim2def.h:252
double B2bulkJctBotGradingCoeff
Definition: bsim2def.h:364
double B2vfbW
Definition: bsim2def.h:234
IFuid B2name
Definition: bsim2def.h:21
double B2u100
Definition: bsim2def.h:301
double * B2DdPtr
Definition: bsim2def.h:70
double B2nBL
Definition: bsim2def.h:314
double B2mob4GW
Definition: bsim2def.h:288
double B2vofB0
Definition: bsim2def.h:322
double B2temp
Definition: bsim2def.h:348
double * B2BbPtr
Definition: bsim2def.h:76
int B2pzLoad()
double B2mob2GL
Definition: bsim2def.h:269
double B2ai0W
Definition: bsim2def.h:330
double B2tox
Definition: bsim2def.h:346
double B2ua0L
Definition: bsim2def.h:290
void B2evaluate()
double B2k2W
Definition: bsim2def.h:243
int B2sNodePrime
Definition: bsim2def.h:29
double B2mob4BW
Definition: bsim2def.h:285
unsigned B2wGiven
Definition: bsim2def.h:54
double B2vdsat
Definition: bsim2def.h:46
int B2dNodePrime
Definition: bsim2def.h:28
unsigned B2drainSquaresGiven
Definition: bsim2def.h:57