1 /********** 2 Copyright 1999 Regents of the University of California. All rights reserved. 3 Author: Weidong Liu and Pin Su Feb 1999 4 Author: 1998 Samuel Fung 5 Modified by Pin Su, Wei Jin 99/9/27 6 File: b3soidddef.h 7 Modified by Paolo Nenzi 2002 8 **********/ 9 10 #ifndef B3SOIDD 11 #define B3SOIDD 12 13 #define SOICODE 14 /* #define BULKCODE */ 15 16 #include "ngspice/ifsim.h" 17 #include "ngspice/gendefs.h" 18 #include "ngspice/cktdefs.h" 19 #include "ngspice/complex.h" 20 #include "ngspice/noisedef.h" 21 22 typedef struct sB3SOIDDinstance 23 { 24 25 struct GENinstance gen; 26 27 #define B3SOIDDmodPtr(inst) ((struct sB3SOIDDmodel *)((inst)->gen.GENmodPtr)) 28 #define B3SOIDDnextInstance(inst) ((struct sB3SOIDDinstance *)((inst)->gen.GENnextInstance)) 29 #define B3SOIDDname gen.GENname 30 #define B3SOIDDstates gen.GENstate 31 32 const int B3SOIDDdNode; 33 const int B3SOIDDgNode; 34 const int B3SOIDDsNode; 35 const int B3SOIDDeNode; 36 const int B3SOIDDbNodeExt; 37 const int B3SOIDDtempNodeExt; 38 const int B3SOIDDpNodeExt; 39 int B3SOIDDbNode; 40 int B3SOIDDtempNode; 41 int B3SOIDDpNode; 42 int B3SOIDDdNodePrime; 43 int B3SOIDDsNodePrime; 44 45 int B3SOIDDvbsNode; 46 /* for Debug */ 47 int B3SOIDDidsNode; 48 int B3SOIDDicNode; 49 int B3SOIDDibsNode; 50 int B3SOIDDibdNode; 51 int B3SOIDDiiiNode; 52 int B3SOIDDigidlNode; 53 int B3SOIDDitunNode; 54 int B3SOIDDibpNode; 55 int B3SOIDDabeffNode; 56 int B3SOIDDvbs0effNode; 57 int B3SOIDDvbseffNode; 58 int B3SOIDDxcNode; 59 int B3SOIDDcbbNode; 60 int B3SOIDDcbdNode; 61 int B3SOIDDcbeNode; 62 int B3SOIDDcbgNode; 63 int B3SOIDDqbNode; 64 int B3SOIDDqbfNode; 65 int B3SOIDDqjsNode; 66 int B3SOIDDqjdNode; 67 68 /* clean up last */ 69 int B3SOIDDgmNode; 70 int B3SOIDDgmbsNode; 71 int B3SOIDDgdsNode; 72 int B3SOIDDgmeNode; 73 int B3SOIDDqgNode; 74 int B3SOIDDqdNode; 75 int B3SOIDDqeNode; 76 int B3SOIDDiterations; 77 int B3SOIDDvbs0teffNode; 78 int B3SOIDDvthNode; 79 int B3SOIDDvgsteffNode; 80 int B3SOIDDxcsatNode; 81 int B3SOIDDqaccNode; 82 int B3SOIDDqsub0Node; 83 int B3SOIDDqsubs1Node; 84 int B3SOIDDqsubs2Node; 85 int B3SOIDDvcscvNode; 86 int B3SOIDDvdscvNode; 87 int B3SOIDDdum1Node; 88 int B3SOIDDdum2Node; 89 int B3SOIDDdum3Node; 90 int B3SOIDDdum4Node; 91 int B3SOIDDdum5Node; 92 /* end clean up last */ 93 94 double B3SOIDDphi; 95 double B3SOIDDvtm; 96 double B3SOIDDni; 97 double B3SOIDDueff; 98 double B3SOIDDthetavth; 99 double B3SOIDDvon; 100 double B3SOIDDvbsdio; 101 double B3SOIDDvdsat; 102 double B3SOIDDcgdo; 103 double B3SOIDDcgso; 104 double B3SOIDDcgeo; 105 106 double B3SOIDDids; 107 double B3SOIDDic; 108 double B3SOIDDibs; 109 double B3SOIDDibd; 110 double B3SOIDDiii; 111 double B3SOIDDigidl; 112 double B3SOIDDitun; 113 double B3SOIDDibp; 114 double B3SOIDDabeff; 115 double B3SOIDDvbs0eff; 116 double B3SOIDDvbseff; 117 double B3SOIDDxc; 118 double B3SOIDDcbg; 119 double B3SOIDDcbb; 120 double B3SOIDDcbd; 121 double B3SOIDDqb; 122 double B3SOIDDqbf; 123 double B3SOIDDqjs; 124 double B3SOIDDqjd; 125 double B3SOIDDminIsub; 126 int B3SOIDDfloat; 127 128 /* clean up last */ 129 double B3SOIDDdum1; 130 double B3SOIDDdum2; 131 double B3SOIDDdum3; 132 double B3SOIDDdum4; 133 double B3SOIDDdum5; 134 /* end clean up last */ 135 136 double B3SOIDDl; 137 double B3SOIDDw; 138 double B3SOIDDm; 139 double B3SOIDDdrainArea; 140 double B3SOIDDsourceArea; 141 double B3SOIDDdrainSquares; 142 double B3SOIDDsourceSquares; 143 double B3SOIDDdrainPerimeter; 144 double B3SOIDDsourcePerimeter; 145 double B3SOIDDsourceConductance; 146 double B3SOIDDdrainConductance; 147 148 double B3SOIDDicVBS; 149 double B3SOIDDicVDS; 150 double B3SOIDDicVGS; 151 double B3SOIDDicVES; 152 double B3SOIDDicVPS; 153 int B3SOIDDbjtoff; 154 int B3SOIDDbodyMod; 155 int B3SOIDDdebugMod; 156 double B3SOIDDrth0; 157 double B3SOIDDcth0; 158 double B3SOIDDbodySquares; 159 double B3SOIDDrbodyext; 160 161 double B3SOIDDcsbox; 162 double B3SOIDDcdbox; 163 double B3SOIDDcsmin; 164 double B3SOIDDcdmin; 165 double B3SOIDDst4; 166 double B3SOIDDdt4; 167 168 int B3SOIDDoff; 169 int B3SOIDDmode; 170 171 /* OP point */ 172 double B3SOIDDqinv; 173 double B3SOIDDcd; 174 double B3SOIDDcjs; 175 double B3SOIDDcjd; 176 double B3SOIDDcbody; 177 double B3SOIDDcbodcon; 178 double B3SOIDDcth; 179 double B3SOIDDcsubstrate; 180 181 double B3SOIDDgm; 182 double B3SOIDDgme; 183 double B3SOIDDcb; 184 double B3SOIDDcdrain; 185 double B3SOIDDgds; 186 double B3SOIDDgmbs; 187 double B3SOIDDgmT; 188 189 double B3SOIDDgbbs; 190 double B3SOIDDgbgs; 191 double B3SOIDDgbds; 192 double B3SOIDDgbes; 193 double B3SOIDDgbps; 194 double B3SOIDDgbT; 195 196 double B3SOIDDgjsd; 197 double B3SOIDDgjsb; 198 double B3SOIDDgjsg; 199 double B3SOIDDgjsT; 200 201 double B3SOIDDgjdb; 202 double B3SOIDDgjdd; 203 double B3SOIDDgjdg; 204 double B3SOIDDgjde; 205 double B3SOIDDgjdT; 206 207 double B3SOIDDgbpbs; 208 double B3SOIDDgbpgs; 209 double B3SOIDDgbpds; 210 double B3SOIDDgbpes; 211 double B3SOIDDgbpps; 212 double B3SOIDDgbpT; 213 214 double B3SOIDDgtempb; 215 double B3SOIDDgtempg; 216 double B3SOIDDgtempd; 217 double B3SOIDDgtempe; 218 double B3SOIDDgtempT; 219 220 double B3SOIDDcggb; 221 double B3SOIDDcgdb; 222 double B3SOIDDcgsb; 223 double B3SOIDDcgeb; 224 double B3SOIDDcgT; 225 226 double B3SOIDDcbgb; 227 double B3SOIDDcbdb; 228 double B3SOIDDcbsb; 229 double B3SOIDDcbeb; 230 double B3SOIDDcbT; 231 232 double B3SOIDDcdgb; 233 double B3SOIDDcddb; 234 double B3SOIDDcdsb; 235 double B3SOIDDcdeb; 236 double B3SOIDDcdT; 237 238 double B3SOIDDcegb; 239 double B3SOIDDcedb; 240 double B3SOIDDcesb; 241 double B3SOIDDceeb; 242 double B3SOIDDceT; 243 244 double B3SOIDDqse; 245 double B3SOIDDgcse; 246 double B3SOIDDqde; 247 double B3SOIDDgcde; 248 249 struct b3soiddSizeDependParam *pParam; 250 251 unsigned B3SOIDDlGiven :1; 252 unsigned B3SOIDDwGiven :1; 253 unsigned B3SOIDDmGiven :1; 254 unsigned B3SOIDDdrainAreaGiven :1; 255 unsigned B3SOIDDsourceAreaGiven :1; 256 unsigned B3SOIDDdrainSquaresGiven :1; 257 unsigned B3SOIDDsourceSquaresGiven :1; 258 unsigned B3SOIDDdrainPerimeterGiven :1; 259 unsigned B3SOIDDsourcePerimeterGiven :1; 260 unsigned B3SOIDDdNodePrimeSet :1; 261 unsigned B3SOIDDsNodePrimeSet :1; 262 unsigned B3SOIDDicVBSGiven :1; 263 unsigned B3SOIDDicVDSGiven :1; 264 unsigned B3SOIDDicVGSGiven :1; 265 unsigned B3SOIDDicVESGiven :1; 266 unsigned B3SOIDDicVPSGiven :1; 267 unsigned B3SOIDDbjtoffGiven :1; 268 unsigned B3SOIDDdebugModGiven :1; 269 unsigned B3SOIDDrth0Given :1; 270 unsigned B3SOIDDcth0Given :1; 271 unsigned B3SOIDDbodySquaresGiven :1; 272 unsigned B3SOIDDoffGiven :1; 273 274 double *B3SOIDDEePtr; 275 double *B3SOIDDEbPtr; 276 double *B3SOIDDBePtr; 277 double *B3SOIDDEgPtr; 278 double *B3SOIDDEdpPtr; 279 double *B3SOIDDEspPtr; 280 double *B3SOIDDTemptempPtr; 281 double *B3SOIDDTempdpPtr; 282 double *B3SOIDDTempspPtr; 283 double *B3SOIDDTempgPtr; 284 double *B3SOIDDTempbPtr; 285 double *B3SOIDDTempePtr; 286 double *B3SOIDDGtempPtr; 287 double *B3SOIDDDPtempPtr; 288 double *B3SOIDDSPtempPtr; 289 double *B3SOIDDEtempPtr; 290 double *B3SOIDDBtempPtr; 291 double *B3SOIDDPtempPtr; 292 double *B3SOIDDBpPtr; 293 double *B3SOIDDPbPtr; 294 double *B3SOIDDPpPtr; 295 double *B3SOIDDPgPtr; 296 double *B3SOIDDPdpPtr; 297 double *B3SOIDDPspPtr; 298 double *B3SOIDDPePtr; 299 double *B3SOIDDDPePtr; 300 double *B3SOIDDSPePtr; 301 double *B3SOIDDGePtr; 302 double *B3SOIDDDdPtr; 303 double *B3SOIDDGgPtr; 304 double *B3SOIDDSsPtr; 305 double *B3SOIDDBbPtr; 306 double *B3SOIDDDPdpPtr; 307 double *B3SOIDDSPspPtr; 308 double *B3SOIDDDdpPtr; 309 double *B3SOIDDGbPtr; 310 double *B3SOIDDGdpPtr; 311 double *B3SOIDDGspPtr; 312 double *B3SOIDDSspPtr; 313 double *B3SOIDDBdpPtr; 314 double *B3SOIDDBspPtr; 315 double *B3SOIDDDPspPtr; 316 double *B3SOIDDDPdPtr; 317 double *B3SOIDDBgPtr; 318 double *B3SOIDDDPgPtr; 319 double *B3SOIDDSPgPtr; 320 double *B3SOIDDSPsPtr; 321 double *B3SOIDDDPbPtr; 322 double *B3SOIDDSPbPtr; 323 double *B3SOIDDSPdpPtr; 324 325 double *B3SOIDDVbsPtr; 326 /* Debug */ 327 double *B3SOIDDIdsPtr; 328 double *B3SOIDDIcPtr; 329 double *B3SOIDDIbsPtr; 330 double *B3SOIDDIbdPtr; 331 double *B3SOIDDIiiPtr; 332 double *B3SOIDDIgidlPtr; 333 double *B3SOIDDItunPtr; 334 double *B3SOIDDIbpPtr; 335 double *B3SOIDDAbeffPtr; 336 double *B3SOIDDVbs0effPtr; 337 double *B3SOIDDVbseffPtr; 338 double *B3SOIDDXcPtr; 339 double *B3SOIDDCbbPtr; 340 double *B3SOIDDCbdPtr; 341 double *B3SOIDDCbgPtr; 342 double *B3SOIDDqbPtr; 343 double *B3SOIDDQbfPtr; 344 double *B3SOIDDQjsPtr; 345 double *B3SOIDDQjdPtr; 346 347 /* clean up last */ 348 double *B3SOIDDGmPtr; 349 double *B3SOIDDGmbsPtr; 350 double *B3SOIDDGdsPtr; 351 double *B3SOIDDGmePtr; 352 double *B3SOIDDVbs0teffPtr; 353 double *B3SOIDDVthPtr; 354 double *B3SOIDDVgsteffPtr; 355 double *B3SOIDDXcsatPtr; 356 double *B3SOIDDQaccPtr; 357 double *B3SOIDDQsub0Ptr; 358 double *B3SOIDDQsubs1Ptr; 359 double *B3SOIDDQsubs2Ptr; 360 double *B3SOIDDVdscvPtr; 361 double *B3SOIDDVcscvPtr; 362 double *B3SOIDDCbePtr; 363 double *B3SOIDDqgPtr; 364 double *B3SOIDDqdPtr; 365 double *B3SOIDDqePtr; 366 double *B3SOIDDDum1Ptr; 367 double *B3SOIDDDum2Ptr; 368 double *B3SOIDDDum3Ptr; 369 double *B3SOIDDDum4Ptr; 370 double *B3SOIDDDum5Ptr; 371 /* End clean up last */ 372 373 #define B3SOIDDvbd B3SOIDDstates+ 0 374 #define B3SOIDDvbs B3SOIDDstates+ 1 375 #define B3SOIDDvgs B3SOIDDstates+ 2 376 #define B3SOIDDvds B3SOIDDstates+ 3 377 #define B3SOIDDves B3SOIDDstates+ 4 378 #define B3SOIDDvps B3SOIDDstates+ 5 379 380 #define B3SOIDDvg B3SOIDDstates+ 6 381 #define B3SOIDDvd B3SOIDDstates+ 7 382 #define B3SOIDDvs B3SOIDDstates+ 8 383 #define B3SOIDDvp B3SOIDDstates+ 9 384 #define B3SOIDDve B3SOIDDstates+ 10 385 #define B3SOIDDdeltemp B3SOIDDstates+ 11 386 387 #define B3SOIDDqb B3SOIDDstates+ 12 388 #define B3SOIDDcqb B3SOIDDstates+ 13 389 #define B3SOIDDqg B3SOIDDstates+ 14 390 #define B3SOIDDcqg B3SOIDDstates+ 15 391 #define B3SOIDDqd B3SOIDDstates+ 16 392 #define B3SOIDDcqd B3SOIDDstates+ 17 393 #define B3SOIDDqe B3SOIDDstates+ 18 394 #define B3SOIDDcqe B3SOIDDstates+ 19 395 396 #define B3SOIDDqbs B3SOIDDstates+ 20 397 #define B3SOIDDqbd B3SOIDDstates+ 21 398 #define B3SOIDDqbe B3SOIDDstates+ 22 399 400 #define B3SOIDDqth B3SOIDDstates+ 23 401 #define B3SOIDDcqth B3SOIDDstates+ 24 402 403 #define B3SOIDDnumStates 25 404 405 406 /* indices to the array of B3SOIDD NOISE SOURCES */ 407 408 #define B3SOIDDRDNOIZ 0 409 #define B3SOIDDRSNOIZ 1 410 #define B3SOIDDIDNOIZ 2 411 #define B3SOIDDFLNOIZ 3 412 #define B3SOIDDFBNOIZ 4 413 #define B3SOIDDTOTNOIZ 5 414 415 #define B3SOIDDNSRCS 6 /* the number of MOSFET(3) noise sources */ 416 417 #ifndef NONOISE 418 double B3SOIDDnVar[NSTATVARS][B3SOIDDNSRCS]; 419 #else /* NONOISE */ 420 double **B3SOIDDnVar; 421 #endif /* NONOISE */ 422 423 } B3SOIDDinstance ; 424 425 struct b3soiddSizeDependParam 426 { 427 double Width; 428 double Length; 429 double Rth0; 430 double Cth0; 431 432 double B3SOIDDcdsc; 433 double B3SOIDDcdscb; 434 double B3SOIDDcdscd; 435 double B3SOIDDcit; 436 double B3SOIDDnfactor; 437 double B3SOIDDvsat; 438 double B3SOIDDat; 439 double B3SOIDDa0; 440 double B3SOIDDags; 441 double B3SOIDDa1; 442 double B3SOIDDa2; 443 double B3SOIDDketa; 444 double B3SOIDDnpeak; 445 double B3SOIDDnsub; 446 double B3SOIDDngate; 447 double B3SOIDDgamma1; 448 double B3SOIDDgamma2; 449 double B3SOIDDvbx; 450 double B3SOIDDvbi; 451 double B3SOIDDvbm; 452 double B3SOIDDvbsc; 453 double B3SOIDDxt; 454 double B3SOIDDphi; 455 double B3SOIDDlitl; 456 double B3SOIDDk1; 457 double B3SOIDDkt1; 458 double B3SOIDDkt1l; 459 double B3SOIDDkt2; 460 double B3SOIDDk2; 461 double B3SOIDDk3; 462 double B3SOIDDk3b; 463 double B3SOIDDw0; 464 double B3SOIDDnlx; 465 double B3SOIDDdvt0; 466 double B3SOIDDdvt1; 467 double B3SOIDDdvt2; 468 double B3SOIDDdvt0w; 469 double B3SOIDDdvt1w; 470 double B3SOIDDdvt2w; 471 double B3SOIDDdrout; 472 double B3SOIDDdsub; 473 double B3SOIDDvth0; 474 double B3SOIDDua; 475 double B3SOIDDua1; 476 double B3SOIDDub; 477 double B3SOIDDub1; 478 double B3SOIDDuc; 479 double B3SOIDDuc1; 480 double B3SOIDDu0; 481 double B3SOIDDute; 482 double B3SOIDDvoff; 483 double B3SOIDDvfb; 484 double B3SOIDDuatemp; 485 double B3SOIDDubtemp; 486 double B3SOIDDuctemp; 487 double B3SOIDDrbody; 488 double B3SOIDDrth; 489 double B3SOIDDcth; 490 double B3SOIDDrds0denom; 491 double B3SOIDDvfbb; 492 double B3SOIDDjbjt; 493 double B3SOIDDjdif; 494 double B3SOIDDjrec; 495 double B3SOIDDjtun; 496 double B3SOIDDcsesw; 497 double B3SOIDDcdesw; 498 499 /* Added */ 500 double B3SOIDDsdt1; 501 double B3SOIDDst2; 502 double B3SOIDDst3; 503 double B3SOIDDdt2; 504 double B3SOIDDdt3; 505 /* Added */ 506 507 double B3SOIDDdelta; 508 double B3SOIDDrdsw; 509 double B3SOIDDrds0; 510 double B3SOIDDprwg; 511 double B3SOIDDprwb; 512 double B3SOIDDprt; 513 double B3SOIDDeta0; 514 double B3SOIDDetab; 515 double B3SOIDDpclm; 516 double B3SOIDDpdibl1; 517 double B3SOIDDpdibl2; 518 double B3SOIDDpdiblb; 519 double B3SOIDDpvag; 520 double B3SOIDDwr; 521 double B3SOIDDdwg; 522 double B3SOIDDdwb; 523 double B3SOIDDb0; 524 double B3SOIDDb1; 525 double B3SOIDDalpha0; 526 double B3SOIDDalpha1; 527 double B3SOIDDbeta0; 528 529 530 /* CV model */ 531 double B3SOIDDcgsl; 532 double B3SOIDDcgdl; 533 double B3SOIDDckappa; 534 double B3SOIDDcf; 535 double B3SOIDDclc; 536 double B3SOIDDcle; 537 538 /* Added for binning - START0 */ 539 double B3SOIDDvbsa; 540 double B3SOIDDdelp; 541 double B3SOIDDkb1; 542 double B3SOIDDkb3; 543 double B3SOIDDdvbd0; 544 double B3SOIDDdvbd1; 545 double B3SOIDDabp; 546 double B3SOIDDmxc; 547 double B3SOIDDadice0; 548 double B3SOIDDaii; 549 double B3SOIDDbii; 550 double B3SOIDDcii; 551 double B3SOIDDdii; 552 double B3SOIDDagidl; 553 double B3SOIDDbgidl; 554 double B3SOIDDngidl; 555 double B3SOIDDntun; 556 double B3SOIDDndiode; 557 double B3SOIDDisbjt; 558 double B3SOIDDisdif; 559 double B3SOIDDisrec; 560 double B3SOIDDistun; 561 double B3SOIDDedl; 562 double B3SOIDDkbjt1; 563 double B3SOIDDvsdfb; 564 double B3SOIDDvsdth; 565 /* Added for binning - END0 */ 566 567 /* Pre-calculated constants */ 568 569 double B3SOIDDdw; 570 double B3SOIDDdl; 571 double B3SOIDDleff; 572 double B3SOIDDweff; 573 574 double B3SOIDDdwc; 575 double B3SOIDDdlc; 576 double B3SOIDDleffCV; 577 double B3SOIDDweffCV; 578 double B3SOIDDabulkCVfactor; 579 double B3SOIDDcgso; 580 double B3SOIDDcgdo; 581 double B3SOIDDcgeo; 582 583 double B3SOIDDu0temp; 584 double B3SOIDDvsattemp; 585 double B3SOIDDsqrtPhi; 586 double B3SOIDDphis3; 587 double B3SOIDDXdep0; 588 double B3SOIDDsqrtXdep0; 589 double B3SOIDDtheta0vb0; 590 double B3SOIDDthetaRout; 591 592 double B3SOIDDcof1; 593 double B3SOIDDcof2; 594 double B3SOIDDcof3; 595 double B3SOIDDcof4; 596 double B3SOIDDcdep0; 597 struct b3soiddSizeDependParam *pNext; 598 }; 599 600 601 typedef struct sB3SOIDDmodel 602 { 603 604 struct GENmodel gen; 605 606 #define B3SOIDDmodType gen.GENmodType 607 #define B3SOIDDnextModel(inst) ((struct sB3SOIDDmodel *)((inst)->gen.GENnextModel)) 608 #define B3SOIDDinstances(inst) ((B3SOIDDinstance *)((inst)->gen.GENinstances)) 609 #define B3SOIDDmodName gen.GENmodName 610 611 int B3SOIDDtype; 612 613 int B3SOIDDmobMod; 614 int B3SOIDDcapMod; 615 int B3SOIDDnoiMod; 616 int B3SOIDDshMod; 617 int B3SOIDDbinUnit; 618 int B3SOIDDparamChk; 619 double B3SOIDDversion; 620 double B3SOIDDtox; 621 double B3SOIDDcdsc; 622 double B3SOIDDcdscb; 623 double B3SOIDDcdscd; 624 double B3SOIDDcit; 625 double B3SOIDDnfactor; 626 double B3SOIDDvsat; 627 double B3SOIDDat; 628 double B3SOIDDa0; 629 double B3SOIDDags; 630 double B3SOIDDa1; 631 double B3SOIDDa2; 632 double B3SOIDDketa; 633 double B3SOIDDnsub; 634 double B3SOIDDnpeak; 635 double B3SOIDDngate; 636 double B3SOIDDgamma1; 637 double B3SOIDDgamma2; 638 double B3SOIDDvbx; 639 double B3SOIDDvbm; 640 double B3SOIDDxt; 641 double B3SOIDDk1; 642 double B3SOIDDkt1; 643 double B3SOIDDkt1l; 644 double B3SOIDDkt2; 645 double B3SOIDDk2; 646 double B3SOIDDk3; 647 double B3SOIDDk3b; 648 double B3SOIDDw0; 649 double B3SOIDDnlx; 650 double B3SOIDDdvt0; 651 double B3SOIDDdvt1; 652 double B3SOIDDdvt2; 653 double B3SOIDDdvt0w; 654 double B3SOIDDdvt1w; 655 double B3SOIDDdvt2w; 656 double B3SOIDDdrout; 657 double B3SOIDDdsub; 658 double B3SOIDDvth0; 659 double B3SOIDDua; 660 double B3SOIDDua1; 661 double B3SOIDDub; 662 double B3SOIDDub1; 663 double B3SOIDDuc; 664 double B3SOIDDuc1; 665 double B3SOIDDu0; 666 double B3SOIDDute; 667 double B3SOIDDvoff; 668 double B3SOIDDdelta; 669 double B3SOIDDrdsw; 670 double B3SOIDDprwg; 671 double B3SOIDDprwb; 672 double B3SOIDDprt; 673 double B3SOIDDeta0; 674 double B3SOIDDetab; 675 double B3SOIDDpclm; 676 double B3SOIDDpdibl1; 677 double B3SOIDDpdibl2; 678 double B3SOIDDpdiblb; 679 double B3SOIDDpvag; 680 double B3SOIDDwr; 681 double B3SOIDDdwg; 682 double B3SOIDDdwb; 683 double B3SOIDDb0; 684 double B3SOIDDb1; 685 double B3SOIDDalpha0; 686 double B3SOIDDalpha1; 687 double B3SOIDDbeta0; 688 double B3SOIDDtbox; 689 double B3SOIDDtsi; 690 double B3SOIDDxj; 691 double B3SOIDDkb1; 692 double B3SOIDDkb3; 693 double B3SOIDDdvbd0; 694 double B3SOIDDdvbd1; 695 double B3SOIDDvbsa; 696 double B3SOIDDdelp; 697 double B3SOIDDrbody; 698 double B3SOIDDrbsh; 699 double B3SOIDDadice0; 700 double B3SOIDDabp; 701 double B3SOIDDmxc; 702 double B3SOIDDrth0; 703 double B3SOIDDcth0; 704 double B3SOIDDaii; 705 double B3SOIDDbii; 706 double B3SOIDDcii; 707 double B3SOIDDdii; 708 double B3SOIDDngidl; 709 double B3SOIDDagidl; 710 double B3SOIDDbgidl; 711 double B3SOIDDndiode; 712 double B3SOIDDntun; 713 double B3SOIDDisbjt; 714 double B3SOIDDisdif; 715 double B3SOIDDisrec; 716 double B3SOIDDistun; 717 double B3SOIDDxbjt; 718 double B3SOIDDxdif; 719 double B3SOIDDxrec; 720 double B3SOIDDxtun; 721 double B3SOIDDedl; 722 double B3SOIDDkbjt1; 723 double B3SOIDDtt; 724 double B3SOIDDvsdfb; 725 double B3SOIDDvsdth; 726 double B3SOIDDcsdmin; 727 double B3SOIDDasd; 728 729 /* CV model */ 730 double B3SOIDDcgsl; 731 double B3SOIDDcgdl; 732 double B3SOIDDckappa; 733 double B3SOIDDcf; 734 double B3SOIDDclc; 735 double B3SOIDDcle; 736 double B3SOIDDdwc; 737 double B3SOIDDdlc; 738 739 double B3SOIDDtnom; 740 double B3SOIDDcgso; 741 double B3SOIDDcgdo; 742 double B3SOIDDcgeo; 743 744 double B3SOIDDxpart; 745 double B3SOIDDcFringOut; 746 double B3SOIDDcFringMax; 747 748 double B3SOIDDsheetResistance; 749 double B3SOIDDbodyJctGateSideGradingCoeff; 750 double B3SOIDDGatesidewallJctPotential; 751 double B3SOIDDunitLengthGateSidewallJctCap; 752 double B3SOIDDcsdesw; 753 754 double B3SOIDDLint; 755 double B3SOIDDLl; 756 double B3SOIDDLln; 757 double B3SOIDDLw; 758 double B3SOIDDLwn; 759 double B3SOIDDLwl; 760 double B3SOIDDLmin; 761 double B3SOIDDLmax; 762 763 double B3SOIDDWint; 764 double B3SOIDDWl; 765 double B3SOIDDWln; 766 double B3SOIDDWw; 767 double B3SOIDDWwn; 768 double B3SOIDDWwl; 769 double B3SOIDDWmin; 770 double B3SOIDDWmax; 771 772 /* Added for binning - START1 */ 773 /* Length Dependence */ 774 double B3SOIDDlnpeak; 775 double B3SOIDDlnsub; 776 double B3SOIDDlngate; 777 double B3SOIDDlvth0; 778 double B3SOIDDlk1; 779 double B3SOIDDlk2; 780 double B3SOIDDlk3; 781 double B3SOIDDlk3b; 782 double B3SOIDDlvbsa; 783 double B3SOIDDldelp; 784 double B3SOIDDlkb1; 785 double B3SOIDDlkb3; 786 double B3SOIDDldvbd0; 787 double B3SOIDDldvbd1; 788 double B3SOIDDlw0; 789 double B3SOIDDlnlx; 790 double B3SOIDDldvt0; 791 double B3SOIDDldvt1; 792 double B3SOIDDldvt2; 793 double B3SOIDDldvt0w; 794 double B3SOIDDldvt1w; 795 double B3SOIDDldvt2w; 796 double B3SOIDDlu0; 797 double B3SOIDDlua; 798 double B3SOIDDlub; 799 double B3SOIDDluc; 800 double B3SOIDDlvsat; 801 double B3SOIDDla0; 802 double B3SOIDDlags; 803 double B3SOIDDlb0; 804 double B3SOIDDlb1; 805 double B3SOIDDlketa; 806 double B3SOIDDlabp; 807 double B3SOIDDlmxc; 808 double B3SOIDDladice0; 809 double B3SOIDDla1; 810 double B3SOIDDla2; 811 double B3SOIDDlrdsw; 812 double B3SOIDDlprwb; 813 double B3SOIDDlprwg; 814 double B3SOIDDlwr; 815 double B3SOIDDlnfactor; 816 double B3SOIDDldwg; 817 double B3SOIDDldwb; 818 double B3SOIDDlvoff; 819 double B3SOIDDleta0; 820 double B3SOIDDletab; 821 double B3SOIDDldsub; 822 double B3SOIDDlcit; 823 double B3SOIDDlcdsc; 824 double B3SOIDDlcdscb; 825 double B3SOIDDlcdscd; 826 double B3SOIDDlpclm; 827 double B3SOIDDlpdibl1; 828 double B3SOIDDlpdibl2; 829 double B3SOIDDlpdiblb; 830 double B3SOIDDldrout; 831 double B3SOIDDlpvag; 832 double B3SOIDDldelta; 833 double B3SOIDDlaii; 834 double B3SOIDDlbii; 835 double B3SOIDDlcii; 836 double B3SOIDDldii; 837 double B3SOIDDlalpha0; 838 double B3SOIDDlalpha1; 839 double B3SOIDDlbeta0; 840 double B3SOIDDlagidl; 841 double B3SOIDDlbgidl; 842 double B3SOIDDlngidl; 843 double B3SOIDDlntun; 844 double B3SOIDDlndiode; 845 double B3SOIDDlisbjt; 846 double B3SOIDDlisdif; 847 double B3SOIDDlisrec; 848 double B3SOIDDlistun; 849 double B3SOIDDledl; 850 double B3SOIDDlkbjt1; 851 /* CV model */ 852 double B3SOIDDlvsdfb; 853 double B3SOIDDlvsdth; 854 855 /* Width Dependence */ 856 double B3SOIDDwnpeak; 857 double B3SOIDDwnsub; 858 double B3SOIDDwngate; 859 double B3SOIDDwvth0; 860 double B3SOIDDwk1; 861 double B3SOIDDwk2; 862 double B3SOIDDwk3; 863 double B3SOIDDwk3b; 864 double B3SOIDDwvbsa; 865 double B3SOIDDwdelp; 866 double B3SOIDDwkb1; 867 double B3SOIDDwkb3; 868 double B3SOIDDwdvbd0; 869 double B3SOIDDwdvbd1; 870 double B3SOIDDww0; 871 double B3SOIDDwnlx; 872 double B3SOIDDwdvt0; 873 double B3SOIDDwdvt1; 874 double B3SOIDDwdvt2; 875 double B3SOIDDwdvt0w; 876 double B3SOIDDwdvt1w; 877 double B3SOIDDwdvt2w; 878 double B3SOIDDwu0; 879 double B3SOIDDwua; 880 double B3SOIDDwub; 881 double B3SOIDDwuc; 882 double B3SOIDDwvsat; 883 double B3SOIDDwa0; 884 double B3SOIDDwags; 885 double B3SOIDDwb0; 886 double B3SOIDDwb1; 887 double B3SOIDDwketa; 888 double B3SOIDDwabp; 889 double B3SOIDDwmxc; 890 double B3SOIDDwadice0; 891 double B3SOIDDwa1; 892 double B3SOIDDwa2; 893 double B3SOIDDwrdsw; 894 double B3SOIDDwprwb; 895 double B3SOIDDwprwg; 896 double B3SOIDDwwr; 897 double B3SOIDDwnfactor; 898 double B3SOIDDwdwg; 899 double B3SOIDDwdwb; 900 double B3SOIDDwvoff; 901 double B3SOIDDweta0; 902 double B3SOIDDwetab; 903 double B3SOIDDwdsub; 904 double B3SOIDDwcit; 905 double B3SOIDDwcdsc; 906 double B3SOIDDwcdscb; 907 double B3SOIDDwcdscd; 908 double B3SOIDDwpclm; 909 double B3SOIDDwpdibl1; 910 double B3SOIDDwpdibl2; 911 double B3SOIDDwpdiblb; 912 double B3SOIDDwdrout; 913 double B3SOIDDwpvag; 914 double B3SOIDDwdelta; 915 double B3SOIDDwaii; 916 double B3SOIDDwbii; 917 double B3SOIDDwcii; 918 double B3SOIDDwdii; 919 double B3SOIDDwalpha0; 920 double B3SOIDDwalpha1; 921 double B3SOIDDwbeta0; 922 double B3SOIDDwagidl; 923 double B3SOIDDwbgidl; 924 double B3SOIDDwngidl; 925 double B3SOIDDwntun; 926 double B3SOIDDwndiode; 927 double B3SOIDDwisbjt; 928 double B3SOIDDwisdif; 929 double B3SOIDDwisrec; 930 double B3SOIDDwistun; 931 double B3SOIDDwedl; 932 double B3SOIDDwkbjt1; 933 /* CV model */ 934 double B3SOIDDwvsdfb; 935 double B3SOIDDwvsdth; 936 937 /* Cross-term Dependence */ 938 double B3SOIDDpnpeak; 939 double B3SOIDDpnsub; 940 double B3SOIDDpngate; 941 double B3SOIDDpvth0; 942 double B3SOIDDpk1; 943 double B3SOIDDpk2; 944 double B3SOIDDpk3; 945 double B3SOIDDpk3b; 946 double B3SOIDDpvbsa; 947 double B3SOIDDpdelp; 948 double B3SOIDDpkb1; 949 double B3SOIDDpkb3; 950 double B3SOIDDpdvbd0; 951 double B3SOIDDpdvbd1; 952 double B3SOIDDpw0; 953 double B3SOIDDpnlx; 954 double B3SOIDDpdvt0; 955 double B3SOIDDpdvt1; 956 double B3SOIDDpdvt2; 957 double B3SOIDDpdvt0w; 958 double B3SOIDDpdvt1w; 959 double B3SOIDDpdvt2w; 960 double B3SOIDDpu0; 961 double B3SOIDDpua; 962 double B3SOIDDpub; 963 double B3SOIDDpuc; 964 double B3SOIDDpvsat; 965 double B3SOIDDpa0; 966 double B3SOIDDpags; 967 double B3SOIDDpb0; 968 double B3SOIDDpb1; 969 double B3SOIDDpketa; 970 double B3SOIDDpabp; 971 double B3SOIDDpmxc; 972 double B3SOIDDpadice0; 973 double B3SOIDDpa1; 974 double B3SOIDDpa2; 975 double B3SOIDDprdsw; 976 double B3SOIDDpprwb; 977 double B3SOIDDpprwg; 978 double B3SOIDDpwr; 979 double B3SOIDDpnfactor; 980 double B3SOIDDpdwg; 981 double B3SOIDDpdwb; 982 double B3SOIDDpvoff; 983 double B3SOIDDpeta0; 984 double B3SOIDDpetab; 985 double B3SOIDDpdsub; 986 double B3SOIDDpcit; 987 double B3SOIDDpcdsc; 988 double B3SOIDDpcdscb; 989 double B3SOIDDpcdscd; 990 double B3SOIDDppclm; 991 double B3SOIDDppdibl1; 992 double B3SOIDDppdibl2; 993 double B3SOIDDppdiblb; 994 double B3SOIDDpdrout; 995 double B3SOIDDppvag; 996 double B3SOIDDpdelta; 997 double B3SOIDDpaii; 998 double B3SOIDDpbii; 999 double B3SOIDDpcii; 1000 double B3SOIDDpdii; 1001 double B3SOIDDpalpha0; 1002 double B3SOIDDpalpha1; 1003 double B3SOIDDpbeta0; 1004 double B3SOIDDpagidl; 1005 double B3SOIDDpbgidl; 1006 double B3SOIDDpngidl; 1007 double B3SOIDDpntun; 1008 double B3SOIDDpndiode; 1009 double B3SOIDDpisbjt; 1010 double B3SOIDDpisdif; 1011 double B3SOIDDpisrec; 1012 double B3SOIDDpistun; 1013 double B3SOIDDpedl; 1014 double B3SOIDDpkbjt1; 1015 /* CV model */ 1016 double B3SOIDDpvsdfb; 1017 double B3SOIDDpvsdth; 1018 /* Added for binning - END1 */ 1019 1020 /* Pre-calculated constants */ 1021 double B3SOIDDcbox; 1022 double B3SOIDDcsi; 1023 double B3SOIDDcsieff; 1024 double B3SOIDDcoxt; 1025 double B3SOIDDcboxt; 1026 double B3SOIDDcsit; 1027 double B3SOIDDnfb; 1028 double B3SOIDDadice; 1029 double B3SOIDDqsi; 1030 double B3SOIDDqsieff; 1031 double B3SOIDDeg0; 1032 1033 /* MCJ: move to size-dependent param. */ 1034 double B3SOIDDvtm; 1035 double B3SOIDDcox; 1036 double B3SOIDDcof1; 1037 double B3SOIDDcof2; 1038 double B3SOIDDcof3; 1039 double B3SOIDDcof4; 1040 double B3SOIDDvcrit; 1041 double B3SOIDDfactor1; 1042 1043 double B3SOIDDoxideTrapDensityA; 1044 double B3SOIDDoxideTrapDensityB; 1045 double B3SOIDDoxideTrapDensityC; 1046 double B3SOIDDem; 1047 double B3SOIDDef; 1048 double B3SOIDDaf; 1049 double B3SOIDDkf; 1050 double B3SOIDDnoif; 1051 1052 struct b3soiddSizeDependParam *pSizeDependParamKnot; 1053 1054 /* Flags */ 1055 1056 unsigned B3SOIDDtboxGiven:1; 1057 unsigned B3SOIDDtsiGiven :1; 1058 unsigned B3SOIDDxjGiven :1; 1059 unsigned B3SOIDDkb1Given :1; 1060 unsigned B3SOIDDkb3Given :1; 1061 unsigned B3SOIDDdvbd0Given :1; 1062 unsigned B3SOIDDdvbd1Given :1; 1063 unsigned B3SOIDDvbsaGiven :1; 1064 unsigned B3SOIDDdelpGiven :1; 1065 unsigned B3SOIDDrbodyGiven :1; 1066 unsigned B3SOIDDrbshGiven :1; 1067 unsigned B3SOIDDadice0Given :1; 1068 unsigned B3SOIDDabpGiven :1; 1069 unsigned B3SOIDDmxcGiven :1; 1070 unsigned B3SOIDDrth0Given :1; 1071 unsigned B3SOIDDcth0Given :1; 1072 unsigned B3SOIDDaiiGiven :1; 1073 unsigned B3SOIDDbiiGiven :1; 1074 unsigned B3SOIDDciiGiven :1; 1075 unsigned B3SOIDDdiiGiven :1; 1076 unsigned B3SOIDDngidlGiven :1; 1077 unsigned B3SOIDDagidlGiven :1; 1078 unsigned B3SOIDDbgidlGiven :1; 1079 unsigned B3SOIDDndiodeGiven :1; 1080 unsigned B3SOIDDntunGiven :1; 1081 unsigned B3SOIDDisbjtGiven :1; 1082 unsigned B3SOIDDisdifGiven :1; 1083 unsigned B3SOIDDisrecGiven :1; 1084 unsigned B3SOIDDistunGiven :1; 1085 unsigned B3SOIDDxbjtGiven :1; 1086 unsigned B3SOIDDxdifGiven :1; 1087 unsigned B3SOIDDxrecGiven :1; 1088 unsigned B3SOIDDxtunGiven :1; 1089 unsigned B3SOIDDedlGiven :1; 1090 unsigned B3SOIDDkbjt1Given :1; 1091 unsigned B3SOIDDttGiven :1; 1092 unsigned B3SOIDDvsdfbGiven :1; 1093 unsigned B3SOIDDvsdthGiven :1; 1094 unsigned B3SOIDDasdGiven :1; 1095 unsigned B3SOIDDcsdminGiven :1; 1096 1097 unsigned B3SOIDDmobModGiven :1; 1098 unsigned B3SOIDDbinUnitGiven :1; 1099 unsigned B3SOIDDcapModGiven :1; 1100 unsigned B3SOIDDparamChkGiven :1; 1101 unsigned B3SOIDDnoiModGiven :1; 1102 unsigned B3SOIDDshModGiven :1; 1103 unsigned B3SOIDDtypeGiven :1; 1104 unsigned B3SOIDDtoxGiven :1; 1105 unsigned B3SOIDDversionGiven :1; 1106 1107 unsigned B3SOIDDcdscGiven :1; 1108 unsigned B3SOIDDcdscbGiven :1; 1109 unsigned B3SOIDDcdscdGiven :1; 1110 unsigned B3SOIDDcitGiven :1; 1111 unsigned B3SOIDDnfactorGiven :1; 1112 unsigned B3SOIDDvsatGiven :1; 1113 unsigned B3SOIDDatGiven :1; 1114 unsigned B3SOIDDa0Given :1; 1115 unsigned B3SOIDDagsGiven :1; 1116 unsigned B3SOIDDa1Given :1; 1117 unsigned B3SOIDDa2Given :1; 1118 unsigned B3SOIDDketaGiven :1; 1119 unsigned B3SOIDDnsubGiven :1; 1120 unsigned B3SOIDDnpeakGiven :1; 1121 unsigned B3SOIDDngateGiven :1; 1122 unsigned B3SOIDDgamma1Given :1; 1123 unsigned B3SOIDDgamma2Given :1; 1124 unsigned B3SOIDDvbxGiven :1; 1125 unsigned B3SOIDDvbmGiven :1; 1126 unsigned B3SOIDDxtGiven :1; 1127 unsigned B3SOIDDk1Given :1; 1128 unsigned B3SOIDDkt1Given :1; 1129 unsigned B3SOIDDkt1lGiven :1; 1130 unsigned B3SOIDDkt2Given :1; 1131 unsigned B3SOIDDk2Given :1; 1132 unsigned B3SOIDDk3Given :1; 1133 unsigned B3SOIDDk3bGiven :1; 1134 unsigned B3SOIDDw0Given :1; 1135 unsigned B3SOIDDnlxGiven :1; 1136 unsigned B3SOIDDdvt0Given :1; 1137 unsigned B3SOIDDdvt1Given :1; 1138 unsigned B3SOIDDdvt2Given :1; 1139 unsigned B3SOIDDdvt0wGiven :1; 1140 unsigned B3SOIDDdvt1wGiven :1; 1141 unsigned B3SOIDDdvt2wGiven :1; 1142 unsigned B3SOIDDdroutGiven :1; 1143 unsigned B3SOIDDdsubGiven :1; 1144 unsigned B3SOIDDvth0Given :1; 1145 unsigned B3SOIDDuaGiven :1; 1146 unsigned B3SOIDDua1Given :1; 1147 unsigned B3SOIDDubGiven :1; 1148 unsigned B3SOIDDub1Given :1; 1149 unsigned B3SOIDDucGiven :1; 1150 unsigned B3SOIDDuc1Given :1; 1151 unsigned B3SOIDDu0Given :1; 1152 unsigned B3SOIDDuteGiven :1; 1153 unsigned B3SOIDDvoffGiven :1; 1154 unsigned B3SOIDDrdswGiven :1; 1155 unsigned B3SOIDDprwgGiven :1; 1156 unsigned B3SOIDDprwbGiven :1; 1157 unsigned B3SOIDDprtGiven :1; 1158 unsigned B3SOIDDeta0Given :1; 1159 unsigned B3SOIDDetabGiven :1; 1160 unsigned B3SOIDDpclmGiven :1; 1161 unsigned B3SOIDDpdibl1Given :1; 1162 unsigned B3SOIDDpdibl2Given :1; 1163 unsigned B3SOIDDpdiblbGiven :1; 1164 unsigned B3SOIDDpvagGiven :1; 1165 unsigned B3SOIDDdeltaGiven :1; 1166 unsigned B3SOIDDwrGiven :1; 1167 unsigned B3SOIDDdwgGiven :1; 1168 unsigned B3SOIDDdwbGiven :1; 1169 unsigned B3SOIDDb0Given :1; 1170 unsigned B3SOIDDb1Given :1; 1171 unsigned B3SOIDDalpha0Given :1; 1172 unsigned B3SOIDDalpha1Given :1; 1173 unsigned B3SOIDDbeta0Given :1; 1174 1175 /* CV model */ 1176 unsigned B3SOIDDcgslGiven :1; 1177 unsigned B3SOIDDcgdlGiven :1; 1178 unsigned B3SOIDDckappaGiven :1; 1179 unsigned B3SOIDDcfGiven :1; 1180 unsigned B3SOIDDclcGiven :1; 1181 unsigned B3SOIDDcleGiven :1; 1182 unsigned B3SOIDDdwcGiven :1; 1183 unsigned B3SOIDDdlcGiven :1; 1184 1185 /* Added for binning - START2 */ 1186 /* Length Dependence */ 1187 unsigned B3SOIDDlnpeakGiven :1; 1188 unsigned B3SOIDDlnsubGiven :1; 1189 unsigned B3SOIDDlngateGiven :1; 1190 unsigned B3SOIDDlvth0Given :1; 1191 unsigned B3SOIDDlk1Given :1; 1192 unsigned B3SOIDDlk2Given :1; 1193 unsigned B3SOIDDlk3Given :1; 1194 unsigned B3SOIDDlk3bGiven :1; 1195 unsigned B3SOIDDlvbsaGiven :1; 1196 unsigned B3SOIDDldelpGiven :1; 1197 unsigned B3SOIDDlkb1Given :1; 1198 unsigned B3SOIDDlkb3Given :1; 1199 unsigned B3SOIDDldvbd0Given :1; 1200 unsigned B3SOIDDldvbd1Given :1; 1201 unsigned B3SOIDDlw0Given :1; 1202 unsigned B3SOIDDlnlxGiven :1; 1203 unsigned B3SOIDDldvt0Given :1; 1204 unsigned B3SOIDDldvt1Given :1; 1205 unsigned B3SOIDDldvt2Given :1; 1206 unsigned B3SOIDDldvt0wGiven :1; 1207 unsigned B3SOIDDldvt1wGiven :1; 1208 unsigned B3SOIDDldvt2wGiven :1; 1209 unsigned B3SOIDDlu0Given :1; 1210 unsigned B3SOIDDluaGiven :1; 1211 unsigned B3SOIDDlubGiven :1; 1212 unsigned B3SOIDDlucGiven :1; 1213 unsigned B3SOIDDlvsatGiven :1; 1214 unsigned B3SOIDDla0Given :1; 1215 unsigned B3SOIDDlagsGiven :1; 1216 unsigned B3SOIDDlb0Given :1; 1217 unsigned B3SOIDDlb1Given :1; 1218 unsigned B3SOIDDlketaGiven :1; 1219 unsigned B3SOIDDlabpGiven :1; 1220 unsigned B3SOIDDlmxcGiven :1; 1221 unsigned B3SOIDDladice0Given :1; 1222 unsigned B3SOIDDla1Given :1; 1223 unsigned B3SOIDDla2Given :1; 1224 unsigned B3SOIDDlrdswGiven :1; 1225 unsigned B3SOIDDlprwbGiven :1; 1226 unsigned B3SOIDDlprwgGiven :1; 1227 unsigned B3SOIDDlwrGiven :1; 1228 unsigned B3SOIDDlnfactorGiven :1; 1229 unsigned B3SOIDDldwgGiven :1; 1230 unsigned B3SOIDDldwbGiven :1; 1231 unsigned B3SOIDDlvoffGiven :1; 1232 unsigned B3SOIDDleta0Given :1; 1233 unsigned B3SOIDDletabGiven :1; 1234 unsigned B3SOIDDldsubGiven :1; 1235 unsigned B3SOIDDlcitGiven :1; 1236 unsigned B3SOIDDlcdscGiven :1; 1237 unsigned B3SOIDDlcdscbGiven :1; 1238 unsigned B3SOIDDlcdscdGiven :1; 1239 unsigned B3SOIDDlpclmGiven :1; 1240 unsigned B3SOIDDlpdibl1Given :1; 1241 unsigned B3SOIDDlpdibl2Given :1; 1242 unsigned B3SOIDDlpdiblbGiven :1; 1243 unsigned B3SOIDDldroutGiven :1; 1244 unsigned B3SOIDDlpvagGiven :1; 1245 unsigned B3SOIDDldeltaGiven :1; 1246 unsigned B3SOIDDlaiiGiven :1; 1247 unsigned B3SOIDDlbiiGiven :1; 1248 unsigned B3SOIDDlciiGiven :1; 1249 unsigned B3SOIDDldiiGiven :1; 1250 unsigned B3SOIDDlalpha0Given :1; 1251 unsigned B3SOIDDlalpha1Given :1; 1252 unsigned B3SOIDDlbeta0Given :1; 1253 unsigned B3SOIDDlagidlGiven :1; 1254 unsigned B3SOIDDlbgidlGiven :1; 1255 unsigned B3SOIDDlngidlGiven :1; 1256 unsigned B3SOIDDlntunGiven :1; 1257 unsigned B3SOIDDlndiodeGiven :1; 1258 unsigned B3SOIDDlisbjtGiven :1; 1259 unsigned B3SOIDDlisdifGiven :1; 1260 unsigned B3SOIDDlisrecGiven :1; 1261 unsigned B3SOIDDlistunGiven :1; 1262 unsigned B3SOIDDledlGiven :1; 1263 unsigned B3SOIDDlkbjt1Given :1; 1264 /* CV model */ 1265 unsigned B3SOIDDlvsdfbGiven :1; 1266 unsigned B3SOIDDlvsdthGiven :1; 1267 1268 /* Width Dependence */ 1269 unsigned B3SOIDDwnpeakGiven :1; 1270 unsigned B3SOIDDwnsubGiven :1; 1271 unsigned B3SOIDDwngateGiven :1; 1272 unsigned B3SOIDDwvth0Given :1; 1273 unsigned B3SOIDDwk1Given :1; 1274 unsigned B3SOIDDwk2Given :1; 1275 unsigned B3SOIDDwk3Given :1; 1276 unsigned B3SOIDDwk3bGiven :1; 1277 unsigned B3SOIDDwvbsaGiven :1; 1278 unsigned B3SOIDDwdelpGiven :1; 1279 unsigned B3SOIDDwkb1Given :1; 1280 unsigned B3SOIDDwkb3Given :1; 1281 unsigned B3SOIDDwdvbd0Given :1; 1282 unsigned B3SOIDDwdvbd1Given :1; 1283 unsigned B3SOIDDww0Given :1; 1284 unsigned B3SOIDDwnlxGiven :1; 1285 unsigned B3SOIDDwdvt0Given :1; 1286 unsigned B3SOIDDwdvt1Given :1; 1287 unsigned B3SOIDDwdvt2Given :1; 1288 unsigned B3SOIDDwdvt0wGiven :1; 1289 unsigned B3SOIDDwdvt1wGiven :1; 1290 unsigned B3SOIDDwdvt2wGiven :1; 1291 unsigned B3SOIDDwu0Given :1; 1292 unsigned B3SOIDDwuaGiven :1; 1293 unsigned B3SOIDDwubGiven :1; 1294 unsigned B3SOIDDwucGiven :1; 1295 unsigned B3SOIDDwvsatGiven :1; 1296 unsigned B3SOIDDwa0Given :1; 1297 unsigned B3SOIDDwagsGiven :1; 1298 unsigned B3SOIDDwb0Given :1; 1299 unsigned B3SOIDDwb1Given :1; 1300 unsigned B3SOIDDwketaGiven :1; 1301 unsigned B3SOIDDwabpGiven :1; 1302 unsigned B3SOIDDwmxcGiven :1; 1303 unsigned B3SOIDDwadice0Given :1; 1304 unsigned B3SOIDDwa1Given :1; 1305 unsigned B3SOIDDwa2Given :1; 1306 unsigned B3SOIDDwrdswGiven :1; 1307 unsigned B3SOIDDwprwbGiven :1; 1308 unsigned B3SOIDDwprwgGiven :1; 1309 unsigned B3SOIDDwwrGiven :1; 1310 unsigned B3SOIDDwnfactorGiven :1; 1311 unsigned B3SOIDDwdwgGiven :1; 1312 unsigned B3SOIDDwdwbGiven :1; 1313 unsigned B3SOIDDwvoffGiven :1; 1314 unsigned B3SOIDDweta0Given :1; 1315 unsigned B3SOIDDwetabGiven :1; 1316 unsigned B3SOIDDwdsubGiven :1; 1317 unsigned B3SOIDDwcitGiven :1; 1318 unsigned B3SOIDDwcdscGiven :1; 1319 unsigned B3SOIDDwcdscbGiven :1; 1320 unsigned B3SOIDDwcdscdGiven :1; 1321 unsigned B3SOIDDwpclmGiven :1; 1322 unsigned B3SOIDDwpdibl1Given :1; 1323 unsigned B3SOIDDwpdibl2Given :1; 1324 unsigned B3SOIDDwpdiblbGiven :1; 1325 unsigned B3SOIDDwdroutGiven :1; 1326 unsigned B3SOIDDwpvagGiven :1; 1327 unsigned B3SOIDDwdeltaGiven :1; 1328 unsigned B3SOIDDwaiiGiven :1; 1329 unsigned B3SOIDDwbiiGiven :1; 1330 unsigned B3SOIDDwciiGiven :1; 1331 unsigned B3SOIDDwdiiGiven :1; 1332 unsigned B3SOIDDwalpha0Given :1; 1333 unsigned B3SOIDDwalpha1Given :1; 1334 unsigned B3SOIDDwbeta0Given :1; 1335 unsigned B3SOIDDwagidlGiven :1; 1336 unsigned B3SOIDDwbgidlGiven :1; 1337 unsigned B3SOIDDwngidlGiven :1; 1338 unsigned B3SOIDDwntunGiven :1; 1339 unsigned B3SOIDDwndiodeGiven :1; 1340 unsigned B3SOIDDwisbjtGiven :1; 1341 unsigned B3SOIDDwisdifGiven :1; 1342 unsigned B3SOIDDwisrecGiven :1; 1343 unsigned B3SOIDDwistunGiven :1; 1344 unsigned B3SOIDDwedlGiven :1; 1345 unsigned B3SOIDDwkbjt1Given :1; 1346 /* CV model */ 1347 unsigned B3SOIDDwvsdfbGiven :1; 1348 unsigned B3SOIDDwvsdthGiven :1; 1349 1350 /* Cross-term Dependence */ 1351 unsigned B3SOIDDpnpeakGiven :1; 1352 unsigned B3SOIDDpnsubGiven :1; 1353 unsigned B3SOIDDpngateGiven :1; 1354 unsigned B3SOIDDpvth0Given :1; 1355 unsigned B3SOIDDpk1Given :1; 1356 unsigned B3SOIDDpk2Given :1; 1357 unsigned B3SOIDDpk3Given :1; 1358 unsigned B3SOIDDpk3bGiven :1; 1359 unsigned B3SOIDDpvbsaGiven :1; 1360 unsigned B3SOIDDpdelpGiven :1; 1361 unsigned B3SOIDDpkb1Given :1; 1362 unsigned B3SOIDDpkb3Given :1; 1363 unsigned B3SOIDDpdvbd0Given :1; 1364 unsigned B3SOIDDpdvbd1Given :1; 1365 unsigned B3SOIDDpw0Given :1; 1366 unsigned B3SOIDDpnlxGiven :1; 1367 unsigned B3SOIDDpdvt0Given :1; 1368 unsigned B3SOIDDpdvt1Given :1; 1369 unsigned B3SOIDDpdvt2Given :1; 1370 unsigned B3SOIDDpdvt0wGiven :1; 1371 unsigned B3SOIDDpdvt1wGiven :1; 1372 unsigned B3SOIDDpdvt2wGiven :1; 1373 unsigned B3SOIDDpu0Given :1; 1374 unsigned B3SOIDDpuaGiven :1; 1375 unsigned B3SOIDDpubGiven :1; 1376 unsigned B3SOIDDpucGiven :1; 1377 unsigned B3SOIDDpvsatGiven :1; 1378 unsigned B3SOIDDpa0Given :1; 1379 unsigned B3SOIDDpagsGiven :1; 1380 unsigned B3SOIDDpb0Given :1; 1381 unsigned B3SOIDDpb1Given :1; 1382 unsigned B3SOIDDpketaGiven :1; 1383 unsigned B3SOIDDpabpGiven :1; 1384 unsigned B3SOIDDpmxcGiven :1; 1385 unsigned B3SOIDDpadice0Given :1; 1386 unsigned B3SOIDDpa1Given :1; 1387 unsigned B3SOIDDpa2Given :1; 1388 unsigned B3SOIDDprdswGiven :1; 1389 unsigned B3SOIDDpprwbGiven :1; 1390 unsigned B3SOIDDpprwgGiven :1; 1391 unsigned B3SOIDDpwrGiven :1; 1392 unsigned B3SOIDDpnfactorGiven :1; 1393 unsigned B3SOIDDpdwgGiven :1; 1394 unsigned B3SOIDDpdwbGiven :1; 1395 unsigned B3SOIDDpvoffGiven :1; 1396 unsigned B3SOIDDpeta0Given :1; 1397 unsigned B3SOIDDpetabGiven :1; 1398 unsigned B3SOIDDpdsubGiven :1; 1399 unsigned B3SOIDDpcitGiven :1; 1400 unsigned B3SOIDDpcdscGiven :1; 1401 unsigned B3SOIDDpcdscbGiven :1; 1402 unsigned B3SOIDDpcdscdGiven :1; 1403 unsigned B3SOIDDppclmGiven :1; 1404 unsigned B3SOIDDppdibl1Given :1; 1405 unsigned B3SOIDDppdibl2Given :1; 1406 unsigned B3SOIDDppdiblbGiven :1; 1407 unsigned B3SOIDDpdroutGiven :1; 1408 unsigned B3SOIDDppvagGiven :1; 1409 unsigned B3SOIDDpdeltaGiven :1; 1410 unsigned B3SOIDDpaiiGiven :1; 1411 unsigned B3SOIDDpbiiGiven :1; 1412 unsigned B3SOIDDpciiGiven :1; 1413 unsigned B3SOIDDpdiiGiven :1; 1414 unsigned B3SOIDDpalpha0Given :1; 1415 unsigned B3SOIDDpalpha1Given :1; 1416 unsigned B3SOIDDpbeta0Given :1; 1417 unsigned B3SOIDDpagidlGiven :1; 1418 unsigned B3SOIDDpbgidlGiven :1; 1419 unsigned B3SOIDDpngidlGiven :1; 1420 unsigned B3SOIDDpntunGiven :1; 1421 unsigned B3SOIDDpndiodeGiven :1; 1422 unsigned B3SOIDDpisbjtGiven :1; 1423 unsigned B3SOIDDpisdifGiven :1; 1424 unsigned B3SOIDDpisrecGiven :1; 1425 unsigned B3SOIDDpistunGiven :1; 1426 unsigned B3SOIDDpedlGiven :1; 1427 unsigned B3SOIDDpkbjt1Given :1; 1428 /* CV model */ 1429 unsigned B3SOIDDpvsdfbGiven :1; 1430 unsigned B3SOIDDpvsdthGiven :1; 1431 /* Added for binning - END2 */ 1432 1433 unsigned B3SOIDDuseFringeGiven :1; 1434 1435 unsigned B3SOIDDtnomGiven :1; 1436 unsigned B3SOIDDcgsoGiven :1; 1437 unsigned B3SOIDDcgdoGiven :1; 1438 unsigned B3SOIDDcgeoGiven :1; 1439 unsigned B3SOIDDxpartGiven :1; 1440 unsigned B3SOIDDsheetResistanceGiven :1; 1441 unsigned B3SOIDDGatesidewallJctPotentialGiven :1; 1442 unsigned B3SOIDDbodyJctGateSideGradingCoeffGiven :1; 1443 unsigned B3SOIDDunitLengthGateSidewallJctCapGiven :1; 1444 unsigned B3SOIDDcsdeswGiven :1; 1445 1446 unsigned B3SOIDDoxideTrapDensityAGiven :1; 1447 unsigned B3SOIDDoxideTrapDensityBGiven :1; 1448 unsigned B3SOIDDoxideTrapDensityCGiven :1; 1449 unsigned B3SOIDDemGiven :1; 1450 unsigned B3SOIDDefGiven :1; 1451 unsigned B3SOIDDafGiven :1; 1452 unsigned B3SOIDDkfGiven :1; 1453 unsigned B3SOIDDnoifGiven :1; 1454 1455 unsigned B3SOIDDLintGiven :1; 1456 unsigned B3SOIDDLlGiven :1; 1457 unsigned B3SOIDDLlnGiven :1; 1458 unsigned B3SOIDDLwGiven :1; 1459 unsigned B3SOIDDLwnGiven :1; 1460 unsigned B3SOIDDLwlGiven :1; 1461 unsigned B3SOIDDLminGiven :1; 1462 unsigned B3SOIDDLmaxGiven :1; 1463 1464 unsigned B3SOIDDWintGiven :1; 1465 unsigned B3SOIDDWlGiven :1; 1466 unsigned B3SOIDDWlnGiven :1; 1467 unsigned B3SOIDDWwGiven :1; 1468 unsigned B3SOIDDWwnGiven :1; 1469 unsigned B3SOIDDWwlGiven :1; 1470 unsigned B3SOIDDWminGiven :1; 1471 unsigned B3SOIDDWmaxGiven :1; 1472 1473 } B3SOIDDmodel; 1474 1475 1476 #ifndef NMOS 1477 #define NMOS 1 1478 #define PMOS -1 1479 #endif /*NMOS*/ 1480 1481 1482 /* device parameters */ 1483 #define B3SOIDD_W 1 1484 #define B3SOIDD_L 2 1485 #define B3SOIDD_M 22 1486 #define B3SOIDD_AS 3 1487 #define B3SOIDD_AD 4 1488 #define B3SOIDD_PS 5 1489 #define B3SOIDD_PD 6 1490 #define B3SOIDD_NRS 7 1491 #define B3SOIDD_NRD 8 1492 #define B3SOIDD_OFF 9 1493 #define B3SOIDD_IC_VBS 10 1494 #define B3SOIDD_IC_VDS 11 1495 #define B3SOIDD_IC_VGS 12 1496 #define B3SOIDD_IC_VES 13 1497 #define B3SOIDD_IC_VPS 14 1498 #define B3SOIDD_BJTOFF 15 1499 #define B3SOIDD_RTH0 16 1500 #define B3SOIDD_CTH0 17 1501 #define B3SOIDD_NRB 18 1502 #define B3SOIDD_IC 19 1503 #define B3SOIDD_NQSMOD 20 1504 #define B3SOIDD_DEBUG 21 1505 1506 /* model parameters */ 1507 #define B3SOIDD_MOD_CAPMOD 101 1508 #define B3SOIDD_MOD_NQSMOD 102 1509 #define B3SOIDD_MOD_MOBMOD 103 1510 #define B3SOIDD_MOD_NOIMOD 104 1511 #define B3SOIDD_MOD_SHMOD 105 1512 #define B3SOIDD_MOD_DDMOD 106 1513 1514 #define B3SOIDD_MOD_TOX 107 1515 1516 1517 1518 #define B3SOIDD_MOD_CDSC 108 1519 #define B3SOIDD_MOD_CDSCB 109 1520 #define B3SOIDD_MOD_CIT 110 1521 #define B3SOIDD_MOD_NFACTOR 111 1522 #define B3SOIDD_MOD_XJ 112 1523 #define B3SOIDD_MOD_VSAT 113 1524 #define B3SOIDD_MOD_AT 114 1525 #define B3SOIDD_MOD_A0 115 1526 #define B3SOIDD_MOD_A1 116 1527 #define B3SOIDD_MOD_A2 117 1528 #define B3SOIDD_MOD_KETA 118 1529 #define B3SOIDD_MOD_NSUB 119 1530 #define B3SOIDD_MOD_NPEAK 120 1531 #define B3SOIDD_MOD_NGATE 121 1532 #define B3SOIDD_MOD_GAMMA1 122 1533 #define B3SOIDD_MOD_GAMMA2 123 1534 #define B3SOIDD_MOD_VBX 124 1535 #define B3SOIDD_MOD_BINUNIT 125 1536 1537 #define B3SOIDD_MOD_VBM 126 1538 1539 #define B3SOIDD_MOD_XT 127 1540 #define B3SOIDD_MOD_K1 129 1541 #define B3SOIDD_MOD_KT1 130 1542 #define B3SOIDD_MOD_KT1L 131 1543 #define B3SOIDD_MOD_K2 132 1544 #define B3SOIDD_MOD_KT2 133 1545 #define B3SOIDD_MOD_K3 134 1546 #define B3SOIDD_MOD_K3B 135 1547 #define B3SOIDD_MOD_W0 136 1548 #define B3SOIDD_MOD_NLX 137 1549 1550 #define B3SOIDD_MOD_DVT0 138 1551 #define B3SOIDD_MOD_DVT1 139 1552 #define B3SOIDD_MOD_DVT2 140 1553 1554 #define B3SOIDD_MOD_DVT0W 141 1555 #define B3SOIDD_MOD_DVT1W 142 1556 #define B3SOIDD_MOD_DVT2W 143 1557 1558 #define B3SOIDD_MOD_DROUT 144 1559 #define B3SOIDD_MOD_DSUB 145 1560 #define B3SOIDD_MOD_VTH0 146 1561 #define B3SOIDD_MOD_UA 147 1562 #define B3SOIDD_MOD_UA1 148 1563 #define B3SOIDD_MOD_UB 149 1564 #define B3SOIDD_MOD_UB1 150 1565 #define B3SOIDD_MOD_UC 151 1566 #define B3SOIDD_MOD_UC1 152 1567 #define B3SOIDD_MOD_U0 153 1568 #define B3SOIDD_MOD_UTE 154 1569 #define B3SOIDD_MOD_VOFF 155 1570 #define B3SOIDD_MOD_DELTA 156 1571 #define B3SOIDD_MOD_RDSW 157 1572 #define B3SOIDD_MOD_PRT 158 1573 #define B3SOIDD_MOD_LDD 159 1574 #define B3SOIDD_MOD_ETA 160 1575 #define B3SOIDD_MOD_ETA0 161 1576 #define B3SOIDD_MOD_ETAB 162 1577 #define B3SOIDD_MOD_PCLM 163 1578 #define B3SOIDD_MOD_PDIBL1 164 1579 #define B3SOIDD_MOD_PDIBL2 165 1580 #define B3SOIDD_MOD_PSCBE1 166 1581 #define B3SOIDD_MOD_PSCBE2 167 1582 #define B3SOIDD_MOD_PVAG 168 1583 #define B3SOIDD_MOD_WR 169 1584 #define B3SOIDD_MOD_DWG 170 1585 #define B3SOIDD_MOD_DWB 171 1586 #define B3SOIDD_MOD_B0 172 1587 #define B3SOIDD_MOD_B1 173 1588 #define B3SOIDD_MOD_ALPHA0 174 1589 #define B3SOIDD_MOD_BETA0 175 1590 #define B3SOIDD_MOD_PDIBLB 178 1591 1592 #define B3SOIDD_MOD_PRWG 179 1593 #define B3SOIDD_MOD_PRWB 180 1594 1595 #define B3SOIDD_MOD_CDSCD 181 1596 #define B3SOIDD_MOD_AGS 182 1597 1598 #define B3SOIDD_MOD_FRINGE 184 1599 #define B3SOIDD_MOD_CGSL 186 1600 #define B3SOIDD_MOD_CGDL 187 1601 #define B3SOIDD_MOD_CKAPPA 188 1602 #define B3SOIDD_MOD_CF 189 1603 #define B3SOIDD_MOD_CLC 190 1604 #define B3SOIDD_MOD_CLE 191 1605 #define B3SOIDD_MOD_PARAMCHK 192 1606 #define B3SOIDD_MOD_VERSION 193 1607 1608 #define B3SOIDD_MOD_TBOX 195 1609 #define B3SOIDD_MOD_TSI 196 1610 #define B3SOIDD_MOD_KB1 197 1611 #define B3SOIDD_MOD_KB3 198 1612 #define B3SOIDD_MOD_DVBD0 199 1613 #define B3SOIDD_MOD_DVBD1 200 1614 #define B3SOIDD_MOD_DELP 201 1615 #define B3SOIDD_MOD_VBSA 202 1616 #define B3SOIDD_MOD_RBODY 204 1617 #define B3SOIDD_MOD_ADICE0 205 1618 #define B3SOIDD_MOD_ABP 206 1619 #define B3SOIDD_MOD_MXC 207 1620 #define B3SOIDD_MOD_RTH0 208 1621 #define B3SOIDD_MOD_CTH0 209 1622 #define B3SOIDD_MOD_AII 210 1623 #define B3SOIDD_MOD_BII 211 1624 #define B3SOIDD_MOD_CII 212 1625 #define B3SOIDD_MOD_DII 213 1626 #define B3SOIDD_MOD_ALPHA1 214 1627 #define B3SOIDD_MOD_NGIDL 215 1628 #define B3SOIDD_MOD_AGIDL 216 1629 #define B3SOIDD_MOD_BGIDL 217 1630 #define B3SOIDD_MOD_NDIODE 218 1631 #define B3SOIDD_MOD_LDIOF 219 1632 #define B3SOIDD_MOD_LDIOR 220 1633 #define B3SOIDD_MOD_NTUN 221 1634 #define B3SOIDD_MOD_ISBJT 222 1635 #define B3SOIDD_MOD_ISDIF 223 1636 #define B3SOIDD_MOD_ISREC 224 1637 #define B3SOIDD_MOD_ISTUN 225 1638 #define B3SOIDD_MOD_XBJT 226 1639 #define B3SOIDD_MOD_XDIF 227 1640 #define B3SOIDD_MOD_XREC 228 1641 #define B3SOIDD_MOD_XTUN 229 1642 #define B3SOIDD_MOD_EDL 230 1643 #define B3SOIDD_MOD_KBJT1 231 1644 #define B3SOIDD_MOD_TT 232 1645 #define B3SOIDD_MOD_VSDTH 233 1646 #define B3SOIDD_MOD_VSDFB 234 1647 #define B3SOIDD_MOD_ASD 235 1648 #define B3SOIDD_MOD_CSDMIN 236 1649 #define B3SOIDD_MOD_RBSH 237 1650 1651 /* Added for binning - START3 */ 1652 /* Length dependence */ 1653 #define B3SOIDD_MOD_LNPEAK 301 1654 #define B3SOIDD_MOD_LNSUB 302 1655 #define B3SOIDD_MOD_LNGATE 303 1656 #define B3SOIDD_MOD_LVTH0 304 1657 #define B3SOIDD_MOD_LK1 305 1658 #define B3SOIDD_MOD_LK2 306 1659 #define B3SOIDD_MOD_LK3 307 1660 #define B3SOIDD_MOD_LK3B 308 1661 #define B3SOIDD_MOD_LVBSA 309 1662 #define B3SOIDD_MOD_LDELP 310 1663 #define B3SOIDD_MOD_LKB1 311 1664 #define B3SOIDD_MOD_LKB3 312 1665 #define B3SOIDD_MOD_LDVBD0 313 1666 #define B3SOIDD_MOD_LDVBD1 314 1667 #define B3SOIDD_MOD_LW0 315 1668 #define B3SOIDD_MOD_LNLX 316 1669 #define B3SOIDD_MOD_LDVT0 317 1670 #define B3SOIDD_MOD_LDVT1 318 1671 #define B3SOIDD_MOD_LDVT2 319 1672 #define B3SOIDD_MOD_LDVT0W 320 1673 #define B3SOIDD_MOD_LDVT1W 321 1674 #define B3SOIDD_MOD_LDVT2W 322 1675 #define B3SOIDD_MOD_LU0 323 1676 #define B3SOIDD_MOD_LUA 324 1677 #define B3SOIDD_MOD_LUB 325 1678 #define B3SOIDD_MOD_LUC 326 1679 #define B3SOIDD_MOD_LVSAT 327 1680 #define B3SOIDD_MOD_LA0 328 1681 #define B3SOIDD_MOD_LAGS 329 1682 #define B3SOIDD_MOD_LB0 330 1683 #define B3SOIDD_MOD_LB1 331 1684 #define B3SOIDD_MOD_LKETA 332 1685 #define B3SOIDD_MOD_LABP 333 1686 #define B3SOIDD_MOD_LMXC 334 1687 #define B3SOIDD_MOD_LADICE0 335 1688 #define B3SOIDD_MOD_LA1 336 1689 #define B3SOIDD_MOD_LA2 337 1690 #define B3SOIDD_MOD_LRDSW 338 1691 #define B3SOIDD_MOD_LPRWB 339 1692 #define B3SOIDD_MOD_LPRWG 340 1693 #define B3SOIDD_MOD_LWR 341 1694 #define B3SOIDD_MOD_LNFACTOR 342 1695 #define B3SOIDD_MOD_LDWG 343 1696 #define B3SOIDD_MOD_LDWB 344 1697 #define B3SOIDD_MOD_LVOFF 345 1698 #define B3SOIDD_MOD_LETA0 346 1699 #define B3SOIDD_MOD_LETAB 347 1700 #define B3SOIDD_MOD_LDSUB 348 1701 #define B3SOIDD_MOD_LCIT 349 1702 #define B3SOIDD_MOD_LCDSC 350 1703 #define B3SOIDD_MOD_LCDSCB 351 1704 #define B3SOIDD_MOD_LCDSCD 352 1705 #define B3SOIDD_MOD_LPCLM 353 1706 #define B3SOIDD_MOD_LPDIBL1 354 1707 #define B3SOIDD_MOD_LPDIBL2 355 1708 #define B3SOIDD_MOD_LPDIBLB 356 1709 #define B3SOIDD_MOD_LDROUT 357 1710 #define B3SOIDD_MOD_LPVAG 358 1711 #define B3SOIDD_MOD_LDELTA 359 1712 #define B3SOIDD_MOD_LAII 360 1713 #define B3SOIDD_MOD_LBII 361 1714 #define B3SOIDD_MOD_LCII 362 1715 #define B3SOIDD_MOD_LDII 363 1716 #define B3SOIDD_MOD_LALPHA0 364 1717 #define B3SOIDD_MOD_LALPHA1 365 1718 #define B3SOIDD_MOD_LBETA0 366 1719 #define B3SOIDD_MOD_LAGIDL 367 1720 #define B3SOIDD_MOD_LBGIDL 368 1721 #define B3SOIDD_MOD_LNGIDL 369 1722 #define B3SOIDD_MOD_LNTUN 370 1723 #define B3SOIDD_MOD_LNDIODE 371 1724 #define B3SOIDD_MOD_LISBJT 372 1725 #define B3SOIDD_MOD_LISDIF 373 1726 #define B3SOIDD_MOD_LISREC 374 1727 #define B3SOIDD_MOD_LISTUN 375 1728 #define B3SOIDD_MOD_LEDL 376 1729 #define B3SOIDD_MOD_LKBJT1 377 1730 #define B3SOIDD_MOD_LVSDFB 378 1731 #define B3SOIDD_MOD_LVSDTH 379 1732 1733 /* Width dependence */ 1734 #define B3SOIDD_MOD_WNPEAK 401 1735 #define B3SOIDD_MOD_WNSUB 402 1736 #define B3SOIDD_MOD_WNGATE 403 1737 #define B3SOIDD_MOD_WVTH0 404 1738 #define B3SOIDD_MOD_WK1 405 1739 #define B3SOIDD_MOD_WK2 406 1740 #define B3SOIDD_MOD_WK3 407 1741 #define B3SOIDD_MOD_WK3B 408 1742 #define B3SOIDD_MOD_WVBSA 409 1743 #define B3SOIDD_MOD_WDELP 410 1744 #define B3SOIDD_MOD_WKB1 411 1745 #define B3SOIDD_MOD_WKB3 412 1746 #define B3SOIDD_MOD_WDVBD0 413 1747 #define B3SOIDD_MOD_WDVBD1 414 1748 #define B3SOIDD_MOD_WW0 415 1749 #define B3SOIDD_MOD_WNLX 416 1750 #define B3SOIDD_MOD_WDVT0 417 1751 #define B3SOIDD_MOD_WDVT1 418 1752 #define B3SOIDD_MOD_WDVT2 419 1753 #define B3SOIDD_MOD_WDVT0W 420 1754 #define B3SOIDD_MOD_WDVT1W 421 1755 #define B3SOIDD_MOD_WDVT2W 422 1756 #define B3SOIDD_MOD_WU0 423 1757 #define B3SOIDD_MOD_WUA 424 1758 #define B3SOIDD_MOD_WUB 425 1759 #define B3SOIDD_MOD_WUC 426 1760 #define B3SOIDD_MOD_WVSAT 427 1761 #define B3SOIDD_MOD_WA0 428 1762 #define B3SOIDD_MOD_WAGS 429 1763 #define B3SOIDD_MOD_WB0 430 1764 #define B3SOIDD_MOD_WB1 431 1765 #define B3SOIDD_MOD_WKETA 432 1766 #define B3SOIDD_MOD_WABP 433 1767 #define B3SOIDD_MOD_WMXC 434 1768 #define B3SOIDD_MOD_WADICE0 435 1769 #define B3SOIDD_MOD_WA1 436 1770 #define B3SOIDD_MOD_WA2 437 1771 #define B3SOIDD_MOD_WRDSW 438 1772 #define B3SOIDD_MOD_WPRWB 439 1773 #define B3SOIDD_MOD_WPRWG 440 1774 #define B3SOIDD_MOD_WWR 441 1775 #define B3SOIDD_MOD_WNFACTOR 442 1776 #define B3SOIDD_MOD_WDWG 443 1777 #define B3SOIDD_MOD_WDWB 444 1778 #define B3SOIDD_MOD_WVOFF 445 1779 #define B3SOIDD_MOD_WETA0 446 1780 #define B3SOIDD_MOD_WETAB 447 1781 #define B3SOIDD_MOD_WDSUB 448 1782 #define B3SOIDD_MOD_WCIT 449 1783 #define B3SOIDD_MOD_WCDSC 450 1784 #define B3SOIDD_MOD_WCDSCB 451 1785 #define B3SOIDD_MOD_WCDSCD 452 1786 #define B3SOIDD_MOD_WPCLM 453 1787 #define B3SOIDD_MOD_WPDIBL1 454 1788 #define B3SOIDD_MOD_WPDIBL2 455 1789 #define B3SOIDD_MOD_WPDIBLB 456 1790 #define B3SOIDD_MOD_WDROUT 457 1791 #define B3SOIDD_MOD_WPVAG 458 1792 #define B3SOIDD_MOD_WDELTA 459 1793 #define B3SOIDD_MOD_WAII 460 1794 #define B3SOIDD_MOD_WBII 461 1795 #define B3SOIDD_MOD_WCII 462 1796 #define B3SOIDD_MOD_WDII 463 1797 #define B3SOIDD_MOD_WALPHA0 464 1798 #define B3SOIDD_MOD_WALPHA1 465 1799 #define B3SOIDD_MOD_WBETA0 466 1800 #define B3SOIDD_MOD_WAGIDL 467 1801 #define B3SOIDD_MOD_WBGIDL 468 1802 #define B3SOIDD_MOD_WNGIDL 469 1803 #define B3SOIDD_MOD_WNTUN 470 1804 #define B3SOIDD_MOD_WNDIODE 471 1805 #define B3SOIDD_MOD_WISBJT 472 1806 #define B3SOIDD_MOD_WISDIF 473 1807 #define B3SOIDD_MOD_WISREC 474 1808 #define B3SOIDD_MOD_WISTUN 475 1809 #define B3SOIDD_MOD_WEDL 476 1810 #define B3SOIDD_MOD_WKBJT1 477 1811 #define B3SOIDD_MOD_WVSDFB 478 1812 #define B3SOIDD_MOD_WVSDTH 479 1813 1814 /* Cross-term dependence */ 1815 #define B3SOIDD_MOD_PNPEAK 501 1816 #define B3SOIDD_MOD_PNSUB 502 1817 #define B3SOIDD_MOD_PNGATE 503 1818 #define B3SOIDD_MOD_PVTH0 504 1819 #define B3SOIDD_MOD_PK1 505 1820 #define B3SOIDD_MOD_PK2 506 1821 #define B3SOIDD_MOD_PK3 507 1822 #define B3SOIDD_MOD_PK3B 508 1823 #define B3SOIDD_MOD_PVBSA 509 1824 #define B3SOIDD_MOD_PDELP 510 1825 #define B3SOIDD_MOD_PKB1 511 1826 #define B3SOIDD_MOD_PKB3 512 1827 #define B3SOIDD_MOD_PDVBD0 513 1828 #define B3SOIDD_MOD_PDVBD1 514 1829 #define B3SOIDD_MOD_PW0 515 1830 #define B3SOIDD_MOD_PNLX 516 1831 #define B3SOIDD_MOD_PDVT0 517 1832 #define B3SOIDD_MOD_PDVT1 518 1833 #define B3SOIDD_MOD_PDVT2 519 1834 #define B3SOIDD_MOD_PDVT0W 520 1835 #define B3SOIDD_MOD_PDVT1W 521 1836 #define B3SOIDD_MOD_PDVT2W 522 1837 #define B3SOIDD_MOD_PU0 523 1838 #define B3SOIDD_MOD_PUA 524 1839 #define B3SOIDD_MOD_PUB 525 1840 #define B3SOIDD_MOD_PUC 526 1841 #define B3SOIDD_MOD_PVSAT 527 1842 #define B3SOIDD_MOD_PA0 528 1843 #define B3SOIDD_MOD_PAGS 529 1844 #define B3SOIDD_MOD_PB0 530 1845 #define B3SOIDD_MOD_PB1 531 1846 #define B3SOIDD_MOD_PKETA 532 1847 #define B3SOIDD_MOD_PABP 533 1848 #define B3SOIDD_MOD_PMXC 534 1849 #define B3SOIDD_MOD_PADICE0 535 1850 #define B3SOIDD_MOD_PA1 536 1851 #define B3SOIDD_MOD_PA2 537 1852 #define B3SOIDD_MOD_PRDSW 538 1853 #define B3SOIDD_MOD_PPRWB 539 1854 #define B3SOIDD_MOD_PPRWG 540 1855 #define B3SOIDD_MOD_PWR 541 1856 #define B3SOIDD_MOD_PNFACTOR 542 1857 #define B3SOIDD_MOD_PDWG 543 1858 #define B3SOIDD_MOD_PDWB 544 1859 #define B3SOIDD_MOD_PVOFF 545 1860 #define B3SOIDD_MOD_PETA0 546 1861 #define B3SOIDD_MOD_PETAB 547 1862 #define B3SOIDD_MOD_PDSUB 548 1863 #define B3SOIDD_MOD_PCIT 549 1864 #define B3SOIDD_MOD_PCDSC 550 1865 #define B3SOIDD_MOD_PCDSCB 551 1866 #define B3SOIDD_MOD_PCDSCD 552 1867 #define B3SOIDD_MOD_PPCLM 553 1868 #define B3SOIDD_MOD_PPDIBL1 554 1869 #define B3SOIDD_MOD_PPDIBL2 555 1870 #define B3SOIDD_MOD_PPDIBLB 556 1871 #define B3SOIDD_MOD_PDROUT 557 1872 #define B3SOIDD_MOD_PPVAG 558 1873 #define B3SOIDD_MOD_PDELTA 559 1874 #define B3SOIDD_MOD_PAII 560 1875 #define B3SOIDD_MOD_PBII 561 1876 #define B3SOIDD_MOD_PCII 562 1877 #define B3SOIDD_MOD_PDII 563 1878 #define B3SOIDD_MOD_PALPHA0 564 1879 #define B3SOIDD_MOD_PALPHA1 565 1880 #define B3SOIDD_MOD_PBETA0 566 1881 #define B3SOIDD_MOD_PAGIDL 567 1882 #define B3SOIDD_MOD_PBGIDL 568 1883 #define B3SOIDD_MOD_PNGIDL 569 1884 #define B3SOIDD_MOD_PNTUN 570 1885 #define B3SOIDD_MOD_PNDIODE 571 1886 #define B3SOIDD_MOD_PISBJT 572 1887 #define B3SOIDD_MOD_PISDIF 573 1888 #define B3SOIDD_MOD_PISREC 574 1889 #define B3SOIDD_MOD_PISTUN 575 1890 #define B3SOIDD_MOD_PEDL 576 1891 #define B3SOIDD_MOD_PKBJT1 577 1892 #define B3SOIDD_MOD_PVSDFB 578 1893 #define B3SOIDD_MOD_PVSDTH 579 1894 /* Added for binning - END3 */ 1895 1896 #define B3SOIDD_MOD_TNOM 701 1897 #define B3SOIDD_MOD_CGSO 702 1898 #define B3SOIDD_MOD_CGDO 703 1899 #define B3SOIDD_MOD_CGEO 704 1900 #define B3SOIDD_MOD_XPART 705 1901 1902 #define B3SOIDD_MOD_RSH 706 1903 #define B3SOIDD_MOD_NMOS 814 1904 #define B3SOIDD_MOD_PMOS 815 1905 1906 #define B3SOIDD_MOD_NOIA 816 1907 #define B3SOIDD_MOD_NOIB 817 1908 #define B3SOIDD_MOD_NOIC 818 1909 1910 #define B3SOIDD_MOD_LINT 819 1911 #define B3SOIDD_MOD_LL 820 1912 #define B3SOIDD_MOD_LLN 821 1913 #define B3SOIDD_MOD_LW 822 1914 #define B3SOIDD_MOD_LWN 823 1915 #define B3SOIDD_MOD_LWL 824 1916 1917 #define B3SOIDD_MOD_WINT 827 1918 #define B3SOIDD_MOD_WL 828 1919 #define B3SOIDD_MOD_WLN 829 1920 #define B3SOIDD_MOD_WW 830 1921 #define B3SOIDD_MOD_WWN 831 1922 #define B3SOIDD_MOD_WWL 832 1923 1924 #define B3SOIDD_MOD_DWC 835 1925 #define B3SOIDD_MOD_DLC 836 1926 1927 #define B3SOIDD_MOD_EM 837 1928 #define B3SOIDD_MOD_EF 838 1929 #define B3SOIDD_MOD_AF 839 1930 #define B3SOIDD_MOD_KF 840 1931 #define B3SOIDD_MOD_NOIF 841 1932 1933 1934 #define B3SOIDD_MOD_PBSWG 843 1935 #define B3SOIDD_MOD_MJSWG 844 1936 #define B3SOIDD_MOD_CJSWG 845 1937 #define B3SOIDD_MOD_CSDESW 846 1938 1939 /* device questions */ 1940 #define B3SOIDD_DNODE 901 1941 #define B3SOIDD_GNODE 902 1942 #define B3SOIDD_SNODE 903 1943 #define B3SOIDD_BNODE 904 1944 #define B3SOIDD_ENODE 905 1945 #define B3SOIDD_DNODEPRIME 906 1946 #define B3SOIDD_SNODEPRIME 907 1947 #define B3SOIDD_VBD 908 1948 #define B3SOIDD_VBS 909 1949 #define B3SOIDD_VGS 910 1950 #define B3SOIDD_VES 911 1951 #define B3SOIDD_VDS 912 1952 #define B3SOIDD_CD 913 1953 #define B3SOIDD_CBS 914 1954 #define B3SOIDD_CBD 915 1955 #define B3SOIDD_GM 916 1956 #define B3SOIDD_GDS 917 1957 #define B3SOIDD_GMBS 918 1958 #define B3SOIDD_GBD 919 1959 #define B3SOIDD_GBS 920 1960 #define B3SOIDD_QB 921 1961 #define B3SOIDD_CQB 922 1962 #define B3SOIDD_QG 923 1963 #define B3SOIDD_CQG 924 1964 #define B3SOIDD_QD 925 1965 #define B3SOIDD_CQD 926 1966 #define B3SOIDD_CGG 927 1967 #define B3SOIDD_CGD 928 1968 #define B3SOIDD_CGS 929 1969 #define B3SOIDD_CBG 930 1970 #define B3SOIDD_CAPBD 931 1971 #define B3SOIDD_CQBD 932 1972 #define B3SOIDD_CAPBS 933 1973 #define B3SOIDD_CQBS 934 1974 #define B3SOIDD_CDG 935 1975 #define B3SOIDD_CDD 936 1976 #define B3SOIDD_CDS 937 1977 #define B3SOIDD_VON 938 1978 #define B3SOIDD_VDSAT 939 1979 #define B3SOIDD_QBS 940 1980 #define B3SOIDD_QBD 941 1981 #define B3SOIDD_SOURCECONDUCT 942 1982 #define B3SOIDD_DRAINCONDUCT 943 1983 #define B3SOIDD_CBDB 944 1984 #define B3SOIDD_CBSB 945 1985 #define B3SOIDD_GMID 946 1986 1987 1988 #include "b3soiddext.h" 1989 1990 extern void B3SOIDDevaluate(double,double,double,B3SOIDDinstance*,B3SOIDDmodel*, 1991 double*,double*,double*, double*, double*, double*, double*, 1992 double*, double*, double*, double*, double*, double*, double*, 1993 double*, double*, double*, double*, CKTcircuit*); 1994 extern int B3SOIDDdebug(B3SOIDDmodel*, B3SOIDDinstance*, CKTcircuit*, int); 1995 extern int B3SOIDDcheckModel(B3SOIDDmodel*, B3SOIDDinstance*, CKTcircuit*); 1996 1997 #endif /*B3SOIDD*/ 1998 1999