1 /********** 2 Copyright 1990 Regents of the University of California. All rights reserved. 3 Author: 1985 Thomas L. Quarles 4 Modified: Alan Gillespie 5 **********/ 6 7 #ifndef MOS9 8 #define MOS9 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 9 MOSFETs */ 17 18 /* indices to the array of MOSFET(9) noise sources */ 19 20 enum { 21 MOS9RDNOIZ = 0, 22 MOS9RSNOIZ, 23 MOS9IDNOIZ, 24 MOS9FLNOIZ, 25 MOS9TOTNOIZ, 26 /* finally, the number of noise sources */ 27 MOS9NSRCS 28 }; 29 30 /* information needed for each instance */ 31 32 typedef struct sMOS9instance { 33 34 struct GENinstance gen; 35 36 #define MOS9modPtr(inst) ((struct sMOS9model *)((inst)->gen.GENmodPtr)) 37 #define MOS9nextInstance(inst) ((struct sMOS9instance *)((inst)->gen.GENnextInstance)) 38 #define MOS9name gen.GENname 39 #define MOS9states gen.GENstate 40 41 const int MOS9dNode; /* number of the gate node of the mosfet */ 42 const int MOS9gNode; /* number of the gate node of the mosfet */ 43 const int MOS9sNode; /* number of the source node of the mosfet */ 44 const int MOS9bNode; /* number of the bulk node of the mosfet */ 45 int MOS9dNodePrime; /* number of the internal drain node of the mosfet */ 46 int MOS9sNodePrime; /* number of the internal source node of the mosfet */ 47 48 double MOS9m; /* parallel device multiplier */ 49 double MOS9l; /* the length of the channel region */ 50 double MOS9w; /* the width of the channel region */ 51 double MOS9drainArea; /* the area of the drain diffusion */ 52 double MOS9sourceArea; /* the area of the source diffusion */ 53 double MOS9drainSquares; /* the length of the drain in squares */ 54 double MOS9sourceSquares; /* the length of the source in squares */ 55 double MOS9drainPerimiter; 56 double MOS9sourcePerimiter; 57 double MOS9sourceConductance; /*conductance of source(or 0):set in setup*/ 58 double MOS9drainConductance; /*conductance of drain(or 0):set in setup*/ 59 double MOS9temp; /* operating temperature of this instance */ 60 double MOS9dtemp; /* instance temperature difference */ 61 62 double MOS9tTransconductance; /* temperature corrected transconductance*/ 63 double MOS9tSurfMob; /* temperature corrected surface mobility */ 64 double MOS9tPhi; /* temperature corrected Phi */ 65 double MOS9tVto; /* temperature corrected Vto */ 66 double MOS9tSatCur; /* temperature corrected saturation Cur. */ 67 double MOS9tSatCurDens; /* temperature corrected saturation Cur. density*/ 68 double MOS9tCbd; /* temperature corrected B-D Capacitance */ 69 double MOS9tCbs; /* temperature corrected B-S Capacitance */ 70 double MOS9tCj; /* temperature corrected Bulk bottom Capacitance */ 71 double MOS9tCjsw; /* temperature corrected Bulk side Capacitance */ 72 double MOS9tBulkPot; /* temperature corrected Bulk potential */ 73 double MOS9tDepCap; /* temperature adjusted transition point in */ 74 /* the cureve matching Fc * Vj */ 75 double MOS9tVbi; /* temperature adjusted Vbi */ 76 77 double MOS9icVBS; /* initial condition B-S voltage */ 78 double MOS9icVDS; /* initial condition D-S voltage */ 79 double MOS9icVGS; /* initial condition G-S voltage */ 80 double MOS9von; 81 double MOS9vdsat; 82 double MOS9sourceVcrit; /* vcrit for pos. vds */ 83 double MOS9drainVcrit; /* vcrit for neg. vds */ 84 double MOS9cd; 85 double MOS9cbs; 86 double MOS9cbd; 87 double MOS9gmbs; 88 double MOS9gm; 89 double MOS9gds; 90 double MOS9gbd; 91 double MOS9gbs; 92 double MOS9capbd; 93 double MOS9capbs; 94 double MOS9Cbd; 95 double MOS9Cbdsw; 96 double MOS9Cbs; 97 double MOS9Cbssw; 98 double MOS9f2d; 99 double MOS9f3d; 100 double MOS9f4d; 101 double MOS9f2s; 102 double MOS9f3s; 103 double MOS9f4s; 104 int MOS9mode; /* device mode : 1 = normal, -1 = inverse */ 105 106 107 unsigned MOS9off :1;/* non-zero to indicate device is off for dc analysis*/ 108 unsigned MOS9tempGiven :1; /* instance temperature specified */ 109 unsigned MOS9dtempGiven :1; /* instance temperature difference specified*/ 110 111 unsigned MOS9mGiven :1; 112 113 unsigned MOS9lGiven :1; 114 unsigned MOS9wGiven :1; 115 unsigned MOS9drainAreaGiven :1; 116 unsigned MOS9sourceAreaGiven :1; 117 unsigned MOS9drainSquaresGiven :1; 118 unsigned MOS9sourceSquaresGiven :1; 119 unsigned MOS9drainPerimiterGiven :1; 120 unsigned MOS9sourcePerimiterGiven :1; 121 unsigned MOS9dNodePrimeSet :1; 122 unsigned MOS9sNodePrimeSet :1; 123 unsigned MOS9icVBSGiven :1; 124 unsigned MOS9icVDSGiven :1; 125 unsigned MOS9icVGSGiven :1; 126 unsigned MOS9vonGiven :1; 127 unsigned MOS9vdsatGiven :1; 128 unsigned MOS9modeGiven :1; 129 130 131 double *MOS9DdPtr; /* pointer to sparse matrix element at 132 * (Drain node,drain node) */ 133 double *MOS9GgPtr; /* pointer to sparse matrix element at 134 * (gate node,gate node) */ 135 double *MOS9SsPtr; /* pointer to sparse matrix element at 136 * (source node,source node) */ 137 double *MOS9BbPtr; /* pointer to sparse matrix element at 138 * (bulk node,bulk node) */ 139 double *MOS9DPdpPtr; /* pointer to sparse matrix element at 140 * (drain prime node,drain prime node) */ 141 double *MOS9SPspPtr; /* pointer to sparse matrix element at 142 * (source prime node,source prime node) */ 143 double *MOS9DdpPtr; /* pointer to sparse matrix element at 144 * (drain node,drain prime node) */ 145 double *MOS9GbPtr; /* pointer to sparse matrix element at 146 * (gate node,bulk node) */ 147 double *MOS9GdpPtr; /* pointer to sparse matrix element at 148 * (gate node,drain prime node) */ 149 double *MOS9GspPtr; /* pointer to sparse matrix element at 150 * (gate node,source prime node) */ 151 double *MOS9SspPtr; /* pointer to sparse matrix element at 152 * (source node,source prime node) */ 153 double *MOS9BdpPtr; /* pointer to sparse matrix element at 154 * (bulk node,drain prime node) */ 155 double *MOS9BspPtr; /* pointer to sparse matrix element at 156 * (bulk node,source prime node) */ 157 double *MOS9DPspPtr; /* pointer to sparse matrix element at 158 * (drain prime node,source prime node) */ 159 double *MOS9DPdPtr; /* pointer to sparse matrix element at 160 * (drain prime node,drain node) */ 161 double *MOS9BgPtr; /* pointer to sparse matrix element at 162 * (bulk node,gate node) */ 163 double *MOS9DPgPtr; /* pointer to sparse matrix element at 164 * (drain prime node,gate node) */ 165 166 double *MOS9SPgPtr; /* pointer to sparse matrix element at 167 * (source prime node,gate node) */ 168 double *MOS9SPsPtr; /* pointer to sparse matrix element at 169 * (source prime node,source node) */ 170 double *MOS9DPbPtr; /* pointer to sparse matrix element at 171 * (drain prime node,bulk node) */ 172 double *MOS9SPbPtr; /* pointer to sparse matrix element at 173 * (source prime node,bulk node) */ 174 double *MOS9SPdpPtr; /* pointer to sparse matrix element at 175 * (source prime node,drain prime node) */ 176 int MOS9senParmNo; /* parameter # for sensitivity use; 177 set equal to 0 if neither length 178 nor width of the mosfet is a design 179 parameter */ 180 unsigned MOS9sens_l :1; /* field which indicates whether 181 length of the mosfet is a design 182 parameter or not */ 183 unsigned MOS9sens_w :1; /* field which indicates whether 184 width of the mosfet is a design 185 parameter or not */ 186 unsigned MOS9senPertFlag :1; /* indictes whether the the parameter of 187 the particular instance is to be perturbed */ 188 double MOS9cgs; 189 double MOS9cgd; 190 double MOS9cgb; 191 double *MOS9sens; 192 193 #define MOS9senGdpr MOS9sens 194 #define MOS9senGspr MOS9sens + 1 195 #define MOS9senCgs MOS9sens + 2 /* contains pertured values of cgs */ 196 #define MOS9senCgd MOS9sens + 8 /* contains perturbed values of cgd*/ 197 #define MOS9senCgb MOS9sens + 14 /* contains perturbed values of cgb*/ 198 #define MOS9senCbd MOS9sens + 20 /* contains perturbed values of cbd*/ 199 #define MOS9senCbs MOS9sens + 26 /* contains perturbed values of cbs*/ 200 #define MOS9senGds MOS9sens + 32 /* contains perturbed values of gds*/ 201 #define MOS9senGbs MOS9sens + 38 /* contains perturbed values of gbs*/ 202 #define MOS9senGbd MOS9sens + 44 /* contains perturbed values of gbd*/ 203 #define MOS9senGm MOS9sens + 50 /* contains perturbed values of gm*/ 204 #define MOS9senGmbs MOS9sens + 56 /* contains perturbed values of gmbs*/ 205 #define MOS9dphigs_dl MOS9sens + 62 206 #define MOS9dphigd_dl MOS9sens + 63 207 #define MOS9dphigb_dl MOS9sens + 64 208 #define MOS9dphibs_dl MOS9sens + 65 209 #define MOS9dphibd_dl MOS9sens + 66 210 #define MOS9dphigs_dw MOS9sens + 67 211 #define MOS9dphigd_dw MOS9sens + 68 212 #define MOS9dphigb_dw MOS9sens + 69 213 #define MOS9dphibs_dw MOS9sens + 70 214 #define MOS9dphibd_dw MOS9sens + 71 215 216 /* distortion stuff */ 217 /* 218 * naming convention: 219 * x = vgs 220 * y = vbs 221 * z = vds 222 * cdr = cdrain 223 */ 224 225 226 #define MOS9NDCOEFFS 30 227 228 #ifndef NODISTO 229 double MOS9dCoeffs[MOS9NDCOEFFS]; 230 #else /* NODISTO */ 231 double *MOS9dCoeffs; 232 #endif /* NODISTO */ 233 234 #ifndef CONFIG 235 236 #define capbs2 MOS9dCoeffs[0] 237 #define capbs3 MOS9dCoeffs[1] 238 #define capbd2 MOS9dCoeffs[2] 239 #define capbd3 MOS9dCoeffs[3] 240 #define gbs2 MOS9dCoeffs[4] 241 #define gbs3 MOS9dCoeffs[5] 242 #define gbd2 MOS9dCoeffs[6] 243 #define gbd3 MOS9dCoeffs[7] 244 #define capgb2 MOS9dCoeffs[8] 245 #define capgb3 MOS9dCoeffs[9] 246 #define cdr_x2 MOS9dCoeffs[10] 247 #define cdr_y2 MOS9dCoeffs[11] 248 #define cdr_z2 MOS9dCoeffs[12] 249 #define cdr_xy MOS9dCoeffs[13] 250 #define cdr_yz MOS9dCoeffs[14] 251 #define cdr_xz MOS9dCoeffs[15] 252 #define cdr_x3 MOS9dCoeffs[16] 253 #define cdr_y3 MOS9dCoeffs[17] 254 #define cdr_z3 MOS9dCoeffs[18] 255 #define cdr_x2z MOS9dCoeffs[19] 256 #define cdr_x2y MOS9dCoeffs[20] 257 #define cdr_y2z MOS9dCoeffs[21] 258 #define cdr_xy2 MOS9dCoeffs[22] 259 #define cdr_xz2 MOS9dCoeffs[23] 260 #define cdr_yz2 MOS9dCoeffs[24] 261 #define cdr_xyz MOS9dCoeffs[25] 262 #define capgs2 MOS9dCoeffs[26] 263 #define capgs3 MOS9dCoeffs[27] 264 #define capgd2 MOS9dCoeffs[28] 265 #define capgd3 MOS9dCoeffs[29] 266 267 #endif 268 269 /* end distortion coeffs. */ 270 271 #ifndef NONOISE 272 double MOS9nVar[NSTATVARS][MOS9NSRCS]; 273 #else /* NONOISE */ 274 double **MOS9nVar; 275 #endif /* NONOISE */ 276 277 } MOS9instance ; 278 279 #define MOS9vbd MOS9states+ 0 280 #define MOS9vbs MOS9states+ 1 281 #define MOS9vgs MOS9states+ 2 282 #define MOS9vds MOS9states+ 3 283 284 /* meyer capacitances */ 285 #define MOS9capgs MOS9states+ 4 /* gate-source capacitor value */ 286 #define MOS9qgs MOS9states+ 5 /* gate-source capacitor charge */ 287 #define MOS9cqgs MOS9states+ 6 /* gate-source capacitor current */ 288 289 #define MOS9capgd MOS9states+ 7 /* gate-drain capacitor value */ 290 #define MOS9qgd MOS9states+ 8 /* gate-drain capacitor charge */ 291 #define MOS9cqgd MOS9states+ 9 /* gate-drain capacitor current */ 292 293 #define MOS9capgb MOS9states+ 10/* gate-bulk capacitor value */ 294 #define MOS9qgb MOS9states+ 11 /* gate-bulk capacitor charge */ 295 #define MOS9cqgb MOS9states+ 12 /* gate-bulk capacitor current */ 296 297 /* diode capacitances */ 298 #define MOS9qbd MOS9states+ 13 /* bulk-drain capacitor charge */ 299 #define MOS9cqbd MOS9states+ 14 /* bulk-drain capacitor current */ 300 301 #define MOS9qbs MOS9states+ 15 /* bulk-source capacitor charge */ 302 #define MOS9cqbs MOS9states+ 16 /* bulk-source capacitor current */ 303 304 #define MOS9NUMSTATES 17 305 306 307 #define MOS9sensxpgs MOS9states+17 /* charge sensitivities and their derivatives 308 +18 for the derivatives - pointer to the 309 beginning of the array */ 310 #define MOS9sensxpgd MOS9states+19 311 #define MOS9sensxpgb MOS9states+21 312 #define MOS9sensxpbs MOS9states+23 313 #define MOS9sensxpbd MOS9states+25 314 315 #define MOS9numSenStates 10 316 317 318 /* per model data */ 319 320 /* NOTE: parameters marked 'input - use xxxx' are paramters for 321 * which a temperature correction is applied in MOS9temp, thus 322 * the MOS9xxxx value in the per-instance structure should be used 323 * instead in all calculations 324 */ 325 326 typedef struct sMOS9model { /* model structure for a resistor */ 327 328 struct GENmodel gen; 329 330 #define MOS9modType gen.GENmodType 331 #define MOS9nextModel(inst) ((struct sMOS9model *)((inst)->gen.GENnextModel)) 332 #define MOS9instances(inst) ((MOS9instance *)((inst)->gen.GENinstances)) 333 #define MOS9modName gen.GENmodName 334 335 int MOS9type; /* device type : 1 = nmos, -1 = pmos */ 336 double MOS9tnom; /* temperature at which parameters measured */ 337 double MOS9latDiff; 338 double MOS9lengthAdjust; /* New parm: mask adjustment to length */ 339 double MOS9widthNarrow; /* New parm to reduce effective width */ 340 double MOS9widthAdjust; /* New parm: mask adjustment to width */ 341 double MOS9delvt0; /* New parm: adjustment to calculated vtO */ 342 double MOS9jctSatCurDensity; /* input - use tSatCurDens*/ 343 double MOS9jctSatCur; /* input - use tSatCur instead */ 344 double MOS9drainResistance; 345 double MOS9sourceResistance; 346 double MOS9sheetResistance; 347 double MOS9transconductance; /* input - use tTransconductance */ 348 double MOS9gateSourceOverlapCapFactor; 349 double MOS9gateDrainOverlapCapFactor; 350 double MOS9gateBulkOverlapCapFactor; 351 double MOS9oxideCapFactor; 352 double MOS9vt0; /* input - use tVto */ 353 double MOS9capBD; /* input - use tCbs */ 354 double MOS9capBS; /* input - use tCbd */ 355 double MOS9bulkCapFactor; /* input - use tCj */ 356 double MOS9sideWallCapFactor; /* input - use tCjsw */ 357 double MOS9bulkJctPotential; /* input - use tBulkPot */ 358 double MOS9bulkJctBotGradingCoeff; 359 double MOS9bulkJctSideGradingCoeff; 360 double MOS9fwdCapDepCoeff; 361 double MOS9phi; /* input - use tPhi */ 362 double MOS9gamma; 363 double MOS9substrateDoping; 364 int MOS9gateType; 365 double MOS9surfaceStateDensity; 366 double MOS9oxideThickness; 367 double MOS9surfaceMobility; /* input - use tSurfMob */ 368 double MOS9eta; 369 double MOS9junctionDepth; 370 double MOS9coeffDepLayWidth; /* xd */ 371 double MOS9narrowFactor; /* delta */ 372 double MOS9delta; /* input delta */ 373 double MOS9fastSurfaceStateDensity; /* nfs */ 374 double MOS9theta; /* theta */ 375 double MOS9maxDriftVel; /* vmax */ 376 double MOS9alpha; /* alpha */ 377 double MOS9kappa; /* kappa */ 378 double MOS9fNcoef; 379 double MOS9fNexp; 380 381 unsigned MOS9typeGiven :1; 382 unsigned MOS9latDiffGiven :1; 383 unsigned MOS9lengthAdjustGiven :1; 384 unsigned MOS9widthNarrowGiven :1; 385 unsigned MOS9widthAdjustGiven :1; 386 unsigned MOS9delvt0Given :1; 387 unsigned MOS9jctSatCurDensityGiven :1; 388 unsigned MOS9jctSatCurGiven :1; 389 unsigned MOS9drainResistanceGiven :1; 390 unsigned MOS9sourceResistanceGiven :1; 391 unsigned MOS9sheetResistanceGiven :1; 392 unsigned MOS9transconductanceGiven :1; 393 unsigned MOS9gateSourceOverlapCapFactorGiven :1; 394 unsigned MOS9gateDrainOverlapCapFactorGiven :1; 395 unsigned MOS9gateBulkOverlapCapFactorGiven :1; 396 unsigned MOS9vt0Given :1; 397 unsigned MOS9capBDGiven :1; 398 unsigned MOS9capBSGiven :1; 399 unsigned MOS9bulkCapFactorGiven :1; 400 unsigned MOS9sideWallCapFactorGiven :1; 401 unsigned MOS9bulkJctPotentialGiven :1; 402 unsigned MOS9bulkJctBotGradingCoeffGiven :1; 403 unsigned MOS9bulkJctSideGradingCoeffGiven :1; 404 unsigned MOS9fwdCapDepCoeffGiven :1; 405 unsigned MOS9phiGiven :1; 406 unsigned MOS9gammaGiven :1; 407 unsigned MOS9substrateDopingGiven :1; 408 unsigned MOS9gateTypeGiven :1; 409 unsigned MOS9surfaceStateDensityGiven :1; 410 unsigned MOS9oxideThicknessGiven :1; 411 unsigned MOS9surfaceMobilityGiven :1; 412 unsigned MOS9etaGiven :1; 413 unsigned MOS9junctionDepthGiven :1; 414 unsigned MOS9deltaGiven :1; /* delta */ 415 unsigned MOS9fastSurfaceStateDensityGiven :1; /* nfs */ 416 unsigned MOS9thetaGiven :1; /* theta */ 417 unsigned MOS9maxDriftVelGiven :1; /* vmax */ 418 unsigned MOS9kappaGiven :1; /* kappa */ 419 unsigned MOS9tnomGiven :1; /* Tnom was given? */ 420 unsigned MOS9fNcoefGiven :1; 421 unsigned MOS9fNexpGiven :1; 422 423 } MOS9model; 424 425 #ifndef NMOS 426 #define NMOS 1 427 #define PMOS -1 428 #endif /*NMOS*/ 429 430 /* device parameters */ 431 enum { 432 MOS9_W = 1, 433 MOS9_L, 434 MOS9_AS, 435 MOS9_AD, 436 MOS9_PS, 437 MOS9_PD, 438 MOS9_NRS, 439 MOS9_NRD, 440 MOS9_OFF, 441 MOS9_IC, 442 MOS9_IC_VBS, 443 MOS9_IC_VDS, 444 MOS9_IC_VGS, 445 MOS9_W_SENS, 446 MOS9_L_SENS, 447 MOS9_CB, 448 MOS9_CG, 449 MOS9_CS, 450 MOS9_POWER, 451 MOS9_CGS, 452 MOS9_CGD, 453 MOS9_DNODE, 454 MOS9_GNODE, 455 MOS9_SNODE, 456 MOS9_BNODE, 457 MOS9_DNODEPRIME, 458 MOS9_SNODEPRIME, 459 MOS9_SOURCECONDUCT, 460 MOS9_DRAINCONDUCT, 461 MOS9_VON, 462 MOS9_VDSAT, 463 MOS9_SOURCEVCRIT, 464 MOS9_DRAINVCRIT, 465 MOS9_CD, 466 MOS9_CBS, 467 MOS9_CBD, 468 MOS9_GMBS, 469 MOS9_GM, 470 MOS9_GDS, 471 MOS9_GBD, 472 MOS9_GBS, 473 MOS9_CAPBD, 474 MOS9_CAPBS, 475 MOS9_CAPZEROBIASBD, 476 MOS9_CAPZEROBIASBDSW, 477 MOS9_CAPZEROBIASBS, 478 MOS9_CAPZEROBIASBSSW, 479 MOS9_VBD, 480 MOS9_VBS, 481 MOS9_VGS, 482 MOS9_VDS, 483 MOS9_CAPGS, 484 MOS9_QGS, 485 MOS9_CQGS, 486 MOS9_CAPGD, 487 MOS9_QGD, 488 MOS9_CQGD, 489 MOS9_CAPGB, 490 MOS9_QGB, 491 MOS9_CQGB, 492 MOS9_QBD, 493 MOS9_CQBD, 494 MOS9_QBS, 495 MOS9_CQBS, 496 MOS9_W_SENS_REAL, 497 MOS9_W_SENS_IMAG, 498 MOS9_W_SENS_MAG, 499 MOS9_W_SENS_PH, 500 MOS9_W_SENS_CPLX, 501 MOS9_L_SENS_REAL, 502 MOS9_L_SENS_IMAG, 503 MOS9_L_SENS_MAG, 504 MOS9_L_SENS_PH, 505 MOS9_L_SENS_CPLX, 506 MOS9_W_SENS_DC, 507 MOS9_L_SENS_DC, 508 MOS9_TEMP, 509 MOS9_SOURCERESIST, 510 MOS9_DRAINRESIST, 511 MOS9_M, 512 MOS9_DTEMP, 513 }; 514 515 /* model parameters */ 516 enum { 517 MOS9_MOD_VTO = 101, 518 MOS9_MOD_KP, 519 MOS9_MOD_GAMMA, 520 MOS9_MOD_PHI, 521 MOS9_MOD_RD, 522 MOS9_MOD_RS, 523 MOS9_MOD_CBD, 524 MOS9_MOD_CBS, 525 MOS9_MOD_IS, 526 MOS9_MOD_PB, 527 MOS9_MOD_CGSO, 528 MOS9_MOD_CGDO, 529 MOS9_MOD_CGBO, 530 MOS9_MOD_RSH, 531 MOS9_MOD_CJ, 532 MOS9_MOD_MJ, 533 MOS9_MOD_CJSW, 534 MOS9_MOD_MJSW, 535 MOS9_MOD_JS, 536 MOS9_MOD_TOX, 537 MOS9_MOD_LD, 538 MOS9_MOD_U0, 539 MOS9_MOD_FC, 540 MOS9_MOD_NSUB, 541 MOS9_MOD_TPG, 542 MOS9_MOD_NSS, 543 MOS9_MOD_ETA, 544 MOS9_MOD_DELTA, 545 MOS9_MOD_NFS, 546 MOS9_MOD_THETA, 547 MOS9_MOD_VMAX, 548 MOS9_MOD_KAPPA, 549 MOS9_MOD_NMOS, 550 MOS9_MOD_PMOS, 551 MOS9_MOD_XJ, 552 MOS9_MOD_UEXP, 553 MOS9_MOD_NEFF, 554 MOS9_MOD_XD, 555 MOS9_MOD_ALPHA, 556 MOS9_DELTA, 557 MOS9_MOD_TNOM, 558 MOS9_MOD_KF, 559 MOS9_MOD_AF, 560 MOS9_MOD_TYPE, 561 MOS9_MOD_XL, 562 MOS9_MOD_WD, 563 MOS9_MOD_XW, 564 MOS9_MOD_DELVTO, 565 }; 566 567 /* device questions */ 568 569 570 /* model questions */ 571 572 #include "mos9ext.h" 573 574 #endif /*MOS9*/ 575 576