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