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