1 /********** 2 Copyright 1990 Regents of the University of California. All rights reserved. 3 Author: 1985 Thomas L. Quarles 4 Modified: 2000 AlanFixes 5 **********/ 6 7 #ifndef MOS3 8 #define MOS3 9 10 #include "ngspice/ifsim.h" 11 #include "ngspice/cktdefs.h" 12 #include "ngspice/gendefs.h" 13 #include "ngspice/complex.h" 14 #include "ngspice/noisedef.h" 15 16 /* declarations for level 3 MOSFETs */ 17 18 /* indices to the array of MOSFET(3) noise sources */ 19 20 enum { 21 MOS3RDNOIZ = 0, 22 MOS3RSNOIZ, 23 MOS3IDNOIZ, 24 MOS3FLNOIZ, 25 MOS3TOTNOIZ, 26 /* finally, the number of noise sources */ 27 MOS3NSRCS 28 }; 29 30 /* information needed for each instance */ 31 32 typedef struct sMOS3instance { 33 34 struct GENinstance gen; 35 36 #define MOS3modPtr(inst) ((struct sMOS3model *)((inst)->gen.GENmodPtr)) 37 #define MOS3nextInstance(inst) ((struct sMOS3instance *)((inst)->gen.GENnextInstance)) 38 #define MOS3name gen.GENname 39 #define MOS3states gen.GENstate 40 41 const int MOS3dNode; /* number of the gate node of the mosfet */ 42 const int MOS3gNode; /* number of the gate node of the mosfet */ 43 const int MOS3sNode; /* number of the source node of the mosfet */ 44 const int MOS3bNode; /* number of the bulk node of the mosfet */ 45 int MOS3dNodePrime; /* number of the internal drain node of the mosfet */ 46 int MOS3sNodePrime; /* number of the internal source node of the mosfet */ 47 48 double MOS3m; /* parallel device multiplier */ 49 double MOS3l; /* the length of the channel region */ 50 double MOS3w; /* the width of the channel region */ 51 double MOS3drainArea; /* the area of the drain diffusion */ 52 double MOS3sourceArea; /* the area of the source diffusion */ 53 double MOS3drainSquares; /* the length of the drain in squares */ 54 double MOS3sourceSquares; /* the length of the source in squares */ 55 double MOS3drainPerimiter; 56 double MOS3sourcePerimiter; 57 double MOS3sourceConductance; /*conductance of source(or 0):set in setup*/ 58 double MOS3drainConductance; /*conductance of drain(or 0):set in setup*/ 59 double MOS3temp; /* operating temperature of this instance */ 60 double MOS3dtemp; /* temperature difference for this instance */ 61 62 double MOS3tTransconductance; /* temperature corrected transconductance*/ 63 double MOS3tSurfMob; /* temperature corrected surface mobility */ 64 double MOS3tPhi; /* temperature corrected Phi */ 65 double MOS3tVto; /* temperature corrected Vto */ 66 double MOS3tSatCur; /* temperature corrected saturation Cur. */ 67 double MOS3tSatCurDens; /* temperature corrected saturation Cur. density*/ 68 double MOS3tCbd; /* temperature corrected B-D Capacitance */ 69 double MOS3tCbs; /* temperature corrected B-S Capacitance */ 70 double MOS3tCj; /* temperature corrected Bulk bottom Capacitance */ 71 double MOS3tCjsw; /* temperature corrected Bulk side Capacitance */ 72 double MOS3tBulkPot; /* temperature corrected Bulk potential */ 73 double MOS3tDepCap; /* temperature adjusted transition point in */ 74 /* the cureve matching Fc * Vj */ 75 double MOS3tVbi; /* temperature adjusted Vbi */ 76 77 double MOS3icVBS; /* initial condition B-S voltage */ 78 double MOS3icVDS; /* initial condition D-S voltage */ 79 double MOS3icVGS; /* initial condition G-S voltage */ 80 double MOS3von; 81 double MOS3vdsat; 82 double MOS3sourceVcrit; /* vcrit for pos. vds */ 83 double MOS3drainVcrit; /* vcrit for neg. vds */ 84 double MOS3cd; 85 double MOS3cbs; 86 double MOS3cbd; 87 double MOS3gmbs; 88 double MOS3gm; 89 double MOS3gds; 90 double MOS3gbd; 91 double MOS3gbs; 92 double MOS3capbd; 93 double MOS3capbs; 94 double MOS3Cbd; 95 double MOS3Cbdsw; 96 double MOS3Cbs; 97 double MOS3Cbssw; 98 double MOS3f2d; 99 double MOS3f3d; 100 double MOS3f4d; 101 double MOS3f2s; 102 double MOS3f3s; 103 double MOS3f4s; 104 int MOS3mode; /* device mode : 1 = normal, -1 = inverse */ 105 106 107 unsigned MOS3off :1;/* non-zero to indicate device is off for dc analysis*/ 108 unsigned MOS3tempGiven :1; /* instance temperature specified */ 109 unsigned MOS3dtempGiven :1; /* instance temperature difference specified */ 110 unsigned MOS3mGiven :1; 111 unsigned MOS3lGiven :1; 112 unsigned MOS3wGiven :1; 113 unsigned MOS3drainAreaGiven :1; 114 unsigned MOS3sourceAreaGiven :1; 115 unsigned MOS3drainSquaresGiven :1; 116 unsigned MOS3sourceSquaresGiven :1; 117 unsigned MOS3drainPerimiterGiven :1; 118 unsigned MOS3sourcePerimiterGiven :1; 119 unsigned MOS3dNodePrimeSet :1; 120 unsigned MOS3sNodePrimeSet :1; 121 unsigned MOS3icVBSGiven :1; 122 unsigned MOS3icVDSGiven :1; 123 unsigned MOS3icVGSGiven :1; 124 unsigned MOS3vonGiven :1; 125 unsigned MOS3vdsatGiven :1; 126 unsigned MOS3modeGiven :1; 127 128 129 double *MOS3DdPtr; /* pointer to sparse matrix element at 130 * (Drain node,drain node) */ 131 double *MOS3GgPtr; /* pointer to sparse matrix element at 132 * (gate node,gate node) */ 133 double *MOS3SsPtr; /* pointer to sparse matrix element at 134 * (source node,source node) */ 135 double *MOS3BbPtr; /* pointer to sparse matrix element at 136 * (bulk node,bulk node) */ 137 double *MOS3DPdpPtr; /* pointer to sparse matrix element at 138 * (drain prime node,drain prime node) */ 139 double *MOS3SPspPtr; /* pointer to sparse matrix element at 140 * (source prime node,source prime node) */ 141 double *MOS3DdpPtr; /* pointer to sparse matrix element at 142 * (drain node,drain prime node) */ 143 double *MOS3GbPtr; /* pointer to sparse matrix element at 144 * (gate node,bulk node) */ 145 double *MOS3GdpPtr; /* pointer to sparse matrix element at 146 * (gate node,drain prime node) */ 147 double *MOS3GspPtr; /* pointer to sparse matrix element at 148 * (gate node,source prime node) */ 149 double *MOS3SspPtr; /* pointer to sparse matrix element at 150 * (source node,source prime node) */ 151 double *MOS3BdpPtr; /* pointer to sparse matrix element at 152 * (bulk node,drain prime node) */ 153 double *MOS3BspPtr; /* pointer to sparse matrix element at 154 * (bulk node,source prime node) */ 155 double *MOS3DPspPtr; /* pointer to sparse matrix element at 156 * (drain prime node,source prime node) */ 157 double *MOS3DPdPtr; /* pointer to sparse matrix element at 158 * (drain prime node,drain node) */ 159 double *MOS3BgPtr; /* pointer to sparse matrix element at 160 * (bulk node,gate node) */ 161 double *MOS3DPgPtr; /* pointer to sparse matrix element at 162 * (drain prime node,gate node) */ 163 164 double *MOS3SPgPtr; /* pointer to sparse matrix element at 165 * (source prime node,gate node) */ 166 double *MOS3SPsPtr; /* pointer to sparse matrix element at 167 * (source prime node,source node) */ 168 double *MOS3DPbPtr; /* pointer to sparse matrix element at 169 * (drain prime node,bulk node) */ 170 double *MOS3SPbPtr; /* pointer to sparse matrix element at 171 * (source prime node,bulk node) */ 172 double *MOS3SPdpPtr; /* pointer to sparse matrix element at 173 * (source prime node,drain prime node) */ 174 int MOS3senParmNo; /* parameter # for sensitivity use; 175 set equal to 0 if neither length 176 nor width of the mosfet is a design 177 parameter */ 178 unsigned MOS3sens_l :1; /* field which indicates whether 179 length of the mosfet is a design 180 parameter or not */ 181 unsigned MOS3sens_w :1; /* field which indicates whether 182 width of the mosfet is a design 183 parameter or not */ 184 unsigned MOS3senPertFlag :1; /* indictes whether the the parameter of 185 the particular instance is to be perturbed */ 186 double MOS3cgs; 187 double MOS3cgd; 188 double MOS3cgb; 189 double *MOS3sens; 190 191 #define MOS3senGdpr MOS3sens 192 #define MOS3senGspr MOS3sens + 1 193 #define MOS3senCgs MOS3sens + 2 /* contains pertured values of cgs */ 194 #define MOS3senCgd MOS3sens + 8 /* contains perturbed values of cgd*/ 195 #define MOS3senCgb MOS3sens + 14 /* contains perturbed values of cgb*/ 196 #define MOS3senCbd MOS3sens + 20 /* contains perturbed values of cbd*/ 197 #define MOS3senCbs MOS3sens + 26 /* contains perturbed values of cbs*/ 198 #define MOS3senGds MOS3sens + 32 /* contains perturbed values of gds*/ 199 #define MOS3senGbs MOS3sens + 38 /* contains perturbed values of gbs*/ 200 #define MOS3senGbd MOS3sens + 44 /* contains perturbed values of gbd*/ 201 #define MOS3senGm MOS3sens + 50 /* contains perturbed values of gm*/ 202 #define MOS3senGmbs MOS3sens + 56 /* contains perturbed values of gmbs*/ 203 #define MOS3dphigs_dl MOS3sens + 62 204 #define MOS3dphigd_dl MOS3sens + 63 205 #define MOS3dphigb_dl MOS3sens + 64 206 #define MOS3dphibs_dl MOS3sens + 65 207 #define MOS3dphibd_dl MOS3sens + 66 208 #define MOS3dphigs_dw MOS3sens + 67 209 #define MOS3dphigd_dw MOS3sens + 68 210 #define MOS3dphigb_dw MOS3sens + 69 211 #define MOS3dphibs_dw MOS3sens + 70 212 #define MOS3dphibd_dw MOS3sens + 71 213 214 /* distortion stuff */ 215 /* 216 * naming convention: 217 * x = vgs 218 * y = vbs 219 * z = vds 220 * cdr = cdrain 221 */ 222 223 224 #define MOS3NDCOEFFS 30 225 226 #ifndef NODISTO 227 double MOS3dCoeffs[MOS3NDCOEFFS]; 228 #else /* NODISTO */ 229 double *MOS3dCoeffs; 230 #endif /* NODISTO */ 231 232 #ifndef CONFIG 233 234 #define capbs2 MOS3dCoeffs[0] 235 #define capbs3 MOS3dCoeffs[1] 236 #define capbd2 MOS3dCoeffs[2] 237 #define capbd3 MOS3dCoeffs[3] 238 #define gbs2 MOS3dCoeffs[4] 239 #define gbs3 MOS3dCoeffs[5] 240 #define gbd2 MOS3dCoeffs[6] 241 #define gbd3 MOS3dCoeffs[7] 242 #define capgb2 MOS3dCoeffs[8] 243 #define capgb3 MOS3dCoeffs[9] 244 #define cdr_x2 MOS3dCoeffs[10] 245 #define cdr_y2 MOS3dCoeffs[11] 246 #define cdr_z2 MOS3dCoeffs[12] 247 #define cdr_xy MOS3dCoeffs[13] 248 #define cdr_yz MOS3dCoeffs[14] 249 #define cdr_xz MOS3dCoeffs[15] 250 #define cdr_x3 MOS3dCoeffs[16] 251 #define cdr_y3 MOS3dCoeffs[17] 252 #define cdr_z3 MOS3dCoeffs[18] 253 #define cdr_x2z MOS3dCoeffs[19] 254 #define cdr_x2y MOS3dCoeffs[20] 255 #define cdr_y2z MOS3dCoeffs[21] 256 #define cdr_xy2 MOS3dCoeffs[22] 257 #define cdr_xz2 MOS3dCoeffs[23] 258 #define cdr_yz2 MOS3dCoeffs[24] 259 #define cdr_xyz MOS3dCoeffs[25] 260 #define capgs2 MOS3dCoeffs[26] 261 #define capgs3 MOS3dCoeffs[27] 262 #define capgd2 MOS3dCoeffs[28] 263 #define capgd3 MOS3dCoeffs[29] 264 265 #endif 266 267 /* end distortion coeffs. */ 268 269 #ifndef NONOISE 270 double MOS3nVar[NSTATVARS][MOS3NSRCS]; 271 #else /* NONOISE */ 272 double **MOS3nVar; 273 #endif /* NONOISE */ 274 275 } MOS3instance ; 276 277 #define MOS3vbd MOS3states+ 0 278 #define MOS3vbs MOS3states+ 1 279 #define MOS3vgs MOS3states+ 2 280 #define MOS3vds MOS3states+ 3 281 282 /* meyer capacitances */ 283 #define MOS3capgs MOS3states+ 4 /* gate-source capacitor value */ 284 #define MOS3qgs MOS3states+ 5 /* gate-source capacitor charge */ 285 #define MOS3cqgs MOS3states+ 6 /* gate-source capacitor current */ 286 287 #define MOS3capgd MOS3states+ 7 /* gate-drain capacitor value */ 288 #define MOS3qgd MOS3states+ 8 /* gate-drain capacitor charge */ 289 #define MOS3cqgd MOS3states+ 9 /* gate-drain capacitor current */ 290 291 #define MOS3capgb MOS3states+ 10/* gate-bulk capacitor value */ 292 #define MOS3qgb MOS3states+ 11 /* gate-bulk capacitor charge */ 293 #define MOS3cqgb MOS3states+ 12 /* gate-bulk capacitor current */ 294 295 /* diode capacitances */ 296 #define MOS3qbd MOS3states+ 13 /* bulk-drain capacitor charge */ 297 #define MOS3cqbd MOS3states+ 14 /* bulk-drain capacitor current */ 298 299 #define MOS3qbs MOS3states+ 15 /* bulk-source capacitor charge */ 300 #define MOS3cqbs MOS3states+ 16 /* bulk-source capacitor current */ 301 302 #define MOS3NUMSTATES 17 303 304 305 #define MOS3sensxpgs MOS3states+17 /* charge sensitivities and their derivatives 306 +18 for the derivatives - pointer to the 307 beginning of the array */ 308 #define MOS3sensxpgd MOS3states+19 309 #define MOS3sensxpgb MOS3states+21 310 #define MOS3sensxpbs MOS3states+23 311 #define MOS3sensxpbd MOS3states+25 312 313 #define MOS3numSenStates 10 314 315 316 /* per model data */ 317 318 /* NOTE: parameters marked 'input - use xxxx' are paramters for 319 * which a temperature correction is applied in MOS3temp, thus 320 * the MOS3xxxx value in the per-instance structure should be used 321 * instead in all calculations 322 */ 323 324 typedef struct sMOS3model { /* model structure for a resistor */ 325 326 struct GENmodel gen; 327 328 #define MOS3modType gen.GENmodType 329 #define MOS3nextModel(inst) ((struct sMOS3model *)((inst)->gen.GENnextModel)) 330 #define MOS3instances(inst) ((MOS3instance *)((inst)->gen.GENinstances)) 331 #define MOS3modName gen.GENmodName 332 333 int MOS3type; /* device type : 1 = nmos, -1 = pmos */ 334 double MOS3tnom; /* temperature at which parameters measured */ 335 double MOS3latDiff; 336 double MOS3lengthAdjust; /* New parm: mask adjustment to length */ 337 double MOS3widthNarrow; /* New parm to reduce effective width */ 338 double MOS3widthAdjust; /* New parm: mask adjustment to width */ 339 double MOS3delvt0; /* New parm: adjustment calculated vtO */ 340 double MOS3jctSatCurDensity; /* input - use tSatCurDens*/ 341 double MOS3jctSatCur; /* input - use tSatCur instead */ 342 double MOS3drainResistance; 343 double MOS3sourceResistance; 344 double MOS3sheetResistance; 345 double MOS3transconductance; /* input - use tTransconductance */ 346 double MOS3gateSourceOverlapCapFactor; 347 double MOS3gateDrainOverlapCapFactor; 348 double MOS3gateBulkOverlapCapFactor; 349 double MOS3oxideCapFactor; 350 double MOS3vt0; /* input - use tVto */ 351 double MOS3capBD; /* input - use tCbs */ 352 double MOS3capBS; /* input - use tCbd */ 353 double MOS3bulkCapFactor; /* input - use tCj */ 354 double MOS3sideWallCapFactor; /* input - use tCjsw */ 355 double MOS3bulkJctPotential; /* input - use tBulkPot */ 356 double MOS3bulkJctBotGradingCoeff; 357 double MOS3bulkJctSideGradingCoeff; 358 double MOS3fwdCapDepCoeff; 359 double MOS3phi; /* input - use tPhi */ 360 double MOS3gamma; 361 double MOS3substrateDoping; 362 int MOS3gateType; 363 double MOS3surfaceStateDensity; 364 double MOS3oxideThickness; 365 double MOS3surfaceMobility; /* input - use tSurfMob */ 366 double MOS3eta; 367 double MOS3junctionDepth; 368 double MOS3coeffDepLayWidth; /* xd */ 369 double MOS3narrowFactor; /* delta */ 370 double MOS3delta; /* input delta */ 371 double MOS3fastSurfaceStateDensity; /* nfs */ 372 double MOS3theta; /* theta */ 373 double MOS3maxDriftVel; /* vmax */ 374 double MOS3alpha; /* alpha */ 375 double MOS3kappa; /* kappa */ 376 double MOS3fNcoef; 377 double MOS3fNexp; 378 379 unsigned MOS3typeGiven :1; 380 unsigned MOS3latDiffGiven :1; 381 unsigned MOS3lengthAdjustGiven :1; 382 unsigned MOS3widthNarrowGiven :1; 383 unsigned MOS3widthAdjustGiven :1; 384 unsigned MOS3delvt0Given :1; 385 unsigned MOS3jctSatCurDensityGiven :1; 386 unsigned MOS3jctSatCurGiven :1; 387 unsigned MOS3drainResistanceGiven :1; 388 unsigned MOS3sourceResistanceGiven :1; 389 unsigned MOS3sheetResistanceGiven :1; 390 unsigned MOS3transconductanceGiven :1; 391 unsigned MOS3gateSourceOverlapCapFactorGiven :1; 392 unsigned MOS3gateDrainOverlapCapFactorGiven :1; 393 unsigned MOS3gateBulkOverlapCapFactorGiven :1; 394 unsigned MOS3vt0Given :1; 395 unsigned MOS3capBDGiven :1; 396 unsigned MOS3capBSGiven :1; 397 unsigned MOS3bulkCapFactorGiven :1; 398 unsigned MOS3sideWallCapFactorGiven :1; 399 unsigned MOS3bulkJctPotentialGiven :1; 400 unsigned MOS3bulkJctBotGradingCoeffGiven :1; 401 unsigned MOS3bulkJctSideGradingCoeffGiven :1; 402 unsigned MOS3fwdCapDepCoeffGiven :1; 403 unsigned MOS3phiGiven :1; 404 unsigned MOS3gammaGiven :1; 405 unsigned MOS3substrateDopingGiven :1; 406 unsigned MOS3gateTypeGiven :1; 407 unsigned MOS3surfaceStateDensityGiven :1; 408 unsigned MOS3oxideThicknessGiven :1; 409 unsigned MOS3surfaceMobilityGiven :1; 410 unsigned MOS3etaGiven :1; 411 unsigned MOS3junctionDepthGiven :1; 412 unsigned MOS3deltaGiven :1; /* delta */ 413 unsigned MOS3fastSurfaceStateDensityGiven :1; /* nfs */ 414 unsigned MOS3thetaGiven :1; /* theta */ 415 unsigned MOS3maxDriftVelGiven :1; /* vmax */ 416 unsigned MOS3kappaGiven :1; /* kappa */ 417 unsigned MOS3tnomGiven :1; /* Tnom was given? */ 418 unsigned MOS3fNcoefGiven :1; 419 unsigned MOS3fNexpGiven :1; 420 421 } MOS3model; 422 423 #ifndef NMOS 424 #define NMOS 1 425 #define PMOS -1 426 #endif /*NMOS*/ 427 428 /* device parameters */ 429 enum { 430 MOS3_W = 1, 431 MOS3_L, 432 MOS3_AS, 433 MOS3_AD, 434 MOS3_PS, 435 MOS3_PD, 436 MOS3_NRS, 437 MOS3_NRD, 438 MOS3_OFF, 439 MOS3_IC, 440 MOS3_IC_VBS, 441 MOS3_IC_VDS, 442 MOS3_IC_VGS, 443 MOS3_W_SENS, 444 MOS3_L_SENS, 445 MOS3_CB, 446 MOS3_CG, 447 MOS3_CS, 448 MOS3_POWER, 449 MOS3_CGS, 450 MOS3_CGD, 451 MOS3_DNODE, 452 MOS3_GNODE, 453 MOS3_SNODE, 454 MOS3_BNODE, 455 MOS3_DNODEPRIME, 456 MOS3_SNODEPRIME, 457 MOS3_SOURCECONDUCT, 458 MOS3_DRAINCONDUCT, 459 MOS3_VON, 460 MOS3_VDSAT, 461 MOS3_SOURCEVCRIT, 462 MOS3_DRAINVCRIT, 463 MOS3_CD, 464 MOS3_CBS, 465 MOS3_CBD, 466 MOS3_GMBS, 467 MOS3_GM, 468 MOS3_GDS, 469 MOS3_GBD, 470 MOS3_GBS, 471 MOS3_CAPBD, 472 MOS3_CAPBS, 473 MOS3_CAPZEROBIASBD, 474 MOS3_CAPZEROBIASBDSW, 475 MOS3_CAPZEROBIASBS, 476 MOS3_CAPZEROBIASBSSW, 477 MOS3_VBD, 478 MOS3_VBS, 479 MOS3_VGS, 480 MOS3_VDS, 481 MOS3_CAPGS, 482 MOS3_QGS, 483 MOS3_CQGS, 484 MOS3_CAPGD, 485 MOS3_QGD, 486 MOS3_CQGD, 487 MOS3_CAPGB, 488 MOS3_QGB, 489 MOS3_CQGB, 490 MOS3_QBD, 491 MOS3_CQBD, 492 MOS3_QBS, 493 MOS3_CQBS, 494 MOS3_W_SENS_REAL, 495 MOS3_W_SENS_IMAG, 496 MOS3_W_SENS_MAG, 497 MOS3_W_SENS_PH, 498 MOS3_W_SENS_CPLX, 499 MOS3_L_SENS_REAL, 500 MOS3_L_SENS_IMAG, 501 MOS3_L_SENS_MAG, 502 MOS3_L_SENS_PH, 503 MOS3_L_SENS_CPLX, 504 MOS3_W_SENS_DC, 505 MOS3_L_SENS_DC, 506 MOS3_TEMP, 507 MOS3_SOURCERESIST, 508 MOS3_DRAINRESIST, 509 MOS3_M, 510 MOS3_DTEMP, 511 }; 512 513 /* model parameters */ 514 enum { 515 MOS3_MOD_VTO = 101, 516 MOS3_MOD_KP, 517 MOS3_MOD_GAMMA, 518 MOS3_MOD_PHI, 519 MOS3_MOD_RD, 520 MOS3_MOD_RS, 521 MOS3_MOD_CBD, 522 MOS3_MOD_CBS, 523 MOS3_MOD_IS, 524 MOS3_MOD_PB, 525 MOS3_MOD_CGSO, 526 MOS3_MOD_CGDO, 527 MOS3_MOD_CGBO, 528 MOS3_MOD_RSH, 529 MOS3_MOD_CJ, 530 MOS3_MOD_MJ, 531 MOS3_MOD_CJSW, 532 MOS3_MOD_MJSW, 533 MOS3_MOD_JS, 534 MOS3_MOD_TOX, 535 MOS3_MOD_LD, 536 MOS3_MOD_U0, 537 MOS3_MOD_FC, 538 MOS3_MOD_NSUB, 539 MOS3_MOD_TPG, 540 MOS3_MOD_NSS, 541 MOS3_MOD_ETA, 542 MOS3_MOD_DELTA, 543 MOS3_MOD_NFS, 544 MOS3_MOD_THETA, 545 MOS3_MOD_VMAX, 546 MOS3_MOD_KAPPA, 547 MOS3_MOD_NMOS, 548 MOS3_MOD_PMOS, 549 MOS3_MOD_XJ, 550 MOS3_MOD_UEXP, 551 MOS3_MOD_NEFF, 552 MOS3_MOD_XD, 553 MOS3_MOD_ALPHA, 554 MOS3_DELTA, 555 MOS3_MOD_TNOM, 556 MOS3_MOD_KF, 557 MOS3_MOD_AF, 558 MOS3_MOD_TYPE, 559 MOS3_MOD_XL, 560 MOS3_MOD_WD, 561 MOS3_MOD_XW, 562 MOS3_MOD_DELVTO, 563 }; 564 565 /* device questions */ 566 567 568 /* model questions */ 569 570 #include "mos3ext.h" 571 572 #endif /*MOS3*/ 573