Jspice3
mosset.c
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: 1985 Thomas L. Quarles
5  1989 Takayasu Sakurai
6  1993 Stephen R. Whiteley
7 ****************************************************************************/
8 
9 #include "spice.h"
10 #include <stdio.h>
11 #include <math.h>
12 #include "mosdefs.h"
13 #include "const.h"
14 #include "sperror.h"
15 #include "util.h"
16 #include "cktext.h"
17 
18 
19 int
20 MOSsetup(matrix,inModel,ckt,states)
21 
22 SMPmatrix *matrix;
23 GENmodel *inModel;
24 CKTcircuit *ckt;
25 int *states;
26 /* load the MOS device structure with those pointers needed later
27  * for fast matrix loading
28  */
29 {
30  register MOSmodel *model = (MOSmodel *)inModel;
31  register MOSinstance *here;
32  int error;
33  CKTnode *tmp;
34 
35  /* loop through all the MOS device models */
36  for( ; model != NULL; model = model->MOSnextModel ) {
37 
38  if (!model->MOStypeGiven) {
39  model->MOStype = NMOS;
40  }
41 
42  if (!model->MOSlevelGiven ||
43  (model->MOSlevel != 1 &&
44  model->MOSlevel != 2 &&
45  model->MOSlevel != 3 &&
46  model->MOSlevel != 6 &&
47  /* level 8, CryoMOS by Luong Huynh, 1/19/95 */
48  model->MOSlevel != 8)) {
49  model->MOSlevel = 1;
50  }
51 
52  /* tnom */
53 
54  /* vto */
55  if (!model->MOSvt0Given) {
56  model->MOSvt0 = 0;
57  }
58 
59  /* kp */
60  if (!model->MOStransconductanceGiven) {
61  model->MOStransconductance = 2e-5;
62  }
63 
64  /* gamma */
65  if (!model->MOSgammaGiven) {
66  model->MOSgamma = 0;
67  }
68 
69  /* phi */
70  if (!model->MOSphiGiven) {
71  model->MOSphi = .6;
72  }
73 
74  /* rd */
75  if (!model->MOSdrainResistanceGiven) {
76  model->MOSdrainResistance = 0;
77  }
78 
79  /* rs */
80  if (!model->MOSsourceResistanceGiven) {
81  model->MOSsourceResistance = 0;
82  }
83 
84  /* cbd */
85  if (!model->MOScapBDGiven) {
86  model->MOScapBD = 0;
87  }
88 
89  /* cbs */
90  if (!model->MOScapBSGiven) {
91  model->MOScapBS = 0;
92  }
93 
94  /* is */
95  if (!model->MOSjctSatCurGiven) {
96  model->MOSjctSatCur = 1e-14;
97  }
98 
99  /* pb */
100  if (!model->MOSbulkJctPotentialGiven) {
101  model->MOSbulkJctPotential = .8;
102  }
103 
104  /* cgso */
107  }
108 
109  /* cgdo */
110  if (!model->MOSgateDrainOverlapCapFactorGiven) {
111  model->MOSgateDrainOverlapCapFactor = 0;
112  }
113 
114  /* cgbo */
115  if (!model->MOSgateBulkOverlapCapFactorGiven) {
116  model->MOSgateBulkOverlapCapFactor = 0;
117  }
118 
119  /* cj */
120  if (!model->MOSbulkCapFactorGiven) {
121  model->MOSbulkCapFactor = 0;
122  }
123 
124  /* mj */
125  if (!model->MOSbulkJctBotGradingCoeffGiven) {
126  model->MOSbulkJctBotGradingCoeff = .5;
127  }
128 
129  /* cjsw */
130  if (!model->MOSsideWallCapFactorGiven) {
131  model->MOSsideWallCapFactor = 0;
132  }
133 
134  /* mjsw */
135  if (!model->MOSbulkJctSideGradingCoeffGiven) {
136  if (model->MOSlevel == 1 || model->MOSlevel == 6)
137  model->MOSbulkJctSideGradingCoeff = .5;
138  else
139  model->MOSbulkJctSideGradingCoeff = .33;
140  }
141 
142  /* js */
143  if (!model->MOSjctSatCurDensityGiven) {
144  model->MOSjctSatCurDensity = 0;
145  }
146 
147  /* tox */
148  if (!model->MOSoxideThicknessGiven) {
149  if (model->MOSlevel == 2 || model->MOSlevel == 3)
150  model->MOSoxideThickness = 1e-7;
151  else
152  model->MOSoxideThickness = 0;
153  }
154 
155  /* ld */
156  if (!model->MOSlatDiffGiven) {
157  model->MOSlatDiff = 0;
158  }
159 
160  /* rsh */
161  if (!model->MOSsheetResistanceGiven) {
162  model->MOSsheetResistance = 0;
163  }
164 
165  /* u0 */
166 
167  /* fc */
168  if (!model->MOSfwdCapDepCoeffGiven) {
169  model->MOSfwdCapDepCoeff = .5;
170  }
171 
172  /* nss */
173  /* nsub */
174  /* tpg */
175 
176  /* kf */
177  if (!model->MOSfNcoefGiven) {
178  model->MOSfNcoef = 0;
179  }
180 
181  /* af */
182  if (!model->MOSfNexpGiven) {
183  model->MOSfNexp = 1;
184  }
185 
186  /* lambda, 1,2 and 6*/
187  if (!model->MOSlambdaGiven) {
188  model->MOSlambda = 0;
189  }
190 
191  /* uexp, 2 */
192  if (!model->MOScritFieldExpGiven) {
193  model->MOScritFieldExp = 0;
194  }
195 
196  /* neff, 2 */
197  if (!model->MOSchannelChargeGiven) {
198  model->MOSchannelCharge = 1;
199  }
200 
201  /* ucrit, 2 */
202  if (!model->MOScritFieldGiven) {
203  model->MOScritField = 1e4;
204  }
205 
206  /* nfs, 2 and 3 */
207  if (!model->MOSfastSurfaceStateDensityGiven) {
208  model->MOSfastSurfaceStateDensity = 0;
209  }
210 
211  /* delta, 2 and 3 */
212  if (!model->MOSdeltaGiven) {
213  model->MOSdelta = 0;
214  }
215  if (!model->MOSnarrowFactorGiven) {
216  model->MOSnarrowFactor = 0;
217  }
218 
219  /* vmax, 2 and 3 */
220  if (!model->MOSmaxDriftVelGiven) {
221  model->MOSmaxDriftVel = 0;
222  }
223 
224  /* xj, 2 and 3 */
225  if (!model->MOSjunctionDepthGiven) {
226  model->MOSjunctionDepth = 0;
227  }
228 
229  /* eta, 3 */
230  if (!model->MOSetaGiven) {
231  model->MOSeta = 0;
232  }
233 
234  /* theta, 3 */
235  if (!model->MOSthetaGiven) {
236  model->MOStheta = 0;
237  }
238 
239  /* kappa, 3 */
240  if (!model->MOSkappaGiven) {
241  model->MOSkappa = .2;
242  }
243 
244  /* level 6 */
245  if (!model->MOSkvGiven) {
246  model->MOSkv = 2;
247  }
248  if (!model->MOSnvGiven) {
249  model->MOSnv = 0.5;
250  }
251  if (!model->MOSkcGiven) {
252  model->MOSkc = 5e-5;
253  }
254  if (!model->MOSncGiven) {
255  model->MOSnc = 1;
256  }
257  if (!model->MOSlamda0Given) {
258  model->MOSlamda0 = 0;
259  if (model->MOSlambdaGiven) {
260  model->MOSlamda0 = model->MOSlambda;
261  }
262  }
263  if (!model->MOSlamda1Given) {
264  model->MOSlamda1 = 0;
265  }
266  if (!model->MOSsigmaGiven) {
267  model->MOSsigma = 0;
268  }
269  if(!model->MOSgamma1Given) {
270  model->MOSgamma1 = 0;
271  }
272 
273  /* level 8, CryoMOS by Luong Huynh 1/19/95 */
274  if (!model->MOSa1Given) {
275  model->MOSa1 = 0;
276  }
277  if (!model->MOSa2Given) {
278  model->MOSa2 = 0;
279  }
280  if (!model->MOSk1Given) {
281  model->MOSk1 = 0;
282  }
283  if (!model->MOSk2Given) {
284  model->MOSk2 = 0;
285  }
286  if (!model->MOSk3Given) {
287  model->MOSk3 = 0;
288  }
289  if (!model->MOSk4Given) {
290  model->MOSk4 = 0;
291  }
292  if (!model->MOSemGiven) {
293  model->MOSem = 0;
294  }
295  if (!model->MOSpclmGiven) {
296  model->MOSpclm = 0;
297  }
298 
299 
300  /* loop through all the instances of the model */
301  for (here = model->MOSinstances; here != NULL;
302  here = here->MOSnextInstance) {
303 
304  here->MOSmode = 1;
305  here->MOSvon = 0;
306 
307  /* allocate a chunk of the state vector */
308  here->MOSstates = *states;
309  *states += MOSnumStates;
310 
311  /* temp */
312  if (!here->MOStempGiven) {
313  here->MOStemp = ckt->CKTtemp;
314  }
315 
316  /* pd */
317  if (!here->MOSdrainPerimeterGiven) {
318  here->MOSdrainPerimeter = 0;
319  }
320 
321  /* nrd */
322  if (!here->MOSdrainSquaresGiven ||
323  here->MOSdrainSquares == 0) {
324  here->MOSdrainSquares = 1;
325  }
326 
327  /* ps */
328  if (!here->MOSsourcePerimeterGiven) {
329  here->MOSsourcePerimeter = 0;
330  }
331 
332  /* nrs */
333  if (!here->MOSsourceSquaresGiven ||
334  here->MOSsourceSquares == 0) {
335  here->MOSsourceSquares = 1;
336  }
337 
338  /* ic: vbs */
339  if (!here->MOSicVBSGiven) {
340  here->MOSicVBS = 0;
341  }
342 
343  /* ic: vds */
344  if (!here->MOSicVDSGiven) {
345  here->MOSicVDS = 0;
346  }
347 
348  /* ic: vgs */
349  if (!here->MOSicVGSGiven) {
350  here->MOSicVGS = 0;
351  }
352 
353  /* no assigned parameter? */
354  if (!here->MOSvdsatGiven) {
355  here->MOSvdsat = 0;
356  }
357 
358  if (!here->MOSlGiven) {
359  here->MOSl = ckt->CKTdefaultMosL;
360  }
361  if (!here->MOSwGiven) {
362  here->MOSw = ckt->CKTdefaultMosW;
363  }
364  if (!here->MOSdrainAreaGiven) {
365  here->MOSdrainArea = ckt->CKTdefaultMosAD;
366  }
367 
368  if (!here->MOSsourceAreaGiven) {
369  here->MOSsourceArea = ckt->CKTdefaultMosAS;
370  }
371 
372  if (model->MOSdrainResistanceGiven) {
373  if (model->MOSdrainResistance != 0) {
374  here->MOSdrainConductance =
375  1/model->MOSdrainResistance;
376  }
377  else {
378  here->MOSdrainConductance = 0;
379  }
380  }
381  else if (model->MOSsheetResistanceGiven) {
382  if (model->MOSsheetResistance != 0) {
383  here->MOSdrainConductance =
384  1/(model->MOSsheetResistance*
385  here->MOSdrainSquares);
386  }
387  else {
388  here->MOSdrainConductance = 0;
389  }
390  }
391  else {
392  here->MOSdrainConductance = 0;
393  }
394  if (model->MOSsourceResistanceGiven) {
395  if (model->MOSsourceResistance != 0) {
396  here->MOSsourceConductance =
397  1/model->MOSsourceResistance;
398  }
399  else {
400  here->MOSsourceConductance = 0;
401  }
402  }
403  else if (model->MOSsheetResistanceGiven) {
404  if (model->MOSsheetResistance != 0) {
405  here->MOSsourceConductance =
406  1/(model->MOSsheetResistance*
407  here->MOSsourceSquares);
408  }
409  else {
410  here->MOSsourceConductance = 0;
411  }
412  }
413  else {
414  here->MOSsourceConductance = 0;
415  }
416 
417  here->MOSeffectiveLength = here->MOSl - 2*model->MOSlatDiff;
418  if (here->MOSeffectiveLength < 0) {
419  (*(SPfrontEnd->IFerror))(ERR_WARNING,
420  "%s: effective channel length less than zero",
421  &(here->MOSname));
422  here->MOSeffectiveLength = 0;
423  }
424 
425  /* assign internal nodes */
426 
427  if ((model->MOSdrainResistance != 0
428  || model->MOSsheetResistance != 0)
429  && here->MOSdNodePrime == 0) {
430  error = CKTmkVolt(ckt,&tmp,here->MOSname,"internal#drain");
431  if (error) return(error);
432  here->MOSdNodePrime = tmp->number;
433  }
434  else {
435  here->MOSdNodePrime = here->MOSdNode;
436  }
437 
438  if (((model->MOSsourceResistance != 0) ||
439  ((here->MOSsourceSquares != 0) &&
440  (model->MOSsheetResistance != 0))) &&
441  (here->MOSsNodePrime == 0)) {
442  error = CKTmkVolt(ckt,&tmp,here->MOSname,"internal#source");
443  if (error) return(error);
444  here->MOSsNodePrime = tmp->number;
445  }
446  else {
447  here->MOSsNodePrime = here->MOSsNode;
448  }
449 
450  TSTALLOC(MOSDdPtr, MOSdNode, MOSdNode)
451  TSTALLOC(MOSGgPtr, MOSgNode, MOSgNode)
452  TSTALLOC(MOSSsPtr, MOSsNode, MOSsNode)
453  TSTALLOC(MOSBbPtr, MOSbNode, MOSbNode)
454  TSTALLOC(MOSDPdpPtr, MOSdNodePrime, MOSdNodePrime)
455  TSTALLOC(MOSSPspPtr, MOSsNodePrime, MOSsNodePrime)
456  TSTALLOC(MOSDdpPtr, MOSdNode, MOSdNodePrime)
457  TSTALLOC(MOSGbPtr, MOSgNode, MOSbNode)
458  TSTALLOC(MOSGdpPtr, MOSgNode, MOSdNodePrime)
459  TSTALLOC(MOSGspPtr, MOSgNode, MOSsNodePrime)
460  TSTALLOC(MOSSspPtr, MOSsNode, MOSsNodePrime)
461  TSTALLOC(MOSBdpPtr, MOSbNode, MOSdNodePrime)
462  TSTALLOC(MOSBspPtr, MOSbNode, MOSsNodePrime)
463  TSTALLOC(MOSDPspPtr, MOSdNodePrime, MOSsNodePrime)
464  TSTALLOC(MOSDPdPtr, MOSdNodePrime, MOSdNode)
465  TSTALLOC(MOSBgPtr, MOSbNode, MOSgNode)
466  TSTALLOC(MOSDPgPtr, MOSdNodePrime, MOSgNode)
467  TSTALLOC(MOSSPgPtr, MOSsNodePrime, MOSgNode)
468  TSTALLOC(MOSSPsPtr, MOSsNodePrime, MOSsNode)
469  TSTALLOC(MOSDPbPtr, MOSdNodePrime, MOSbNode)
470  TSTALLOC(MOSSPbPtr, MOSsNodePrime, MOSbNode)
471  TSTALLOC(MOSSPdpPtr, MOSsNodePrime, MOSdNodePrime)
472 
473  }
474  }
475  return (OK);
476 }
unsigned MOSsigmaGiven
Definition: mosdefs.h:412
double MOSsourceResistance
Definition: mosdefs.h:289
double MOSgamma
Definition: mosdefs.h:286
struct sMOSmodel * MOSnextModel
Definition: mosdefs.h:274
double MOSdrainArea
Definition: mosdefs.h:36
double CKTdefaultMosW
Definition: cktdefs.h:205
unsigned MOSsheetResistanceGiven
Definition: mosdefs.h:378
MOSinstance * MOSinstances
Definition: mosdefs.h:276
double MOSlatDiff
Definition: mosdefs.h:303
unsigned MOSpclmGiven
Definition: mosdefs.h:423
double MOStemp
Definition: mosdefs.h:44
double MOSbulkJctPotential
Definition: mosdefs.h:293
double MOSem
Definition: mosdefs.h:352
unsigned MOSsourceAreaGiven
Definition: mosdefs.h:220
unsigned MOSicVGSGiven
Definition: mosdefs.h:229
unsigned MOSvdsatGiven
Definition: mosdefs.h:231
unsigned MOSlatDiffGiven
Definition: mosdefs.h:377
unsigned MOSk4Given
Definition: mosdefs.h:422
double MOSchannelCharge
Definition: mosdefs.h:317
unsigned MOScritFieldExpGiven
Definition: mosdefs.h:390
unsigned MOSk3Given
Definition: mosdefs.h:421
double MOSoxideThickness
Definition: mosdefs.h:302
unsigned MOStypeGiven
Definition: mosdefs.h:354
unsigned MOSoxideThicknessGiven
Definition: mosdefs.h:376
double MOSeta
Definition: mosdefs.h:328
unsigned MOSdrainAreaGiven
Definition: mosdefs.h:219
unsigned MOSkcGiven
Definition: mosdefs.h:409
unsigned MOSdeltaGiven
Definition: mosdefs.h:404
double MOStransconductance
Definition: mosdefs.h:285
unsigned MOSbulkCapFactorGiven
Definition: mosdefs.h:371
unsigned MOSemGiven
Definition: mosdefs.h:424
double CKTtemp
Definition: cktdefs.h:80
double MOSvt0
Definition: mosdefs.h:284
double MOSa2
Definition: mosdefs.h:346
double MOSgamma1
Definition: mosdefs.h:339
double MOSlamda0
Definition: mosdefs.h:341
unsigned MOSfNexpGiven
Definition: mosdefs.h:384
double MOSk3
Definition: mosdefs.h:349
double MOSsigma
Definition: mosdefs.h:340
double MOSbulkJctBotGradingCoeff
Definition: mosdefs.h:298
double MOSkc
Definition: mosdefs.h:337
static double e
Definition: vectors.c:17
double MOSsourcePerimeter
Definition: mosdefs.h:41
int MOStype
Definition: mosdefs.h:279
IFfrontEnd * SPfrontEnd
Definition: main.c:917
double MOSkappa
Definition: mosdefs.h:330
double MOSa1
Definition: mosdefs.h:345
double MOSl
Definition: mosdefs.h:34
double MOSmaxDriftVel
Definition: mosdefs.h:323
double MOSfNexp
Definition: mosdefs.h:310
int MOSdNodePrime
Definition: mosdefs.h:29
unsigned MOSicVDSGiven
Definition: mosdefs.h:228
double MOSbulkJctSideGradingCoeff
Definition: mosdefs.h:300
double MOSnarrowFactor
Definition: mosdefs.h:322
unsigned MOSdrainSquaresGiven
Definition: mosdefs.h:221
unsigned MOScapBSGiven
Definition: mosdefs.h:365
int MOSsNode
Definition: mosdefs.h:27
unsigned MOSncGiven
Definition: mosdefs.h:410
unsigned MOSdrainPerimeterGiven
Definition: mosdefs.h:223
#define TSTALLOC(ptr, first, second)
Definition: devdefs.h:124
double MOSjunctionDepth
Definition: mosdefs.h:324
double MOSw
Definition: mosdefs.h:35
unsigned MOSbulkJctSideGradingCoeffGiven
Definition: mosdefs.h:374
unsigned MOStransconductanceGiven
Definition: mosdefs.h:359
unsigned MOSgamma1Given
Definition: mosdefs.h:411
double MOSk4
Definition: mosdefs.h:350
unsigned MOSgateDrainOverlapCapFactorGiven
Definition: mosdefs.h:369
#define OK
Definition: iferrmsg.h:17
double MOSnc
Definition: mosdefs.h:338
double MOSk1
Definition: mosdefs.h:347
double MOSphi
Definition: mosdefs.h:287
double MOSdrainResistance
Definition: mosdefs.h:288
unsigned MOSfwdCapDepCoeffGiven
Definition: mosdefs.h:380
unsigned MOSgateBulkOverlapCapFactorGiven
Definition: mosdefs.h:370
double MOSvon
Definition: mosdefs.h:66
double MOSjctSatCurDensity
Definition: mosdefs.h:301
double MOSpclm
Definition: mosdefs.h:351
double MOSk2
Definition: mosdefs.h:348
unsigned MOSlamda0Given
Definition: mosdefs.h:413
double MOScapBD
Definition: mosdefs.h:290
unsigned MOSmaxDriftVelGiven
Definition: mosdefs.h:397
unsigned MOSjctSatCurGiven
Definition: mosdefs.h:366
unsigned MOSa1Given
Definition: mosdefs.h:417
unsigned MOSk2Given
Definition: mosdefs.h:420
#define NULL
Definition: spdefs.h:121
double MOSicVBS
Definition: mosdefs.h:63
unsigned MOSvt0Given
Definition: mosdefs.h:358
unsigned MOSicVBSGiven
Definition: mosdefs.h:227
double MOSdrainPerimeter
Definition: mosdefs.h:40
int MOSdNode
Definition: mosdefs.h:25
unsigned MOSdrainResistanceGiven
Definition: mosdefs.h:362
double MOScapBS
Definition: mosdefs.h:291
int number
Definition: cktdefs.h:39
int MOSlevel
Definition: mosdefs.h:280
double MOSsideWallCapFactor
Definition: mosdefs.h:299
unsigned MOSchannelChargeGiven
Definition: mosdefs.h:391
unsigned MOSnarrowFactorGiven
Definition: mosdefs.h:396
#define ERR_WARNING
Definition: ifsim.h:517
int MOSsNodePrime
Definition: mosdefs.h:30
double MOScritField
Definition: mosdefs.h:318
double MOSjctSatCur
Definition: mosdefs.h:292
unsigned MOSk1Given
Definition: mosdefs.h:419
unsigned MOSa2Given
Definition: mosdefs.h:418
unsigned MOSwGiven
Definition: mosdefs.h:218
double MOSfNcoef
Definition: mosdefs.h:309
double MOSicVGS
Definition: mosdefs.h:65
unsigned MOSfNcoefGiven
Definition: mosdefs.h:383
unsigned MOSthetaGiven
Definition: mosdefs.h:402
unsigned MOSsideWallCapFactorGiven
Definition: mosdefs.h:373
static char model[32]
Definition: subckt.c:76
double MOSfastSurfaceStateDensity
Definition: mosdefs.h:321
int MOSmode
Definition: mosdefs.h:32
double MOSdrainSquares
Definition: mosdefs.h:38
double CKTdefaultMosAD
Definition: cktdefs.h:206
unsigned MOSsourcePerimeterGiven
Definition: mosdefs.h:224
int MOSstates
Definition: mosdefs.h:23
double MOSgateSourceOverlapCapFactor
Definition: mosdefs.h:294
double MOSkv
Definition: mosdefs.h:335
unsigned MOSsourceSquaresGiven
Definition: mosdefs.h:222
unsigned MOSjunctionDepthGiven
Definition: mosdefs.h:398
double MOSsourceConductance
Definition: mosdefs.h:42
unsigned MOSgammaGiven
Definition: mosdefs.h:360
double MOSsheetResistance
Definition: mosdefs.h:304
#define MOSnumStates
Definition: mosdefs.h:261
unsigned MOSkvGiven
Definition: mosdefs.h:407
unsigned MOSlambdaGiven
Definition: mosdefs.h:387
unsigned MOSgateSourceOverlapCapFactorGiven
Definition: mosdefs.h:368
unsigned MOSsourceResistanceGiven
Definition: mosdefs.h:363
double MOScritFieldExp
Definition: mosdefs.h:316
double MOSlambda
Definition: mosdefs.h:313
unsigned MOSkappaGiven
Definition: mosdefs.h:403
double MOSeffectiveLength
Definition: mosdefs.h:91
unsigned MOSfastSurfaceStateDensityGiven
Definition: mosdefs.h:395
unsigned MOSbulkJctPotentialGiven
Definition: mosdefs.h:367
unsigned MOSlamda1Given
Definition: mosdefs.h:414
IFuid MOSname
Definition: mosdefs.h:22
double CKTdefaultMosAS
Definition: cktdefs.h:207
double CKTdefaultMosL
Definition: cktdefs.h:204
double MOStheta
Definition: mosdefs.h:329
int CKTmkVolt()
double MOSbulkCapFactor
Definition: mosdefs.h:297
double MOSlamda1
Definition: mosdefs.h:342
unsigned MOSphiGiven
Definition: mosdefs.h:361
#define SMPmatrix
Definition: smpdefs.h:11
double MOSsourceSquares
Definition: mosdefs.h:39
unsigned MOSlevelGiven
Definition: mosdefs.h:356
double MOSgateBulkOverlapCapFactor
Definition: mosdefs.h:296
double MOSgateDrainOverlapCapFactor
Definition: mosdefs.h:295
double MOSsourceArea
Definition: mosdefs.h:37
double MOSdelta
Definition: mosdefs.h:331
unsigned MOSlGiven
Definition: mosdefs.h:217
double MOSfwdCapDepCoeff
Definition: mosdefs.h:306
unsigned MOScritFieldGiven
Definition: mosdefs.h:392
unsigned MOSnvGiven
Definition: mosdefs.h:408
unsigned MOSbulkJctBotGradingCoeffGiven
Definition: mosdefs.h:372
struct sMOSinstance * MOSnextInstance
Definition: mosdefs.h:20
double MOSnv
Definition: mosdefs.h:336
unsigned MOSetaGiven
Definition: mosdefs.h:401
#define NMOS
Definition: bsim1def.h:472
unsigned MOSjctSatCurDensityGiven
Definition: mosdefs.h:375
double MOSvdsat
Definition: mosdefs.h:67
double MOSdrainConductance
Definition: mosdefs.h:43
double MOSicVDS
Definition: mosdefs.h:64
unsigned MOStempGiven
Definition: mosdefs.h:216
int MOSsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
Definition: mosset.c:20
unsigned MOScapBDGiven
Definition: mosdefs.h:364