1 /***********************************************************************
2 
3  HiSIM (Hiroshima University STARC IGFET Model)
4  Copyright (C) 2012 Hiroshima University & STARC
5 
6  MODEL NAME : HiSIM_HV
7  ( VERSION : 1  SUBVERSION : 2  REVISION : 4 )
8  Model Parameter VERSION : 1.23
9  FILE : hsmhvdef
10 
11  DATE : 2013.04.30
12 
13  released by
14                 Hiroshima University &
15                 Semiconductor Technology Academic Research Center (STARC)
16 ***********************************************************************/
17 
18 #ifndef HSMHV
19 #define HSMHV
20 
21 #include "ngspice/ifsim.h"
22 #include "ngspice/gendefs.h"
23 #include "ngspice/cktdefs.h"
24 #include "ngspice/complex.h"
25 #include "ngspice/noisedef.h"
26 
27 /* declarations for HiSIMHV MOSFETs */
28 
29 /* unit-converted model parameters */
30 typedef struct sHSMHVmodelMKSParam {
31   double HSMHV_npext ;
32   double HSMHV_vmax ;
33   double HSMHV_ll ;
34   double HSMHV_wl ;
35   double HSMHV_svgsl ;
36   double HSMHV_svgsw ;
37   double HSMHV_svbsl ;
38   double HSMHV_slgl ;
39   double HSMHV_sub1l ;
40   double HSMHV_slg ;
41   double HSMHV_sub2l ;
42   double HSMHV_subld2 ;
43   double HSMHV_rd22 ;
44   double HSMHV_rd23 ;
45   double HSMHV_rd24 ;
46   double HSMHV_rdtemp1 ;
47   double HSMHV_rdtemp2 ;
48   double HSMHV_rdvd ;
49   double HSMHV_rdvdtemp1 ;
50   double HSMHV_rdvdtemp2 ;
51 //double HSMHV_muecb0 ;
52 //double HSMHV_muecb1 ;
53 //double HSMHV_muesr1 ;
54 //double HSMHV_mueph1 ;
55   double HSMHV_nsubsub ;
56   double HSMHV_nsubpsti1 ;
57   double HSMHV_muesti1 ;
58   double HSMHV_wfc ;
59   double HSMHV_glksd1 ;
60   double HSMHV_glksd2 ;
61   double HSMHV_glksd3 ;
62   double HSMHV_gleak2 ;
63   double HSMHV_gleak4 ;
64   double HSMHV_gleak5 ;
65   double HSMHV_gleak7 ;
66   double HSMHV_glkb2 ;
67   double HSMHV_fn2 ;
68   double HSMHV_gidl1 ;
69   double HSMHV_gidl2 ;
70   double HSMHV_nfalp ;
71   double HSMHV_nftrp ;
72   double HSMHV_cit ;
73   double HSMHV_ovslp ;
74   double HSMHV_dly3 ;
75   double HSMHV_rth0 ;
76   double HSMHV_cth0 ;
77 } HSMHVmodelMKSParam ;
78 
79 
80 /* binning parameters */
81 typedef struct sHSMHVbinningParam {
82   double HSMHV_vmax ;
83   double HSMHV_bgtmp1 ;
84   double HSMHV_bgtmp2 ;
85   double HSMHV_eg0 ;
86   double HSMHV_vfbover ;
87   double HSMHV_nover ;
88   double HSMHV_novers ;
89   double HSMHV_wl2 ;
90   double HSMHV_vfbc ;
91   double HSMHV_nsubc ;
92   double HSMHV_nsubp ;
93   double HSMHV_scp1 ;
94   double HSMHV_scp2 ;
95   double HSMHV_scp3 ;
96   double HSMHV_sc1 ;
97   double HSMHV_sc2 ;
98   double HSMHV_sc3 ;
99   double HSMHV_pgd1 ;
100   double HSMHV_pgd3 ;
101   double HSMHV_ndep ;
102   double HSMHV_ninv ;
103   double HSMHV_muecb0 ;
104   double HSMHV_muecb1 ;
105   double HSMHV_mueph1 ;
106   double HSMHV_vtmp ;
107   double HSMHV_wvth0 ;
108   double HSMHV_muesr1 ;
109   double HSMHV_muetmp ;
110   double HSMHV_sub1 ;
111   double HSMHV_sub2 ;
112   double HSMHV_svds ;
113   double HSMHV_svbs ;
114   double HSMHV_svgs ;
115   double HSMHV_fn1 ;
116   double HSMHV_fn2 ;
117   double HSMHV_fn3 ;
118   double HSMHV_fvbs ;
119   double HSMHV_nsti ;
120   double HSMHV_wsti ;
121   double HSMHV_scsti1 ;
122   double HSMHV_scsti2 ;
123   double HSMHV_vthsti ;
124   double HSMHV_muesti1 ;
125   double HSMHV_muesti2 ;
126   double HSMHV_muesti3 ;
127   double HSMHV_nsubpsti1 ;
128   double HSMHV_nsubpsti2 ;
129   double HSMHV_nsubpsti3 ;
130   double HSMHV_cgso ;
131   double HSMHV_cgdo ;
132   double HSMHV_js0 ;
133   double HSMHV_js0sw ;
134   double HSMHV_nj ;
135   double HSMHV_cisbk ;
136   double HSMHV_clm1 ;
137   double HSMHV_clm2 ;
138   double HSMHV_clm3 ;
139   double HSMHV_wfc ;
140   double HSMHV_gidl1 ;
141   double HSMHV_gidl2 ;
142   double HSMHV_gleak1 ;
143   double HSMHV_gleak2 ;
144   double HSMHV_gleak3 ;
145   double HSMHV_gleak6 ;
146   double HSMHV_glksd1 ;
147   double HSMHV_glksd2 ;
148   double HSMHV_glkb1 ;
149   double HSMHV_glkb2 ;
150   double HSMHV_nftrp ;
151   double HSMHV_nfalp ;
152   double HSMHV_pthrou ;
153   double HSMHV_vdiffj ;
154   double HSMHV_ibpc1 ;
155   double HSMHV_ibpc2 ;
156   double HSMHV_cgbo ;
157   double HSMHV_cvdsover ;
158   double HSMHV_falph ;
159   double HSMHV_npext ;
160   double HSMHV_powrat ;
161   double HSMHV_rd ;
162   double HSMHV_rd22 ;
163   double HSMHV_rd23 ;
164   double HSMHV_rd24 ;
165   double HSMHV_rdict1 ;
166   double HSMHV_rdov13 ;
167   double HSMHV_rdslp1 ;
168   double HSMHV_rdvb ;
169   double HSMHV_rdvd ;
170   double HSMHV_rdvg11 ;
171   double HSMHV_rs ;
172   double HSMHV_rth0 ;
173   double HSMHV_vover ;
174   /*-----------SHE--------------*/
175   double HSMHV_rth ;
176   double HSMHV_cth ;
177   /*-----------------------------*/
178 
179 } HSMHVbinningParam ;
180 
181 
182 /* unit-converted parameters for each instance */
183 typedef struct sHSMHVhereMKSParam {
184   double HSMHV_vmax ;
185   double HSMHV_subld2 ;
186 //double HSMHV_muecb0 ;
187 //double HSMHV_muecb1 ;
188 //double HSMHV_muesr1 ;
189 //double HSMHV_mueph1 ;
190   double HSMHV_ndep ;
191   double HSMHV_ninv ;
192   double HSMHV_nsubc ;
193   double HSMHV_nsubcdfm ;
194   double HSMHV_nsubp ;
195   double HSMHV_nsubpsti1 ;
196   double HSMHV_muesti1 ;
197   double HSMHV_nsti ;
198   double HSMHV_npext ;
199   double HSMHV_nover ;
200   double HSMHV_novers ;
201   double HSMHV_wfc ;
202   double HSMHV_glksd1 ;
203   double HSMHV_glksd2 ;
204   double HSMHV_gleak2 ;
205   double HSMHV_glkb2 ;
206   double HSMHV_fn2 ;
207   double HSMHV_gidl1 ;
208   double HSMHV_gidl2 ;
209   double HSMHV_nfalp ;
210   double HSMHV_nftrp ;
211 } HSMHVhereMKSParam ;
212 
213 
214 /* information needed for each instance */
215 typedef struct sHSMHVinstance {
216 
217   struct GENinstance gen;
218 
219 #define HSMHVmodPtr(inst) ((struct sHSMHVmodel *)((inst)->gen.GENmodPtr))
220 #define HSMHVnextInstance(inst) ((struct sHSMHVinstance *)((inst)->gen.GENnextInstance))
221 #define HSMHVname gen.GENname
222 #define HSMHVstates gen.GENstate
223 
224   const int HSMHVdNode;      /* number of the drain node of the mosfet */
225   const int HSMHVgNode;      /* number of the gate node of the mosfet */
226   const int HSMHVsNode;      /* number of the source node of the mosfet */
227   const int HSMHVbNode;      /* number of the bulk node of the mosfet */
228   const int HSMHVsubNodeExt; /* number of the substrate node */
229   const int HSMHVtempNodeExt;/* number of the temp node----------SHE--------*/
230   int HSMHVsubNode;    /* number of the substrate node */
231   int HSMHVtempNode;   /* number of the temp node */
232   int HSMHVdNodePrime; /* number od the inner drain node */
233   int HSMHVgNodePrime; /* number of the inner gate node */
234   int HSMHVsNodePrime; /* number od the inner source node */
235   int HSMHVbNodePrime;
236   int HSMHVdbNode;
237   int HSMHVsbNode;
238   int HSMHVqiNode;     /* number of the qi node in case of NQS */
239   int HSMHVqbNode;     /* number of the qb node in case of NQS */
240 
241   double HSMHV_noiflick; /* for 1/f noise calc. */
242   double HSMHV_noithrml; /* for thrmal noise calc. */
243   double HSMHV_noiigate; /* for induced gate noise */
244   double HSMHV_noicross; /* for induced gate noise */
245 
246   /* instance */
247   int HSMHV_coselfheat; /* Self-heating model */
248   int HSMHV_cosubnode;  /* switch tempNode to subNode */
249   double HSMHV_l;    /* the length of the channel region */
250   double HSMHV_w;    /* the width of the channel region */
251   double HSMHV_ad;   /* the area of the drain diffusion */
252   double HSMHV_as;   /* the area of the source diffusion */
253   double HSMHV_pd;   /* perimeter of drain junction [m] */
254   double HSMHV_ps;   /* perimeter of source junction [m] */
255   double HSMHV_nrd;  /* equivalent num of squares of drain [-] (unused) */
256   double HSMHV_nrs;  /* equivalent num of squares of source [-] (unused) */
257   double HSMHV_dtemp;
258 
259   double HSMHV_weff;    /* the effective width of the channel region */
260   double HSMHV_weff_ld; /* the effective width of the drift region */
261   double HSMHV_weff_cv;  /* the effective width of the drift region for capacitance */
262   double HSMHV_weff_nf; /* Weff * NF */
263   double HSMHV_weffcv_nf;  /* Weffcv * NF */
264   double HSMHV_leff;    /* the effective length of the channel region */
265 
266   int HSMHV_corbnet  ;
267   double HSMHV_rbpb ;
268   double HSMHV_rbpd ;
269   double HSMHV_rbps ;
270   double HSMHV_rbdb ;
271   double HSMHV_rbsb ;
272 
273   int HSMHV_corg ;
274   double HSMHV_ngcon;
275   double HSMHV_xgw;
276   double HSMHV_xgl;
277   double HSMHV_nf;
278 
279   double HSMHV_sa;
280   double HSMHV_sb;
281   double HSMHV_sd;
282   double HSMHV_nsubcdfm;
283   double HSMHV_m;
284   double HSMHV_subld1;
285   double HSMHV_subld2;
286   double HSMHV_lover;
287   double HSMHV_lovers;
288   double HSMHV_loverld;
289   double HSMHV_ldrift1;
290   double HSMHV_ldrift2;
291   double HSMHV_ldrift1s;
292   double HSMHV_ldrift2s;
293 
294   int HSMHV_called; /* flag to check the first call */
295   /* previous values to evaluate initial guess */
296   double HSMHV_mode_prv;
297   double HSMHV_vbsc_prv;
298   double HSMHV_vdsc_prv;
299   double HSMHV_vgsc_prv;
300   double HSMHV_ps0_prv;
301   double HSMHV_ps0_dvbs_prv;
302   double HSMHV_ps0_dvds_prv;
303   double HSMHV_ps0_dvgs_prv;
304   double HSMHV_ps0_dtemp_prv;
305   double HSMHV_pds_prv;
306   double HSMHV_pds_dvbs_prv;
307   double HSMHV_pds_dvds_prv;
308   double HSMHV_pds_dvgs_prv;
309   double HSMHV_pds_dtemp_prv;
310   /* double HSMHV_ids_prv;		not used */
311   /* double HSMHV_ids_dvbs_prv;		not used */
312   /* double HSMHV_ids_dvds_prv;		not used */
313   /* double HSMHV_ids_dvgs_prv;		not used */
314   /* double HSMHV_ids_dtemp_prv;	not used */
315   double HSMHV_mode_prv2;
316   double HSMHV_vbsc_prv2;
317   double HSMHV_vdsc_prv2;
318   double HSMHV_vgsc_prv2;
319   double HSMHV_ps0_prv2;	/* assigned but not used */
320   double HSMHV_ps0_dvbs_prv2;
321   double HSMHV_ps0_dvds_prv2;
322   double HSMHV_ps0_dvgs_prv2;
323   double HSMHV_pds_prv2;	/* assigned but not used */
324   double HSMHV_pds_dvbs_prv2;
325   double HSMHV_pds_dvds_prv2;
326   double HSMHV_pds_dvgs_prv2;
327   double HSMHV_temp_prv;
328 /*   double HSMHV_time; /\* for debug print *\/ */
329 
330   /* output */
331   /* int    HSMHV_capop;	not used */
332   /* double HSMHV_gd;		not used */
333   /* double HSMHV_gs;		not used */
334   double HSMHV_cgso;		/* can be made local */
335   double HSMHV_cgdo;
336   double HSMHV_cgbo;
337   double HSMHV_cggo;
338   double HSMHV_cdso;		/* can be made local */
339   double HSMHV_cddo;
340   double HSMHV_cdgo;
341   double HSMHV_cdbo;
342   double HSMHV_csso;		/* can be made local */
343   double HSMHV_csdo;		/* can be made local */
344   double HSMHV_csgo;		/* can be made local */
345   double HSMHV_csbo;		/* can be made local */
346   double HSMHV_cbdo;
347   double HSMHV_cbgo;
348   double HSMHV_cbbo;
349   /* double HSMHV_cqyd;		not used */
350   /* double HSMHV_cqyg;		not used */
351   /* double HSMHV_cqyb;		not used */
352   double HSMHV_von; /* vth */
353   double HSMHV_vdsat;
354   /* double HSMHV_capgs;	not used */
355   /* double HSMHV_capgd;	not used */
356   /* double HSMHV_capgb;	not used */
357 
358   /* double HSMHV_rth0;		not used */
359   /* double HSMHV_cth0;		not used */
360   /* double HSMHV_cth;		not used */
361 
362 
363 #define XDIM 14
364   double HSMHV_ydc_d[XDIM],  HSMHV_ydc_dP[XDIM], HSMHV_ydc_g[XDIM],  HSMHV_ydc_gP[XDIM], HSMHV_ydc_s[XDIM], HSMHV_ydc_sP[XDIM],
365          HSMHV_ydc_bP[XDIM], HSMHV_ydc_b[XDIM],  HSMHV_ydc_db[XDIM], HSMHV_ydc_sb[XDIM], HSMHV_ydc_t[XDIM], HSMHV_ydc_qi[XDIM],
366          HSMHV_ydc_qb[XDIM];
367   double HSMHV_ydyn_d[XDIM],  HSMHV_ydyn_dP[XDIM], HSMHV_ydyn_g[XDIM],  HSMHV_ydyn_gP[XDIM], HSMHV_ydyn_s[XDIM], HSMHV_ydyn_sP[XDIM],
368          HSMHV_ydyn_bP[XDIM], HSMHV_ydyn_b[XDIM],  HSMHV_ydyn_db[XDIM], HSMHV_ydyn_sb[XDIM], HSMHV_ydyn_t[XDIM], HSMHV_ydyn_qi[XDIM],
369          HSMHV_ydyn_qb[XDIM];
370 
371   /* resistances */
372   double HSMHV_Rd ; /* different from HSMHV_rd */
373   double HSMHV_dRd_dVdse  ;
374   double HSMHV_dRd_dVgse  ;
375   double HSMHV_dRd_dVbse  ;
376   double HSMHV_dRd_dVsubs ;
377   double HSMHV_dRd_dTi    ;
378   double HSMHV_Rs ; /* different from HSMHV_rs */
379   double HSMHV_dRs_dVdse  ;
380   double HSMHV_dRs_dVgse  ;
381   double HSMHV_dRs_dVbse  ;
382   double HSMHV_dRs_dVsubs ;
383   double HSMHV_dRs_dTi    ;
384   /* drain current */
385   double HSMHV_ids;
386   double HSMHV_gds;		/* used for printout, but not loaded */
387   double HSMHV_gm;		/* used for printout, but not loaded */
388   double HSMHV_gmbs;		/* used for printout, but not loaded */
389   double HSMHV_dIds_dVdse ;
390   double HSMHV_dIds_dVgse ;
391   double HSMHV_dIds_dVbse ;
392   double HSMHV_dIds_dVdsi ;
393   double HSMHV_dIds_dVgsi ;
394   double HSMHV_dIds_dVbsi ;
395   double HSMHV_dIds_dTi   ;
396   /* substrate current */
397   double HSMHV_isub;
398   /* double HSMHV_gbgs;		not used */
399   /* double HSMHV_gbds;		not used */
400   /* double HSMHV_gbbs;		not used */
401   double HSMHV_dIsub_dVdsi ;
402   double HSMHV_dIsub_dVgsi ;
403   double HSMHV_dIsub_dVbsi ;
404   double HSMHV_dIsub_dTi   ;
405   double HSMHV_dIsub_dVdse ;
406   /* gidl and gisl current */
407   double HSMHV_igidl; /* gate induced drain leakage */
408   /* double HSMHV_gigidlgs;	not used */
409   /* double HSMHV_gigidlds;	not used */
410   /* double HSMHV_gigidlbs;	not used */
411   double HSMHV_dIgidl_dVdsi ;
412   double HSMHV_dIgidl_dVgsi ;
413   double HSMHV_dIgidl_dVbsi ;
414   double HSMHV_dIgidl_dTi   ;
415   double HSMHV_igisl; /* gate induced source leakage */
416   /* double HSMHV_gigislgd;	not used */
417   /* double HSMHV_gigislsd;	not used */
418   /* double HSMHV_gigislbd;	not used */
419   double HSMHV_dIgisl_dVdsi ;
420   double HSMHV_dIgisl_dVgsi ;
421   double HSMHV_dIgisl_dVbsi ;
422   double HSMHV_dIgisl_dTi   ;
423   /* gate leakage currents */
424   double HSMHV_igb; /* gate tunneling current (gate to bulk) */
425   /* double HSMHV_gigbg;	not used */
426   /* double HSMHV_gigbd;	not used */
427   /* double HSMHV_gigbb;	not used */
428   /* double HSMHV_gigbs;	not used */
429   double HSMHV_dIgb_dVdsi ;
430   double HSMHV_dIgb_dVgsi ;
431   double HSMHV_dIgb_dVbsi ;
432   double HSMHV_dIgb_dTi   ;
433   double HSMHV_igd; /* gate tunneling current (gate to drain) */
434   /* double HSMHV_gigdg;	not used */
435   /* double HSMHV_gigdd;	not used */
436   /* double HSMHV_gigdb;	not used */
437   /* double HSMHV_gigds;	not used */
438   double HSMHV_dIgd_dVdsi ;
439   double HSMHV_dIgd_dVgsi ;
440   double HSMHV_dIgd_dVbsi ;
441   double HSMHV_dIgd_dTi   ;
442   double HSMHV_igs; /* gate tunneling current (gate to source) */
443   /* double HSMHV_gigsg;	not used */
444   /* double HSMHV_gigsd;	not used */
445   /* double HSMHV_gigsb;	not used */
446   /* double HSMHV_gigss;	not used */
447   double HSMHV_dIgs_dVdsi ;
448   double HSMHV_dIgs_dVgsi ;
449   double HSMHV_dIgs_dVbsi ;
450   double HSMHV_dIgs_dTi   ;
451   /* charges */
452   double HSMHV_qd;
453   double HSMHV_cdgb;		/* used for printout, but not loaded */
454   /* double HSMHV_cddb;		not used */
455   /* double HSMHV_cdsb;         not used */
456   /* double HSMHVcdT;		not used */
457   double HSMHV_dQdi_dVdsi ;
458   double HSMHV_dQdi_dVgsi ;
459   double HSMHV_dQdi_dVbsi ;
460   double HSMHV_dQdi_dTi   ;
461   double HSMHV_qg;
462   double HSMHV_cggb;		/* used for printout, but not loaded */
463   double HSMHV_cgdb;		/* used for printout, but not loaded */
464   double HSMHV_cgsb;		/* used for printout, but not loaded */
465   /* double HSMHVcgT;		not used */
466   double HSMHV_dQg_dVdsi ;
467   double HSMHV_dQg_dVgsi ;
468   double HSMHV_dQg_dVbsi ;
469   double HSMHV_dQg_dTi   ;
470   double HSMHV_qs;
471   double HSMHV_dQsi_dVdsi ;
472   double HSMHV_dQsi_dVgsi ;
473   double HSMHV_dQsi_dVbsi ;
474   double HSMHV_dQsi_dTi   ;
475   double HSMHV_qb;  /* bulk charge qb = -(qg + qd + qs) */
476   double HSMHV_cbgb;		/* used for printout, but not loaded */
477   /* double HSMHV_cbdb;		not used */
478   /* double HSMHV_cbsb;		not used */
479   /* double HSMHVcbT;		not used */
480   double HSMHV_dQb_dVdsi ;     /* Qb: bulk charge inclusive overlaps, Qbulk: bulk charge without overlaps (see above) */
481   double HSMHV_dQb_dVgsi ;
482   double HSMHV_dQb_dVbsi ;
483   double HSMHV_dQb_dTi   ;
484   /* outer charges (fringing etc.) */
485   double HSMHV_qdp ;
486   double HSMHV_dqdp_dVdse ;
487   double HSMHV_dqdp_dVgse ;
488   double HSMHV_dqdp_dVbse ;
489   double HSMHV_dqdp_dTi   ;
490   double HSMHV_qsp ;
491   double HSMHV_dqsp_dVdse ;
492   double HSMHV_dqsp_dVgse ;
493   double HSMHV_dqsp_dVbse ;
494   double HSMHV_dqsp_dTi   ;
495   double HSMHV_qgext ;
496   double HSMHV_dQgext_dVdse ;
497   double HSMHV_dQgext_dVgse ;
498   double HSMHV_dQgext_dVbse ;
499   double HSMHV_dQgext_dTi   ;
500   double HSMHV_qdext ;
501   double HSMHV_dQdext_dVdse ;
502   double HSMHV_dQdext_dVgse ;
503   double HSMHV_dQdext_dVbse ;
504   double HSMHV_dQdext_dTi   ;
505   double HSMHV_qbext ;
506   double HSMHV_dQbext_dVdse ;
507   double HSMHV_dQbext_dVgse ;
508   double HSMHV_dQbext_dVbse ;
509   double HSMHV_dQbext_dTi   ;
510   double HSMHV_qsext ;
511   double HSMHV_dQsext_dVdse ;
512   double HSMHV_dQsext_dVgse ;
513   double HSMHV_dQsext_dVbse ;
514   double HSMHV_dQsext_dTi   ;
515   /* junctions */
516   double HSMHV_ibd;
517   double HSMHV_gbd;
518   double HSMHV_gbdT;
519   double HSMHV_ibs;
520   double HSMHV_gbs;
521   double HSMHV_gbsT;
522   double HSMHV_qbd;
523   double HSMHV_capbd;
524   double HSMHV_gcbdT;
525   double HSMHV_qbs;
526   double HSMHV_capbs;
527   double HSMHV_gcbsT;
528 
529   /* double HSMHV_gtempg;	not used */
530   /* double HSMHV_gtempt;	not used */
531   /* double HSMHV_gtempd;	not used */
532   /* double HSMHV_gtempb;	not used */
533 
534   /* double HSMHV_gmt;		not used */
535   /* double HSMHV_isubt;	not used */
536 
537 
538   /* NQS */
539   double HSMHV_tau ;
540   double HSMHV_tau_dVgsi ;
541   double HSMHV_tau_dVdsi ;
542   double HSMHV_tau_dVbsi ;
543   double HSMHV_tau_dTi   ;
544   double HSMHV_Xd  ;
545   double HSMHV_Xd_dVgsi  ;
546   double HSMHV_Xd_dVdsi  ;
547   double HSMHV_Xd_dVbsi  ;
548   double HSMHV_Xd_dTi    ;
549   double HSMHV_Qi  ;
550   double HSMHV_Qi_dVgsi  ;
551   double HSMHV_Qi_dVdsi  ;
552   double HSMHV_Qi_dVbsi  ;
553   double HSMHV_Qi_dTi    ;
554   double HSMHV_taub  ;
555   double HSMHV_taub_dVgsi  ;
556   double HSMHV_taub_dVdsi  ;
557   double HSMHV_taub_dVbsi  ;
558   double HSMHV_taub_dTi    ;
559   double HSMHV_Qbulk  ;                          /* Qbulk: without overlaps, Qb: inclusive overlaps (see below) */
560   double HSMHV_Qbulk_dVgsi  ;
561   double HSMHV_Qbulk_dVdsi  ;
562   double HSMHV_Qbulk_dVbsi  ;
563   double HSMHV_Qbulk_dTi    ;
564 
565 
566 
567 
568   /* internal variables */
569   double HSMHV_eg ;
570   double HSMHV_beta ;
571   double HSMHV_beta_inv ;
572   double HSMHV_beta2 ;
573   double HSMHV_betatnom ;
574   double HSMHV_nin ;
575   double HSMHV_egp12 ;
576   double HSMHV_egp32 ;
577   double HSMHV_lgate ;
578   double HSMHV_wg ;
579   double HSMHV_mueph ;
580   double HSMHV_mphn0 ;
581   double HSMHV_mphn1 ;
582   double HSMHV_muesr ;
583   double HSMHV_rdvd ;
584   double HSMHV_rsvd ; /* for the reverse mode */
585   double HSMHV_rd23 ;
586 
587   double HSMHV_ninvd ;
588   double HSMHV_ninvd0 ;
589 
590   double HSMHV_nsub ;
591   double HSMHV_qnsub ;
592   double HSMHV_qnsub_esi ;
593   double HSMHV_2qnsub_esi ;
594   double HSMHV_ptovr0 ;
595   double HSMHV_ptovr ;
596   double HSMHV_vmax0 ;
597   double HSMHV_vmax ;
598   double HSMHV_pb2 ;
599   double HSMHV_pb20 ;
600   double HSMHV_pb2c ;
601   double HSMHV_cnst0 ;
602   double HSMHV_cnst1 ;
603   double HSMHV_isbd ;
604   double HSMHV_isbd2 ;
605   double HSMHV_isbs ;
606   double HSMHV_isbs2 ;
607   double HSMHV_vbdt ;
608   double HSMHV_vbst ;
609   double HSMHV_exptemp ;
610   double HSMHV_wsti ;
611   double HSMHV_cnstpgd ;
612   /* double HSMHV_ninvp0 ;	not used */
613   /* double HSMHV_ninv0 ;	not used */
614   double HSMHV_grbpb ;
615   double HSMHV_grbpd ;
616   double HSMHV_grbps ;
617   double HSMHV_grg ;
618   double HSMHV_rs ;
619   double HSMHV_rs0 ;
620   double HSMHV_rd ;
621   double HSMHV_rd0 ;
622   double HSMHV_rdtemp0 ;
623   double HSMHV_clmmod ;
624   double HSMHV_lgatesm ;
625   double HSMHV_dVthsm ;
626   double HSMHV_ddlt ;
627   double HSMHV_xsub1 ;
628   double HSMHV_xsub2 ;
629   double HSMHV_xgate ;
630   double HSMHV_xvbs ;
631   double HSMHV_vg2const ;
632   double HSMHV_wdpl ;
633   double HSMHV_wdplp ;
634   double HSMHV_cfrng ;
635   double HSMHV_jd_nvtm_inv ;
636   double HSMHV_jd_expcd ;
637   double HSMHV_jd_expcs ;
638   double HSMHV_sqrt_eg ;
639 
640   double HSMHV_egtnom ;
641   double HSMHV_cecox ;
642   double HSMHV_msc ;
643   int HSMHV_flg_pgd ;
644   double HSMHV_ndep_o_esi ;
645   double HSMHV_ninv_o_esi ;
646   double HSMHV_cqyb0 ;
647   double HSMHV_cnst0over ;
648   double HSMHV_cnst0overs ;
649   double HSMHV_costi00 ;
650   double HSMHV_nsti_p2 ;
651   double HSMHV_costi0 ;
652   double HSMHV_costi0_p2 ;
653   double HSMHV_costi1 ;
654   double HSMHV_ps0ldinib ;
655   double HSMHV_ps0ldinibs ;
656   double HSMHV_rdvdtemp0 ;
657   double HSMHV_rthtemp0 ;
658   double HSMHV_powratio ;
659 
660   double HSMHV_mueph1 ;
661   double HSMHV_nsubp;
662   double HSMHV_nsubc;
663 
664 
665   HSMHVhereMKSParam hereMKS ; /* unit-converted parameters */
666 
667   HSMHVbinningParam pParam ; /* binning parameters */
668 
669   /* no use in SPICE3f5
670       double HSMHVdrainSquares;       the length of the drain in squares
671       double HSMHVsourceSquares;      the length of the source in squares */
672   double HSMHVsourceConductance; /* cond. of source (or 0): set in setup */
673   double HSMHVdrainConductance;  /* cond. of drain (or 0): set in setup */
674 
675   double HSMHV_icVBS; /* initial condition B-S voltage */
676   double HSMHV_icVDS; /* initial condition D-S voltage */
677   double HSMHV_icVGS; /* initial condition G-S voltage */
678   int HSMHV_off;      /* non-zero to indicate device is off for dc analysis */
679   int HSMHV_mode;     /* device mode : 1 = normal, -1 = inverse */
680 
681   unsigned HSMHV_coselfheat_Given :1;
682   unsigned HSMHV_cosubnode_Given :1;
683   unsigned HSMHV_l_Given :1;
684   unsigned HSMHV_w_Given :1;
685   unsigned HSMHV_ad_Given :1;
686   unsigned HSMHV_as_Given    :1;
687   unsigned HSMHV_pd_Given    :1;
688   unsigned HSMHV_ps_Given   :1;
689   unsigned HSMHV_nrd_Given  :1;
690   unsigned HSMHV_nrs_Given  :1;
691   unsigned HSMHV_dtemp_Given  :1;
692   unsigned HSMHV_icVBS_Given :1;
693   unsigned HSMHV_icVDS_Given :1;
694   unsigned HSMHV_icVGS_Given :1;
695   unsigned HSMHV_corbnet_Given  :1;
696   unsigned HSMHV_rbpb_Given :1;
697   unsigned HSMHV_rbpd_Given :1;
698   unsigned HSMHV_rbps_Given :1;
699   unsigned HSMHV_rbdb_Given :1;
700   unsigned HSMHV_rbsb_Given :1;
701   unsigned HSMHV_corg_Given  :1;
702   unsigned HSMHV_ngcon_Given  :1;
703   unsigned HSMHV_xgw_Given  :1;
704   unsigned HSMHV_xgl_Given  :1;
705   unsigned HSMHV_nf_Given  :1;
706   unsigned HSMHV_sa_Given  :1;
707   unsigned HSMHV_sb_Given  :1;
708   unsigned HSMHV_sd_Given  :1;
709   unsigned HSMHV_nsubcdfm_Given  :1;
710   unsigned HSMHV_m_Given  :1;
711   unsigned HSMHV_subld1_Given  :1;
712   unsigned HSMHV_subld2_Given  :1;
713   unsigned HSMHV_lover_Given  :1;
714   unsigned HSMHV_lovers_Given  :1;
715   unsigned HSMHV_loverld_Given  :1;
716   unsigned HSMHV_ldrift1_Given  :1;
717   unsigned HSMHV_ldrift2_Given  :1;
718   unsigned HSMHV_ldrift1s_Given :1;
719   unsigned HSMHV_ldrift2s_Given :1;
720 
721   /* unsigned HSMHV_rth0_Given :1;	not used */
722   /* unsigned HSMHV_cth0_Given :1;	not used */
723 
724 
725 
726   /* pointers to sparse matrix */
727 
728   double *HSMHVGgPtr;   /* pointer to sparse matrix element at (gate node,gate node) */
729   double *HSMHVGgpPtr;  /* pointer to sparse matrix element at (gate node,gate prime node) */
730   /* double *HSMHVGdpPtr;	not used */
731   /* double *HSMHVGspPtr;	not used */
732   /* double *HSMHVGbpPtr;	not used */
733 
734   double *HSMHVGPgPtr;  /* pointer to sparse matrix element at (gate prime node,gate node) */
735   double *HSMHVGPgpPtr; /* pointer to sparse matrix element at (gate prime node,gate prime node) */
736   double *HSMHVGPdpPtr; /* pointer to sparse matrix element at (gate prime node,drain prime node) */
737   double *HSMHVGPspPtr; /* pointer to sparse matrix element at (gate prime node,source prime node) */
738   double *HSMHVGPbpPtr; /* pointer to sparse matrix element at (gate prime node,bulk prime node) */
739 
740   double *HSMHVDPdPtr;  /* pointer to sparse matrix element at (drain prime node,drain node) */
741   double *HSMHVDPdpPtr; /* pointer to sparse matrix element at (drain prime node,drain prime node) */
742   double *HSMHVDPgpPtr; /* pointer to sparse matrix element at (drain prime node,gate prime node) */
743   double *HSMHVDPspPtr; /* pointer to sparse matrix element at (drain prime node,source prime node) */
744   double *HSMHVDPbpPtr; /* pointer to sparse matrix element at (drain prime node,bulk prime node) */
745 
746   double *HSMHVDdPtr;   /* pointer to sparse matrix element at (Drain node,drain node) */
747   double *HSMHVDdpPtr;  /* pointer to sparse matrix element at (drain node,drain prime node) */
748   double *HSMHVDspPtr;  /* pointer to sparse matrix element at (drain node,source prime node) */
749   double *HSMHVDdbPtr;  /* pointer to sparse matrix element at (drain node,drain body node) */
750 
751   double *HSMHVSPsPtr;  /* pointer to sparse matrix element at (source prime node,source node) */
752   double *HSMHVSPspPtr; /* pointer to sparse matrix element at (source prime node,source prime node) */
753   double *HSMHVSPgpPtr; /* pointer to sparse matrix element at (source prime node,gate prime node) */
754   double *HSMHVSPdpPtr; /* pointer to sparse matrix element at (source prime node,drain prime node) */
755   double *HSMHVSPbpPtr; /* pointer to sparse matrix element at (source prime node,bulk prime node) */
756 
757   double *HSMHVSsPtr;   /* pointer to sparse matrix element at (source node,source node) */
758   double *HSMHVSspPtr;  /* pointer to sparse matrix element at (source node,source prime node) */
759   double *HSMHVSdpPtr;  /* pointer to sparse matrix element at (source node,drain prime node) */
760   double *HSMHVSsbPtr;  /* pointer to sparse matrix element at (source node,source body node) */
761 
762   double *HSMHVBPgpPtr; /* pointer to sparse matrix element at (bulk prime node,gate prime node) */
763   double *HSMHVBPbpPtr; /* pointer to sparse matrix element at (bulk prime node,bulk prime node) */
764   double *HSMHVBPdPtr;  /* pointer to sparse matrix element at (bulk prime node,drain node) */
765   double *HSMHVBPdpPtr; /* pointer to sparse matrix element at (bulk prime node,drain prime node) */
766   double *HSMHVBPspPtr; /* pointer to sparse matrix element at (bulk prime node,source prime node) */
767   double *HSMHVBPsPtr;  /* pointer to sparse matrix element at (bulk prime node,source node) */
768   double *HSMHVBPbPtr;  /* pointer to sparse matrix element at (bulk prime node,bulk node) */
769   double *HSMHVBPdbPtr; /* pointer to sparse matrix element at (bulk prime node,source body node) */
770   double *HSMHVBPsbPtr; /* pointer to sparse matrix element at (bulk prime node,source body node) */
771 
772   double *HSMHVDBdPtr;  /* pointer to sparse matrix element at (drain body node,drain node) */
773   double *HSMHVDBdbPtr; /* pointer to sparse matrix element at (drain body node,drain body node) */
774   double *HSMHVDBbpPtr; /* pointer to sparse matrix element at (drain body node,bulk prime node) */
775   /* double *HSMHVDBbPtr;	not used */
776 
777   double *HSMHVSBsPtr;  /* pointer to sparse matrix element at (source body node,source node) */
778   double *HSMHVSBbpPtr; /* pointer to sparse matrix element at (source body node,bulk prime node) */
779   /* double *HSMHVSBbPtr;	not used */
780   double *HSMHVSBsbPtr; /* pointer to sparse matrix element at (source body node,source body node) */
781 
782   /* double *HSMHVBsbPtr;	not used */
783   double *HSMHVBbpPtr;  /* pointer to sparse matrix element at (bulk node,bulk prime node) */
784   /* double *HSMHVBdbPtr;	not used */
785   double *HSMHVBbPtr;   /* pointer to sparse matrix element at (bulk node,bulk node) */
786 
787   double *HSMHVTemptempPtr; /* pointer to sparse matrix element at (temp node, temp node) */
788   double *HSMHVTempdPtr;    /* pointer to sparse matrix element at (temp node, drain node) */
789   double *HSMHVTempdpPtr;   /* pointer to sparse matrix element at (temp node, drain prime node) */
790   double *HSMHVTempsPtr;    /* pointer to sparse matrix element at (temp node, source node) */
791   double *HSMHVTempspPtr;   /* pointer to sparse matrix element at (temp node, source prime node) */
792   /* double *HSMHVTempgPtr;	not used */
793   double *HSMHVTempgpPtr;   /* pointer to sparse matrix element at (temp node, gate prime node) */
794   /* double *HSMHVTempbPtr;	not used */
795   double *HSMHVTempbpPtr;   /* pointer to sparse matrix element at (temp node, bulk prime node) */
796   /* double *HSMHVGtempPtr;	not used */
797   double *HSMHVGPtempPtr;   /* pointer to sparse matrix element at (gate prime node, temp node) */
798   double *HSMHVDPtempPtr;   /* pointer to sparse matrix element at (drain prime node, temp node) */
799   double *HSMHVSPtempPtr;   /* pointer to sparse matrix element at (source prime node, temp node) */
800   /* double *HSMHVBtempPtr;	not used */
801   double *HSMHVBPtempPtr;   /* pointer to sparse matrix element at (bulk prime node, temp node) */
802   double *HSMHVDBtempPtr;   /* pointer to sparse matrix element at (drain bulk node, temp node) */
803   double *HSMHVSBtempPtr;   /* pointer to sparse matrix element at (source bulk node, temp node) */
804 
805   double *HSMHVDgpPtr;      /* pointer to sparse matrix element at (drain node, gate prime node) */
806   double *HSMHVDsPtr;       /* pointer to sparse matrix element at (drain node, source node) */
807   double *HSMHVDbpPtr;      /* pointer to sparse matrix element at (drain node, bulk prime node) */
808   double *HSMHVDtempPtr;    /* pointer to sparse matrix element at (drain node, temp node) */
809   double *HSMHVDPsPtr;      /* pointer to sparse matrix element at (drain prime node, source node) */
810   double *HSMHVGPdPtr;      /* pointer to sparse matrix element at (gate prime node, drain node) */
811   double *HSMHVGPsPtr;      /* pointer to sparse matrix element at (gate prime node, source node) */
812   double *HSMHVSdPtr;       /* pointer to sparse matrix element at (source node, drain node) */
813   double *HSMHVSgpPtr;      /* pointer to sparse matrix element at (source node, gate prime node) */
814   double *HSMHVSbpPtr;      /* pointer to sparse matrix element at (source node, bulk prime node) */
815   double *HSMHVStempPtr;    /* pointer to sparse matrix element at (source node, temp node) */
816   double *HSMHVSPdPtr;      /* pointer to sparse matrix element at (source prime node, drain node) */
817 
818   /* nqs related pointers */
819   double *HSMHVDPqiPtr;     /* pointer to sparse matrix element at (drain prime node, qi_nqs node) */
820   double *HSMHVGPqiPtr;     /* pointer to sparse matrix element at (gate prime node, qi_nqs node) */
821   double *HSMHVGPqbPtr;     /* pointer to sparse matrix element at (gate prime node, qb_nqs node) */
822   double *HSMHVSPqiPtr;     /* pointer to sparse matrix element at (source prime node, qi_nqs node) */
823   double *HSMHVBPqbPtr;     /* pointer to sparse matrix element at (bulk prime node, qb_nqs node) */
824   double *HSMHVQIdpPtr;     /* pointer to sparse matrix element at (qi_nqs node, drain prime node) */
825   double *HSMHVQIgpPtr;     /* pointer to sparse matrix element at (qi_nqs node, gate prime node) */
826   double *HSMHVQIspPtr;     /* pointer to sparse matrix element at (qi_nqs node, source prime node) */
827   double *HSMHVQIbpPtr;     /* pointer to sparse matrix element at (qi_nqs node, bulk prime node) */
828   double *HSMHVQIqiPtr;     /* pointer to sparse matrix element at (qi_nqs node, qi_nqs node) */
829   double *HSMHVQBdpPtr;     /* pointer to sparse matrix element at (qb_nqs node, drain prime node) */
830   double *HSMHVQBgpPtr;     /* pointer to sparse matrix element at (qb_nqs node, gate prime node) */
831   double *HSMHVQBspPtr;     /* pointer to sparse matrix element at (qb_nqs node, source prime node) */
832   double *HSMHVQBbpPtr;     /* pointer to sparse matrix element at (qb_nqs node, bulk prime node) */
833   double *HSMHVQBqbPtr;     /* pointer to sparse matrix element at (qb_nqs node, qb_nqs node) */
834   double *HSMHVQItempPtr;   /* pointer to sparse matrix element at (qi_nqs node, temp node) */
835   double *HSMHVQBtempPtr;   /* pointer to sparse matrix element at (qb_nqs node, temp node) */
836 
837   /* Substrate effect related pointers */
838   double *HSMHVDsubPtr;     /* pointer to sparse matrix element at (drain node, substrate node) */
839   double *HSMHVDPsubPtr;    /* pointer to sparse matrix element at (drain prime node, substrate node) */
840   double *HSMHVSsubPtr;     /* pointer to sparse matrix element at (source node, substrate node) */
841   double *HSMHVSPsubPtr;    /* pointer to sparse matrix element at (source prime node, substrate node) */
842 
843 
844   /* common state values in hisim module */
845 #define HSMHVvbd HSMHVstates+ 0
846 #define HSMHVvbs HSMHVstates+ 1
847 #define HSMHVvgs HSMHVstates+ 2
848 #define HSMHVvds HSMHVstates+ 3
849 #define HSMHVvdbs HSMHVstates+ 4
850 #define HSMHVvdbd HSMHVstates+ 5
851 #define HSMHVvsbs HSMHVstates+ 6
852 #define HSMHVvges HSMHVstates+ 7
853 #define HSMHVvsubs HSMHVstates+ 8 /* substrate bias */
854 #define HSMHVdeltemp HSMHVstates+ 9
855 #define HSMHVvdse HSMHVstates+ 10
856 #define HSMHVvgse HSMHVstates+ 11
857 #define HSMHVvbse HSMHVstates+ 12
858 
859 #define HSMHVqb  HSMHVstates+ 13
860 #define HSMHVcqb HSMHVstates+ 14
861 #define HSMHVqg  HSMHVstates+ 15
862 #define HSMHVcqg HSMHVstates+ 16
863 #define HSMHVqd  HSMHVstates+ 17
864 #define HSMHVcqd HSMHVstates+ 18
865 
866 #define HSMHVqbs HSMHVstates+ 19
867 #define HSMHVcqbs HSMHVstates+ 20
868 #define HSMHVqbd HSMHVstates+ 21
869 #define HSMHVcqbd HSMHVstates+ 22
870 
871 #define HSMHVqth HSMHVstates+ 23
872 #define HSMHVcqth HSMHVstates+ 24
873 
874 /*add fringing capacitance*/
875 #define HSMHVqfd HSMHVstates+ 25
876 #define HSMHVcqfd HSMHVstates+ 26
877 #define HSMHVqfs HSMHVstates+ 27
878 #define HSMHVcqfs HSMHVstates+ 28
879 
880 /*add external drain capacitance*/
881 #define HSMHVqdE HSMHVstates+ 29
882 #define HSMHVcqdE HSMHVstates+ 30
883 
884 #define HSMHVnumStates 31
885 
886 /* nqs charges */
887 #define HSMHVqi_nqs HSMHVstates+ 32
888 #define HSMHVdotqi_nqs HSMHVstates + 33
889 #define HSMHVqb_nqs HSMHVstates+ 34
890 #define HSMHVdotqb_nqs HSMHVstates + 35
891 
892 #define HSMHVnumStatesNqs 36
893 
894 /* indices to the array of HiSIMHV NOISE SOURCES */
895 #define HSMHVRDNOIZ       0
896 #define HSMHVRSNOIZ       1
897 #define HSMHVIDNOIZ       2
898 #define HSMHVFLNOIZ       3
899 #define HSMHVIGNOIZ       4
900 #define HSMHVTOTNOIZ      5
901 
902 #define HSMHVNSRCS        6  /* the number of HiSIMHV MOSFET noise sources */
903 
904 #ifndef NONOISE
905   double HSMHVnVar[NSTATVARS][HSMHVNSRCS];
906 #else /* NONOISE */
907   double **HSMHVnVar;
908 #endif /* NONOISE */
909 
910 } HSMHVinstance ;
911 
912 
913 /* per model data */
914 
915 typedef struct sHSMHVmodel {     /* model structure for a resistor */
916 
917   struct GENmodel gen;
918 
919 #define HSMHVmodType gen.GENmodType
920 #define HSMHVnextModel(inst) ((struct sHSMHVmodel *)((inst)->gen.GENnextModel))
921 #define HSMHVinstances(inst) ((HSMHVinstance *)((inst)->gen.GENinstances))
922 #define HSMHVmodName gen.GENmodName
923 
924   int HSMHV_type;      		/* device type: 1 = nmos,  -1 = pmos */
925   int HSMHV_level;               /* level */
926   int HSMHV_info;                /* information */
927   int HSMHV_noise;               /* noise model selecter see hsmhvnoi.c */
928   char *HSMHV_version;           /* model version */
929   int HSMHV_show;                /* show physical value 1, 2, ... , 11 */
930 
931 
932   int HSMHV_corsrd ;
933   int HSMHV_corg   ;
934   int HSMHV_coiprv ;
935   int HSMHV_copprv ;
936   int HSMHV_coadov ;
937   int HSMHV_coisub ;
938   int HSMHV_coiigs ;
939   int HSMHV_cogidl ;
940   int HSMHV_coovlp ;
941   int HSMHV_coovlps ;
942   int HSMHV_coflick ;
943   int HSMHV_coisti ;
944   int HSMHV_conqs  ;
945   int HSMHV_corbnet ;
946   int HSMHV_cothrml;
947   int HSMHV_coign;      /* Induced gate noise */
948   int HSMHV_codfm;      /* DFM */
949   int HSMHV_coqovsm ;
950   int HSMHV_coselfheat; /* Self-heating model */
951   int HSMHV_cosubnode;  /* switch tempNode to subNode */
952   int HSMHV_cosym;      /* Symmetry model for HV */
953   int HSMHV_cotemp;
954   int HSMHV_coldrift;
955 
956 
957   double HSMHV_vmax ;
958   double HSMHV_vmaxt1 ;
959   double HSMHV_vmaxt2 ;
960   double HSMHV_bgtmp1 ;
961   double HSMHV_bgtmp2 ;
962   double HSMHV_eg0 ;
963   double HSMHV_tox ;
964   double HSMHV_xld ;
965   double HSMHV_xldld ;
966   double HSMHV_xwdld ;
967   double HSMHV_lover ;
968   double HSMHV_lovers ;
969   double HSMHV_rdov11 ;
970   double HSMHV_rdov12 ;
971   double HSMHV_rdov13 ;
972   double HSMHV_rdslp1 ;
973   double HSMHV_rdict1 ;
974   double HSMHV_rdslp2 ;
975   double HSMHV_rdict2 ;
976   double HSMHV_loverld ;
977   double HSMHV_ldrift1 ;
978   double HSMHV_ldrift2 ;
979   double HSMHV_ldrift1s ;
980   double HSMHV_ldrift2s ;
981   double HSMHV_subld1 ;
982   double HSMHV_subld2 ;
983   double HSMHV_ddltmax ;
984   double HSMHV_ddltslp ;
985   double HSMHV_ddltict ;
986   double HSMHV_vfbover ;
987   double HSMHV_nover ;
988   double HSMHV_novers ;
989   double HSMHV_xwd ;
990   double HSMHV_xwdc ;
991   double HSMHV_xl ;
992   double HSMHV_xw ;
993   double HSMHV_saref ;
994   double HSMHV_sbref ;
995   double HSMHV_ll ;
996   double HSMHV_lld ;
997   double HSMHV_lln ;
998   double HSMHV_wl ;
999   double HSMHV_wl1 ;
1000   double HSMHV_wl1p ;
1001   double HSMHV_wl2 ;
1002   double HSMHV_wl2p ;
1003   double HSMHV_wld ;
1004   double HSMHV_wln ;
1005   double HSMHV_xqy ;
1006   double HSMHV_xqy1 ;
1007   double HSMHV_xqy2 ;
1008   double HSMHV_rs;     /* source contact resistance */
1009   double HSMHV_rd;     /* drain contact resistance */
1010   double HSMHV_rsh;    /* source/drain diffusion sheet resistance */
1011   double HSMHV_rshg;
1012 /*   double HSMHV_ngcon; */
1013 /*   double HSMHV_xgw; */
1014 /*   double HSMHV_xgl; */
1015 /*   double HSMHV_nf; */
1016   double HSMHV_vfbc ;
1017   double HSMHV_vbi ;
1018   double HSMHV_nsubc ;
1019   double HSMHV_qdftvd ;
1020   double HSMHV_parl2 ;
1021   double HSMHV_lp ;
1022   double HSMHV_nsubp ;
1023   double HSMHV_nsubp0 ;
1024   double HSMHV_nsubwp ;
1025   double HSMHV_scp1 ;
1026   double HSMHV_scp2 ;
1027   double HSMHV_scp3 ;
1028   double HSMHV_sc1 ;
1029   double HSMHV_sc2 ;
1030   double HSMHV_sc3 ;
1031   double HSMHV_sc4 ;
1032   double HSMHV_pgd1 ;
1033   double HSMHV_pgd2 ;
1034   double HSMHV_pgd3 ;
1035   double HSMHV_pgd4 ;
1036   double HSMHV_ndep ;
1037   double HSMHV_ndepl ;
1038   double HSMHV_ndeplp ;
1039   double HSMHV_ninv ;
1040   double HSMHV_ninvd ;
1041   double HSMHV_ninvdw ;
1042   double HSMHV_ninvdwp ;
1043   double HSMHV_ninvdt1 ;
1044   double HSMHV_ninvdt2 ;
1045   double HSMHV_muecb0 ;
1046   double HSMHV_muecb1 ;
1047   double HSMHV_mueph1 ;
1048   double HSMHV_mueph0 ;
1049   double HSMHV_muephw ;
1050   double HSMHV_muepwp ;
1051   double HSMHV_muephl ;
1052   double HSMHV_mueplp ;
1053   double HSMHV_muephs ;
1054   double HSMHV_muepsp ;
1055   double HSMHV_vtmp ;
1056   double HSMHV_wvth0 ;
1057   double HSMHV_muesr1 ;
1058   double HSMHV_muesr0 ;
1059   double HSMHV_muesrw ;
1060   double HSMHV_mueswp ;
1061   double HSMHV_muesrl ;
1062   double HSMHV_mueslp ;
1063   double HSMHV_bb ;
1064   double HSMHV_sub1 ;
1065   double HSMHV_sub2 ;
1066   double HSMHV_svgs ;
1067   double HSMHV_svbs ;
1068   double HSMHV_svbsl ;
1069   double HSMHV_svds ;
1070   double HSMHV_slg ;
1071   double HSMHV_sub1l ;
1072   double HSMHV_sub2l ;
1073   double HSMHV_fn1 ;
1074   double HSMHV_fn2 ;
1075   double HSMHV_fn3 ;
1076   double HSMHV_fvbs ;
1077   double HSMHV_svgsl ;
1078   double HSMHV_svgslp ;
1079   double HSMHV_svgswp ;
1080   double HSMHV_svgsw ;
1081   double HSMHV_svbslp ;
1082   double HSMHV_slgl ;
1083   double HSMHV_slglp ;
1084   double HSMHV_sub1lp ;
1085   double HSMHV_nsti ;
1086   double HSMHV_wsti ;
1087   double HSMHV_wstil ;
1088   double HSMHV_wstilp ;
1089   double HSMHV_wstiw ;
1090   double HSMHV_wstiwp ;
1091   double HSMHV_scsti1 ;
1092   double HSMHV_scsti2 ;
1093   double HSMHV_vthsti ;
1094   double HSMHV_vdsti ;
1095   double HSMHV_muesti1 ;
1096   double HSMHV_muesti2 ;
1097   double HSMHV_muesti3 ;
1098   double HSMHV_nsubpsti1 ;
1099   double HSMHV_nsubpsti2 ;
1100   double HSMHV_nsubpsti3 ;
1101   double HSMHV_lpext ;
1102   double HSMHV_npext ;
1103   double HSMHV_scp22 ;
1104   double HSMHV_scp21 ;
1105   double HSMHV_bs1 ;
1106   double HSMHV_bs2 ;
1107   double HSMHV_cgso ;
1108   double HSMHV_cgdo ;
1109   double HSMHV_cgbo ;
1110   double HSMHV_tpoly ;
1111   double HSMHV_js0 ;
1112   double HSMHV_js0sw ;
1113   double HSMHV_nj ;
1114   double HSMHV_njsw ;
1115   double HSMHV_xti ;
1116   double HSMHV_cj ;
1117   double HSMHV_cjsw ;
1118   double HSMHV_cjswg ;
1119   double HSMHV_mj ;
1120   double HSMHV_mjsw ;
1121   double HSMHV_mjswg ;
1122   double HSMHV_xti2 ;
1123   double HSMHV_cisb ;
1124   double HSMHV_cvb ;
1125   double HSMHV_ctemp ;
1126   double HSMHV_cisbk ;
1127   double HSMHV_cvbk ;
1128   double HSMHV_divx ;
1129   double HSMHV_pb ;
1130   double HSMHV_pbsw ;
1131   double HSMHV_pbswg ;
1132   double HSMHV_clm1 ;
1133   double HSMHV_clm2 ;
1134   double HSMHV_clm3 ;
1135   double HSMHV_clm5 ;
1136   double HSMHV_clm6 ;
1137   double HSMHV_muetmp ;
1138   double HSMHV_vover ;
1139   double HSMHV_voverp ;
1140   double HSMHV_vovers ;
1141   double HSMHV_voversp ;
1142   double HSMHV_wfc ;
1143   double HSMHV_nsubcw ;
1144   double HSMHV_nsubcwp ;
1145   double HSMHV_qme1 ;
1146   double HSMHV_qme2 ;
1147   double HSMHV_qme3 ;
1148   double HSMHV_gidl1 ;
1149   double HSMHV_gidl2 ;
1150   double HSMHV_gidl3 ;
1151   double HSMHV_gidl4 ;
1152   double HSMHV_gidl5 ;
1153   double HSMHV_gleak1 ;
1154   double HSMHV_gleak2 ;
1155   double HSMHV_gleak3 ;
1156   double HSMHV_gleak4 ;
1157   double HSMHV_gleak5 ;
1158   double HSMHV_gleak6 ;
1159   double HSMHV_gleak7 ;
1160   double HSMHV_glpart1 ;
1161   double HSMHV_glksd1 ;
1162   double HSMHV_glksd2 ;
1163   double HSMHV_glksd3 ;
1164   double HSMHV_glkb1 ;
1165   double HSMHV_glkb2 ;
1166   double HSMHV_glkb3 ;
1167   double HSMHV_egig;
1168   double HSMHV_igtemp2;
1169   double HSMHV_igtemp3;
1170   double HSMHV_vzadd0 ;
1171   double HSMHV_pzadd0 ;
1172   double HSMHV_nftrp ;
1173   double HSMHV_nfalp ;
1174   double HSMHV_cit ;
1175   double HSMHV_falph ;
1176   double HSMHV_kappa ;
1177   double HSMHV_pthrou ;
1178   double HSMHV_vdiffj ;
1179   double HSMHV_dly1 ;
1180   double HSMHV_dly2 ;
1181   double HSMHV_dly3 ;
1182   double HSMHV_dlyov;
1183   double HSMHV_tnom ;
1184   double HSMHV_ovslp ;
1185   double HSMHV_ovmag ;
1186   /* substrate resistances */
1187   double HSMHV_gbmin;
1188   double HSMHV_rbpb ;
1189   double HSMHV_rbpd ;
1190   double HSMHV_rbps ;
1191   double HSMHV_rbdb ;
1192   double HSMHV_rbsb ;
1193   /* IBPC */
1194   double HSMHV_ibpc1 ;
1195   double HSMHV_ibpc2 ;
1196   /* DFM */
1197   double HSMHV_mphdfm ;
1198 
1199   double HSMHV_vbsmin ;
1200   double HSMHV_rdvg11 ;
1201   double HSMHV_rdvg12 ;
1202   double HSMHV_rd20 ;
1203   double HSMHV_qovsm ;
1204   double HSMHV_ldrift ;
1205   double HSMHV_rd21 ;
1206   double HSMHV_rd22 ;
1207   double HSMHV_rd22d ;
1208   double HSMHV_rd23 ;
1209   double HSMHV_rd24 ;
1210   double HSMHV_rd25 ;
1211   double HSMHV_rd26 ;
1212   double HSMHV_rdvdl ;
1213   double HSMHV_rdvdlp ;
1214   double HSMHV_rdvds ;
1215   double HSMHV_rdvdsp ;
1216   double HSMHV_rd23l ;
1217   double HSMHV_rd23lp ;
1218   double HSMHV_rd23s ;
1219   double HSMHV_rd23sp ;
1220   double HSMHV_rds ;
1221   double HSMHV_rdsp ;
1222 
1223   double HSMHV_rdvd ;
1224   double HSMHV_rdvb ;
1225 
1226   double HSMHV_rdvsub ; /* substrate effect */
1227   double HSMHV_rdvdsub ; /* substrate effect */
1228   double HSMHV_ddrift ;  /* substrate effect */
1229   double HSMHV_vbisub ;  /* substrate effect */
1230   double HSMHV_nsubsub ; /* substrate effect */
1231 
1232   double HSMHV_rth0 ;
1233   double HSMHV_cth0 ;
1234   double HSMHV_powrat ;
1235 
1236   double HSMHV_tcjbd ;
1237   double HSMHV_tcjbs ;
1238   double HSMHV_tcjbdsw ;
1239   double HSMHV_tcjbssw ;
1240   double HSMHV_tcjbdswg ;
1241   double HSMHV_tcjbsswg ;
1242 
1243 
1244   double HSMHV_rdtemp1 ;
1245   double HSMHV_rdtemp2 ;
1246   double HSMHV_rth0r ; /* heat radiation for SHE */
1247   double HSMHV_rdvdtemp1 ;
1248   double HSMHV_rdvdtemp2 ;
1249   double HSMHV_rth0w ;
1250   double HSMHV_rth0wp ;
1251   double HSMHV_rth0nf ;
1252 
1253   double HSMHV_rthtemp1 ;
1254   double HSMHV_rthtemp2 ;
1255   double HSMHV_prattemp1 ;
1256   double HSMHV_prattemp2 ;
1257 
1258 
1259   double HSMHV_cvdsover ;
1260   double HSMHV_shemax;
1261 
1262   /* binning parameters */
1263   double HSMHV_lmin ;
1264   double HSMHV_lmax ;
1265   double HSMHV_wmin ;
1266   double HSMHV_wmax ;
1267   double HSMHV_lbinn ;
1268   double HSMHV_wbinn ;
1269 
1270   /* Length dependence */
1271   double HSMHV_lvmax ;
1272   double HSMHV_lbgtmp1 ;
1273   double HSMHV_lbgtmp2 ;
1274   double HSMHV_leg0 ;
1275   double HSMHV_lvfbover ;
1276   double HSMHV_lnover ;
1277   double HSMHV_lnovers ;
1278   double HSMHV_lwl2 ;
1279   double HSMHV_lvfbc ;
1280   double HSMHV_lnsubc ;
1281   double HSMHV_lnsubp ;
1282   double HSMHV_lscp1 ;
1283   double HSMHV_lscp2 ;
1284   double HSMHV_lscp3 ;
1285   double HSMHV_lsc1 ;
1286   double HSMHV_lsc2 ;
1287   double HSMHV_lsc3 ;
1288   double HSMHV_lpgd1 ;
1289   double HSMHV_lpgd3 ;
1290   double HSMHV_lndep ;
1291   double HSMHV_lninv ;
1292   double HSMHV_lmuecb0 ;
1293   double HSMHV_lmuecb1 ;
1294   double HSMHV_lmueph1 ;
1295   double HSMHV_lvtmp ;
1296   double HSMHV_lwvth0 ;
1297   double HSMHV_lmuesr1 ;
1298   double HSMHV_lmuetmp ;
1299   double HSMHV_lsub1 ;
1300   double HSMHV_lsub2 ;
1301   double HSMHV_lsvds ;
1302   double HSMHV_lsvbs ;
1303   double HSMHV_lsvgs ;
1304   double HSMHV_lfn1 ;
1305   double HSMHV_lfn2 ;
1306   double HSMHV_lfn3 ;
1307   double HSMHV_lfvbs ;
1308   double HSMHV_lnsti ;
1309   double HSMHV_lwsti ;
1310   double HSMHV_lscsti1 ;
1311   double HSMHV_lscsti2 ;
1312   double HSMHV_lvthsti ;
1313   double HSMHV_lmuesti1 ;
1314   double HSMHV_lmuesti2 ;
1315   double HSMHV_lmuesti3 ;
1316   double HSMHV_lnsubpsti1 ;
1317   double HSMHV_lnsubpsti2 ;
1318   double HSMHV_lnsubpsti3 ;
1319   double HSMHV_lcgso ;
1320   double HSMHV_lcgdo ;
1321   double HSMHV_ljs0 ;
1322   double HSMHV_ljs0sw ;
1323   double HSMHV_lnj ;
1324   double HSMHV_lcisbk ;
1325   double HSMHV_lclm1 ;
1326   double HSMHV_lclm2 ;
1327   double HSMHV_lclm3 ;
1328   double HSMHV_lwfc ;
1329   double HSMHV_lgidl1 ;
1330   double HSMHV_lgidl2 ;
1331   double HSMHV_lgleak1 ;
1332   double HSMHV_lgleak2 ;
1333   double HSMHV_lgleak3 ;
1334   double HSMHV_lgleak6 ;
1335   double HSMHV_lglksd1 ;
1336   double HSMHV_lglksd2 ;
1337   double HSMHV_lglkb1 ;
1338   double HSMHV_lglkb2 ;
1339   double HSMHV_lnftrp ;
1340   double HSMHV_lnfalp ;
1341   double HSMHV_lpthrou ;
1342   double HSMHV_lvdiffj ;
1343   double HSMHV_libpc1 ;
1344   double HSMHV_libpc2 ;
1345   double HSMHV_lcgbo ;
1346   double HSMHV_lcvdsover ;
1347   double HSMHV_lfalph ;
1348   double HSMHV_lnpext ;
1349   double HSMHV_lpowrat ;
1350   double HSMHV_lrd ;
1351   double HSMHV_lrd22 ;
1352   double HSMHV_lrd23 ;
1353   double HSMHV_lrd24 ;
1354   double HSMHV_lrdict1 ;
1355   double HSMHV_lrdov13 ;
1356   double HSMHV_lrdslp1 ;
1357   double HSMHV_lrdvb ;
1358   double HSMHV_lrdvd ;
1359   double HSMHV_lrdvg11 ;
1360   double HSMHV_lrs ;
1361   double HSMHV_lrth0 ;
1362   double HSMHV_lvover ;
1363 
1364   /* Width dependence */
1365   double HSMHV_wvmax ;
1366   double HSMHV_wbgtmp1 ;
1367   double HSMHV_wbgtmp2 ;
1368   double HSMHV_weg0 ;
1369   double HSMHV_wvfbover ;
1370   double HSMHV_wnover ;
1371   double HSMHV_wnovers ;
1372   double HSMHV_wwl2 ;
1373   double HSMHV_wvfbc ;
1374   double HSMHV_wnsubc ;
1375   double HSMHV_wnsubp ;
1376   double HSMHV_wscp1 ;
1377   double HSMHV_wscp2 ;
1378   double HSMHV_wscp3 ;
1379   double HSMHV_wsc1 ;
1380   double HSMHV_wsc2 ;
1381   double HSMHV_wsc3 ;
1382   double HSMHV_wpgd1 ;
1383   double HSMHV_wpgd3 ;
1384   double HSMHV_wndep ;
1385   double HSMHV_wninv ;
1386   double HSMHV_wmuecb0 ;
1387   double HSMHV_wmuecb1 ;
1388   double HSMHV_wmueph1 ;
1389   double HSMHV_wvtmp ;
1390   double HSMHV_wwvth0 ;
1391   double HSMHV_wmuesr1 ;
1392   double HSMHV_wmuetmp ;
1393   double HSMHV_wsub1 ;
1394   double HSMHV_wsub2 ;
1395   double HSMHV_wsvds ;
1396   double HSMHV_wsvbs ;
1397   double HSMHV_wsvgs ;
1398   double HSMHV_wfn1 ;
1399   double HSMHV_wfn2 ;
1400   double HSMHV_wfn3 ;
1401   double HSMHV_wfvbs ;
1402   double HSMHV_wnsti ;
1403   double HSMHV_wwsti ;
1404   double HSMHV_wscsti1 ;
1405   double HSMHV_wscsti2 ;
1406   double HSMHV_wvthsti ;
1407   double HSMHV_wmuesti1 ;
1408   double HSMHV_wmuesti2 ;
1409   double HSMHV_wmuesti3 ;
1410   double HSMHV_wnsubpsti1 ;
1411   double HSMHV_wnsubpsti2 ;
1412   double HSMHV_wnsubpsti3 ;
1413   double HSMHV_wcgso ;
1414   double HSMHV_wcgdo ;
1415   double HSMHV_wjs0 ;
1416   double HSMHV_wjs0sw ;
1417   double HSMHV_wnj ;
1418   double HSMHV_wcisbk ;
1419   double HSMHV_wclm1 ;
1420   double HSMHV_wclm2 ;
1421   double HSMHV_wclm3 ;
1422   double HSMHV_wwfc ;
1423   double HSMHV_wgidl1 ;
1424   double HSMHV_wgidl2 ;
1425   double HSMHV_wgleak1 ;
1426   double HSMHV_wgleak2 ;
1427   double HSMHV_wgleak3 ;
1428   double HSMHV_wgleak6 ;
1429   double HSMHV_wglksd1 ;
1430   double HSMHV_wglksd2 ;
1431   double HSMHV_wglkb1 ;
1432   double HSMHV_wglkb2 ;
1433   double HSMHV_wnftrp ;
1434   double HSMHV_wnfalp ;
1435   double HSMHV_wpthrou ;
1436   double HSMHV_wvdiffj ;
1437   double HSMHV_wibpc1 ;
1438   double HSMHV_wibpc2 ;
1439   double HSMHV_wcgbo ;
1440   double HSMHV_wcvdsover ;
1441   double HSMHV_wfalph ;
1442   double HSMHV_wnpext ;
1443   double HSMHV_wpowrat ;
1444   double HSMHV_wrd ;
1445   double HSMHV_wrd22 ;
1446   double HSMHV_wrd23 ;
1447   double HSMHV_wrd24 ;
1448   double HSMHV_wrdict1 ;
1449   double HSMHV_wrdov13 ;
1450   double HSMHV_wrdslp1 ;
1451   double HSMHV_wrdvb ;
1452   double HSMHV_wrdvd ;
1453   double HSMHV_wrdvg11 ;
1454   double HSMHV_wrs ;
1455   double HSMHV_wrth0 ;
1456   double HSMHV_wvover ;
1457 
1458   /* Cross-term dependence */
1459   double HSMHV_pvmax ;
1460   double HSMHV_pbgtmp1 ;
1461   double HSMHV_pbgtmp2 ;
1462   double HSMHV_peg0 ;
1463   double HSMHV_pvfbover ;
1464   double HSMHV_pnover ;
1465   double HSMHV_pnovers ;
1466   double HSMHV_pwl2 ;
1467   double HSMHV_pvfbc ;
1468   double HSMHV_pnsubc ;
1469   double HSMHV_pnsubp ;
1470   double HSMHV_pscp1 ;
1471   double HSMHV_pscp2 ;
1472   double HSMHV_pscp3 ;
1473   double HSMHV_psc1 ;
1474   double HSMHV_psc2 ;
1475   double HSMHV_psc3 ;
1476   double HSMHV_ppgd1 ;
1477   double HSMHV_ppgd3 ;
1478   double HSMHV_pndep ;
1479   double HSMHV_pninv ;
1480   double HSMHV_pmuecb0 ;
1481   double HSMHV_pmuecb1 ;
1482   double HSMHV_pmueph1 ;
1483   double HSMHV_pvtmp ;
1484   double HSMHV_pwvth0 ;
1485   double HSMHV_pmuesr1 ;
1486   double HSMHV_pmuetmp ;
1487   double HSMHV_psub1 ;
1488   double HSMHV_psub2 ;
1489   double HSMHV_psvds ;
1490   double HSMHV_psvbs ;
1491   double HSMHV_psvgs ;
1492   double HSMHV_pfn1 ;
1493   double HSMHV_pfn2 ;
1494   double HSMHV_pfn3 ;
1495   double HSMHV_pfvbs ;
1496   double HSMHV_pnsti ;
1497   double HSMHV_pwsti ;
1498   double HSMHV_pscsti1 ;
1499   double HSMHV_pscsti2 ;
1500   double HSMHV_pvthsti ;
1501   double HSMHV_pmuesti1 ;
1502   double HSMHV_pmuesti2 ;
1503   double HSMHV_pmuesti3 ;
1504   double HSMHV_pnsubpsti1 ;
1505   double HSMHV_pnsubpsti2 ;
1506   double HSMHV_pnsubpsti3 ;
1507   double HSMHV_pcgso ;
1508   double HSMHV_pcgdo ;
1509   double HSMHV_pjs0 ;
1510   double HSMHV_pjs0sw ;
1511   double HSMHV_pnj ;
1512   double HSMHV_pcisbk ;
1513   double HSMHV_pclm1 ;
1514   double HSMHV_pclm2 ;
1515   double HSMHV_pclm3 ;
1516   double HSMHV_pwfc ;
1517   double HSMHV_pgidl1 ;
1518   double HSMHV_pgidl2 ;
1519   double HSMHV_pgleak1 ;
1520   double HSMHV_pgleak2 ;
1521   double HSMHV_pgleak3 ;
1522   double HSMHV_pgleak6 ;
1523   double HSMHV_pglksd1 ;
1524   double HSMHV_pglksd2 ;
1525   double HSMHV_pglkb1 ;
1526   double HSMHV_pglkb2 ;
1527   double HSMHV_pnftrp ;
1528   double HSMHV_pnfalp ;
1529   double HSMHV_ppthrou ;
1530   double HSMHV_pvdiffj ;
1531   double HSMHV_pibpc1 ;
1532   double HSMHV_pibpc2 ;
1533   double HSMHV_pcgbo ;
1534   double HSMHV_pcvdsover ;
1535   double HSMHV_pfalph ;
1536   double HSMHV_pnpext ;
1537   double HSMHV_ppowrat ;
1538   double HSMHV_prd ;
1539   double HSMHV_prd22 ;
1540   double HSMHV_prd23 ;
1541   double HSMHV_prd24 ;
1542   double HSMHV_prdict1 ;
1543   double HSMHV_prdov13 ;
1544   double HSMHV_prdslp1 ;
1545   double HSMHV_prdvb ;
1546   double HSMHV_prdvd ;
1547   double HSMHV_prdvg11 ;
1548   double HSMHV_prs ;
1549   double HSMHV_prth0 ;
1550   double HSMHV_pvover ;
1551 
1552   /* internal variables */
1553   double HSMHV_vcrit ;
1554   int HSMHV_flg_qme ;
1555   double HSMHV_qme12 ;
1556   double HSMHV_ktnom ;
1557 
1558   double HSMHVvgsMax;
1559   double HSMHVvgdMax;
1560   double HSMHVvgbMax;
1561   double HSMHVvdsMax;
1562   double HSMHVvbsMax;
1563   double HSMHVvbdMax;
1564   double HSMHVvgsrMax;
1565   double HSMHVvgdrMax;
1566   double HSMHVvgbrMax;
1567   double HSMHVvbsrMax;
1568   double HSMHVvbdrMax;
1569 
1570   HSMHVmodelMKSParam modelMKS ; /* unit-converted parameters */
1571 
1572 
1573   /* flag for model */
1574   unsigned HSMHV_type_Given  :1;
1575   unsigned HSMHV_level_Given  :1;
1576   unsigned HSMHV_info_Given  :1;
1577   unsigned HSMHV_noise_Given :1;
1578   unsigned HSMHV_version_Given :1;
1579   unsigned HSMHV_show_Given :1;
1580   unsigned HSMHV_corsrd_Given  :1;
1581   unsigned HSMHV_corg_Given    :1;
1582   unsigned HSMHV_coiprv_Given  :1;
1583   unsigned HSMHV_copprv_Given  :1;
1584   unsigned HSMHV_coadov_Given  :1;
1585   unsigned HSMHV_coisub_Given  :1;
1586   unsigned HSMHV_coiigs_Given  :1;
1587   unsigned HSMHV_cogidl_Given  :1;
1588   unsigned HSMHV_coovlp_Given  :1;
1589   unsigned HSMHV_coovlps_Given  :1;
1590   unsigned HSMHV_coflick_Given  :1;
1591   unsigned HSMHV_coisti_Given  :1;
1592   unsigned HSMHV_conqs_Given  :1;
1593   unsigned HSMHV_corbnet_Given  :1;
1594   unsigned HSMHV_cothrml_Given  :1;
1595   unsigned HSMHV_coign_Given  :1;      /* Induced gate noise */
1596   unsigned HSMHV_codfm_Given  :1;      /* DFM */
1597   unsigned HSMHV_coqovsm_Given  :1;
1598   unsigned HSMHV_coselfheat_Given  :1; /* Self-heating model */
1599   unsigned HSMHV_cosubnode_Given  :1;  /* switch tempNode to subNode */
1600   unsigned HSMHV_cosym_Given  :1;      /* Symmetry model for HV */
1601   unsigned HSMHV_cotemp_Given  :1;
1602   unsigned HSMHV_coldrift_Given  :1;
1603   unsigned HSMHV_kappa_Given :1;
1604   unsigned HSMHV_pthrou_Given :1;
1605   unsigned HSMHV_vdiffj_Given :1;
1606   unsigned HSMHV_vmax_Given  :1;
1607   unsigned HSMHV_vmaxt1_Given  :1;
1608   unsigned HSMHV_vmaxt2_Given  :1;
1609   unsigned HSMHV_bgtmp1_Given  :1;
1610   unsigned HSMHV_bgtmp2_Given  :1;
1611   unsigned HSMHV_eg0_Given  :1;
1612   unsigned HSMHV_tox_Given  :1;
1613   unsigned HSMHV_xld_Given  :1;
1614   unsigned HSMHV_xldld_Given  :1;
1615   unsigned HSMHV_xwdld_Given  :1;
1616   unsigned HSMHV_lover_Given  :1;
1617   unsigned HSMHV_lovers_Given  :1;
1618   unsigned HSMHV_rdov11_Given  :1;
1619   unsigned HSMHV_rdov12_Given  :1;
1620   unsigned HSMHV_rdov13_Given  :1;
1621   unsigned HSMHV_rdslp1_Given  :1;
1622   unsigned HSMHV_rdict1_Given  :1;
1623   unsigned HSMHV_rdslp2_Given  :1;
1624   unsigned HSMHV_rdict2_Given  :1;
1625   unsigned HSMHV_loverld_Given  :1;
1626   unsigned HSMHV_ldrift1_Given  :1;
1627   unsigned HSMHV_ldrift2_Given  :1;
1628   unsigned HSMHV_ldrift1s_Given  :1;
1629   unsigned HSMHV_ldrift2s_Given  :1;
1630   unsigned HSMHV_subld1_Given  :1;
1631   unsigned HSMHV_subld2_Given  :1;
1632   unsigned HSMHV_ddltmax_Given  :1;
1633   unsigned HSMHV_ddltslp_Given  :1;
1634   unsigned HSMHV_ddltict_Given  :1;
1635   unsigned HSMHV_vfbover_Given  :1;
1636   unsigned HSMHV_nover_Given  :1;
1637   unsigned HSMHV_novers_Given  :1;
1638   unsigned HSMHV_xwd_Given  :1;
1639   unsigned HSMHV_xwdc_Given  :1;
1640   unsigned HSMHV_xl_Given  :1;
1641   unsigned HSMHV_xw_Given  :1;
1642   unsigned HSMHV_saref_Given  :1;
1643   unsigned HSMHV_sbref_Given  :1;
1644   unsigned HSMHV_ll_Given  :1;
1645   unsigned HSMHV_lld_Given  :1;
1646   unsigned HSMHV_lln_Given  :1;
1647   unsigned HSMHV_wl_Given  :1;
1648   unsigned HSMHV_wl1_Given  :1;
1649   unsigned HSMHV_wl1p_Given  :1;
1650   unsigned HSMHV_wl2_Given  :1;
1651   unsigned HSMHV_wl2p_Given  :1;
1652   unsigned HSMHV_wld_Given  :1;
1653   unsigned HSMHV_wln_Given  :1;
1654   unsigned HSMHV_xqy_Given  :1;
1655   unsigned HSMHV_xqy1_Given  :1;
1656   unsigned HSMHV_xqy2_Given  :1;
1657   unsigned HSMHV_rs_Given  :1;
1658   unsigned HSMHV_rd_Given  :1;
1659   unsigned HSMHV_rsh_Given  :1;
1660   unsigned HSMHV_rshg_Given  :1;
1661 /*   unsigned HSMHV_ngcon_Given  :1; */
1662 /*   unsigned HSMHV_xgw_Given  :1; */
1663 /*   unsigned HSMHV_xgl_Given  :1; */
1664 /*   unsigned HSMHV_nf_Given  :1; */
1665   unsigned HSMHV_vfbc_Given  :1;
1666   unsigned HSMHV_vbi_Given  :1;
1667   unsigned HSMHV_nsubc_Given  :1;
1668   unsigned HSMHV_parl2_Given  :1;
1669   unsigned HSMHV_lp_Given  :1;
1670   unsigned HSMHV_nsubp_Given  :1;
1671   unsigned HSMHV_nsubp0_Given  :1;
1672   unsigned HSMHV_nsubwp_Given  :1;
1673   unsigned HSMHV_scp1_Given  :1;
1674   unsigned HSMHV_scp2_Given  :1;
1675   unsigned HSMHV_scp3_Given  :1;
1676   unsigned HSMHV_sc1_Given  :1;
1677   unsigned HSMHV_sc2_Given  :1;
1678   unsigned HSMHV_sc3_Given  :1;
1679   unsigned HSMHV_sc4_Given  :1;
1680   unsigned HSMHV_pgd1_Given  :1;
1681   unsigned HSMHV_pgd2_Given  :1;
1682   unsigned HSMHV_pgd3_Given  :1;
1683   unsigned HSMHV_pgd4_Given  :1;
1684   unsigned HSMHV_ndep_Given  :1;
1685   unsigned HSMHV_ndepl_Given  :1;
1686   unsigned HSMHV_ndeplp_Given  :1;
1687   unsigned HSMHV_ninv_Given  :1;
1688   unsigned HSMHV_muecb0_Given  :1;
1689   unsigned HSMHV_muecb1_Given  :1;
1690   unsigned HSMHV_mueph1_Given  :1;
1691   unsigned HSMHV_mueph0_Given  :1;
1692   unsigned HSMHV_muephw_Given  :1;
1693   unsigned HSMHV_muepwp_Given  :1;
1694   unsigned HSMHV_muephl_Given  :1;
1695   unsigned HSMHV_mueplp_Given  :1;
1696   unsigned HSMHV_muephs_Given  :1;
1697   unsigned HSMHV_muepsp_Given  :1;
1698   unsigned HSMHV_vtmp_Given  :1;
1699   unsigned HSMHV_wvth0_Given  :1;
1700   unsigned HSMHV_muesr1_Given  :1;
1701   unsigned HSMHV_muesr0_Given  :1;
1702   unsigned HSMHV_muesrl_Given  :1;
1703   unsigned HSMHV_mueslp_Given  :1;
1704   unsigned HSMHV_muesrw_Given  :1;
1705   unsigned HSMHV_mueswp_Given  :1;
1706   unsigned HSMHV_bb_Given  :1;
1707   unsigned HSMHV_sub1_Given  :1;
1708   unsigned HSMHV_sub2_Given  :1;
1709   unsigned HSMHV_svgs_Given  :1;
1710   unsigned HSMHV_svbs_Given  :1;
1711   unsigned HSMHV_svbsl_Given  :1;
1712   unsigned HSMHV_svds_Given  :1;
1713   unsigned HSMHV_slg_Given  :1;
1714   unsigned HSMHV_sub1l_Given  :1;
1715   unsigned HSMHV_sub2l_Given  :1;
1716   unsigned HSMHV_fn1_Given  :1;
1717   unsigned HSMHV_fn2_Given  :1;
1718   unsigned HSMHV_fn3_Given  :1;
1719   unsigned HSMHV_fvbs_Given  :1;
1720   unsigned HSMHV_svgsl_Given  :1;
1721   unsigned HSMHV_svgslp_Given  :1;
1722   unsigned HSMHV_svgswp_Given  :1;
1723   unsigned HSMHV_svgsw_Given  :1;
1724   unsigned HSMHV_svbslp_Given  :1;
1725   unsigned HSMHV_slgl_Given  :1;
1726   unsigned HSMHV_slglp_Given  :1;
1727   unsigned HSMHV_sub1lp_Given  :1;
1728   unsigned HSMHV_nsti_Given  :1;
1729   unsigned HSMHV_wsti_Given  :1;
1730   unsigned HSMHV_wstil_Given  :1;
1731   unsigned HSMHV_wstilp_Given  :1;
1732   unsigned HSMHV_wstiw_Given  :1;
1733   unsigned HSMHV_wstiwp_Given  :1;
1734   unsigned HSMHV_scsti1_Given  :1;
1735   unsigned HSMHV_scsti2_Given  :1;
1736   unsigned HSMHV_vthsti_Given  :1;
1737   unsigned HSMHV_vdsti_Given  :1;
1738   unsigned HSMHV_muesti1_Given  :1;
1739   unsigned HSMHV_muesti2_Given  :1;
1740   unsigned HSMHV_muesti3_Given  :1;
1741   unsigned HSMHV_nsubpsti1_Given  :1;
1742   unsigned HSMHV_nsubpsti2_Given  :1;
1743   unsigned HSMHV_nsubpsti3_Given  :1;
1744   unsigned HSMHV_lpext_Given  :1;
1745   unsigned HSMHV_npext_Given  :1;
1746   unsigned HSMHV_scp22_Given  :1;
1747   unsigned HSMHV_scp21_Given  :1;
1748   unsigned HSMHV_bs1_Given  :1;
1749   unsigned HSMHV_bs2_Given  :1;
1750   unsigned HSMHV_cgso_Given  :1;
1751   unsigned HSMHV_cgdo_Given  :1;
1752   unsigned HSMHV_cgbo_Given  :1;
1753   unsigned HSMHV_tpoly_Given  :1;
1754   unsigned HSMHV_js0_Given  :1;
1755   unsigned HSMHV_js0sw_Given  :1;
1756   unsigned HSMHV_nj_Given  :1;
1757   unsigned HSMHV_njsw_Given  :1;
1758   unsigned HSMHV_xti_Given  :1;
1759   unsigned HSMHV_cj_Given  :1;
1760   unsigned HSMHV_cjsw_Given  :1;
1761   unsigned HSMHV_cjswg_Given  :1;
1762   unsigned HSMHV_mj_Given  :1;
1763   unsigned HSMHV_mjsw_Given  :1;
1764   unsigned HSMHV_mjswg_Given  :1;
1765   unsigned HSMHV_xti2_Given  :1;
1766   unsigned HSMHV_cisb_Given  :1;
1767   unsigned HSMHV_cvb_Given  :1;
1768   unsigned HSMHV_ctemp_Given  :1;
1769   unsigned HSMHV_cisbk_Given  :1;
1770   unsigned HSMHV_cvbk_Given  :1;
1771   unsigned HSMHV_divx_Given  :1;
1772   unsigned HSMHV_pb_Given  :1;
1773   unsigned HSMHV_pbsw_Given  :1;
1774   unsigned HSMHV_pbswg_Given  :1;
1775   unsigned HSMHV_clm1_Given  :1;
1776   unsigned HSMHV_clm2_Given  :1;
1777   unsigned HSMHV_clm3_Given  :1;
1778   unsigned HSMHV_clm5_Given  :1;
1779   unsigned HSMHV_clm6_Given  :1;
1780   unsigned HSMHV_muetmp_Given  :1;
1781   unsigned HSMHV_vover_Given  :1;
1782   unsigned HSMHV_voverp_Given  :1;
1783   unsigned HSMHV_vovers_Given  :1;
1784   unsigned HSMHV_voversp_Given  :1;
1785   unsigned HSMHV_wfc_Given  :1;
1786   unsigned HSMHV_nsubcw_Given  :1;
1787   unsigned HSMHV_nsubcwp_Given  :1;
1788   unsigned HSMHV_qme1_Given  :1;
1789   unsigned HSMHV_qme2_Given  :1;
1790   unsigned HSMHV_qme3_Given  :1;
1791   unsigned HSMHV_gidl1_Given  :1;
1792   unsigned HSMHV_gidl2_Given  :1;
1793   unsigned HSMHV_gidl3_Given  :1;
1794   unsigned HSMHV_gidl4_Given  :1;
1795   unsigned HSMHV_gidl5_Given  :1;
1796   unsigned HSMHV_gleak1_Given  :1;
1797   unsigned HSMHV_gleak2_Given  :1;
1798   unsigned HSMHV_gleak3_Given  :1;
1799   unsigned HSMHV_gleak4_Given  :1;
1800   unsigned HSMHV_gleak5_Given  :1;
1801   unsigned HSMHV_gleak6_Given  :1;
1802   unsigned HSMHV_gleak7_Given  :1;
1803   unsigned HSMHV_glpart1_Given  :1;
1804   unsigned HSMHV_glksd1_Given  :1;
1805   unsigned HSMHV_glksd2_Given  :1;
1806   unsigned HSMHV_glksd3_Given  :1;
1807   unsigned HSMHV_glkb1_Given  :1;
1808   unsigned HSMHV_glkb2_Given  :1;
1809   unsigned HSMHV_glkb3_Given  :1;
1810   unsigned HSMHV_egig_Given  :1;
1811   unsigned HSMHV_igtemp2_Given  :1;
1812   unsigned HSMHV_igtemp3_Given  :1;
1813   unsigned HSMHV_vzadd0_Given  :1;
1814   unsigned HSMHV_pzadd0_Given  :1;
1815   unsigned HSMHV_nftrp_Given  :1;
1816   unsigned HSMHV_nfalp_Given  :1;
1817   unsigned HSMHV_cit_Given  :1;
1818   unsigned HSMHV_falph_Given  :1;
1819   unsigned HSMHV_dly1_Given :1;
1820   unsigned HSMHV_dly2_Given :1;
1821   unsigned HSMHV_dly3_Given :1;
1822   unsigned HSMHV_dlyov_Given :1;
1823   unsigned HSMHV_tnom_Given :1;
1824   unsigned HSMHV_ovslp_Given :1;
1825   unsigned HSMHV_ovmag_Given :1;
1826   unsigned HSMHV_gbmin_Given :1;
1827   unsigned HSMHV_rbpb_Given :1;
1828   unsigned HSMHV_rbpd_Given :1;
1829   unsigned HSMHV_rbps_Given :1;
1830   unsigned HSMHV_rbdb_Given :1;
1831   unsigned HSMHV_rbsb_Given :1;
1832   unsigned HSMHV_ibpc1_Given :1;
1833   unsigned HSMHV_ibpc2_Given :1;
1834   unsigned HSMHV_mphdfm_Given :1;
1835   unsigned HSMHV_rdvg11_Given  :1;
1836   unsigned HSMHV_rdvg12_Given  :1;
1837   unsigned HSMHV_qovsm_Given  :1;
1838   unsigned HSMHV_ldrift_Given  :1;
1839   unsigned HSMHV_rd20_Given  :1;
1840   unsigned HSMHV_rd21_Given  :1;
1841   unsigned HSMHV_rd22_Given  :1;
1842   unsigned HSMHV_rd22d_Given :1;
1843   unsigned HSMHV_rd23_Given  :1;
1844   unsigned HSMHV_rd24_Given  :1;
1845   unsigned HSMHV_rd25_Given  :1;
1846   unsigned HSMHV_rd26_Given  :1;
1847   unsigned HSMHV_rdvdl_Given  :1;
1848   unsigned HSMHV_rdvdlp_Given  :1;
1849   unsigned HSMHV_rdvds_Given  :1;
1850   unsigned HSMHV_rdvdsp_Given  :1;
1851   unsigned HSMHV_rd23l_Given  :1;
1852   unsigned HSMHV_rd23lp_Given  :1;
1853   unsigned HSMHV_rd23s_Given  :1;
1854   unsigned HSMHV_rd23sp_Given  :1;
1855   unsigned HSMHV_rds_Given  :1;
1856   unsigned HSMHV_rdsp_Given  :1;
1857   unsigned HSMHV_vbsmin_Given  :1;
1858   unsigned HSMHV_ninvd_Given  :1;
1859   unsigned HSMHV_ninvdw_Given  :1;
1860   unsigned HSMHV_ninvdwp_Given  :1;
1861   unsigned HSMHV_ninvdt1_Given  :1;
1862   unsigned HSMHV_ninvdt2_Given  :1;
1863   unsigned HSMHV_rdvb_Given  :1;
1864   unsigned HSMHV_rth0nf_Given  :1;
1865 
1866   unsigned HSMHV_rthtemp1_Given  :1;
1867   unsigned HSMHV_rthtemp2_Given  :1;
1868   unsigned HSMHV_prattemp1_Given  :1;
1869   unsigned HSMHV_prattemp2_Given  :1;
1870 
1871 
1872   unsigned HSMHV_rth0_Given :1;
1873   unsigned HSMHV_cth0_Given :1;
1874   unsigned HSMHV_powrat_Given :1;
1875 
1876 
1877   unsigned HSMHV_tcjbd_Given :1;
1878   unsigned HSMHV_tcjbs_Given :1;
1879   unsigned HSMHV_tcjbdsw_Given :1;
1880   unsigned HSMHV_tcjbssw_Given :1;
1881   unsigned HSMHV_tcjbdswg_Given :1;
1882   unsigned HSMHV_tcjbsswg_Given :1;
1883 
1884 
1885 /*   unsigned HSMHV_wth0_Given :1; */
1886   unsigned HSMHV_qdftvd_Given  :1;
1887   unsigned HSMHV_rdvd_Given  :1;
1888   unsigned HSMHV_rdtemp1_Given :1;
1889   unsigned HSMHV_rdtemp2_Given :1;
1890   unsigned HSMHV_rth0r_Given :1;
1891   unsigned HSMHV_rdvdtemp1_Given :1;
1892   unsigned HSMHV_rdvdtemp2_Given :1;
1893   unsigned HSMHV_rth0w_Given :1;
1894   unsigned HSMHV_rth0wp_Given :1;
1895 
1896   unsigned HSMHV_cvdsover_Given :1;
1897 
1898   /* substrate effect */
1899   unsigned HSMHV_rdvsub_Given  :1;  /* substrate effect */
1900   unsigned HSMHV_rdvdsub_Given  :1; /* substrate effect */
1901   unsigned HSMHV_ddrift_Given  :1;  /* substrate effect */
1902   unsigned HSMHV_vbisub_Given  :1;  /* substrate effect */
1903   unsigned HSMHV_nsubsub_Given  :1; /* substrate effect */
1904   unsigned HSMHV_shemax_Given :1;
1905 
1906   /* binning parameters */
1907   unsigned HSMHV_lmin_Given :1;
1908   unsigned HSMHV_lmax_Given :1;
1909   unsigned HSMHV_wmin_Given :1;
1910   unsigned HSMHV_wmax_Given :1;
1911   unsigned HSMHV_lbinn_Given :1;
1912   unsigned HSMHV_wbinn_Given :1;
1913 
1914   /* Length dependence */
1915   unsigned HSMHV_lvmax_Given :1;
1916   unsigned HSMHV_lbgtmp1_Given :1;
1917   unsigned HSMHV_lbgtmp2_Given :1;
1918   unsigned HSMHV_leg0_Given :1;
1919   unsigned HSMHV_lvfbover_Given :1;
1920   unsigned HSMHV_lnover_Given :1;
1921   unsigned HSMHV_lnovers_Given :1;
1922   unsigned HSMHV_lwl2_Given :1;
1923   unsigned HSMHV_lvfbc_Given :1;
1924   unsigned HSMHV_lnsubc_Given :1;
1925   unsigned HSMHV_lnsubp_Given :1;
1926   unsigned HSMHV_lscp1_Given :1;
1927   unsigned HSMHV_lscp2_Given :1;
1928   unsigned HSMHV_lscp3_Given :1;
1929   unsigned HSMHV_lsc1_Given :1;
1930   unsigned HSMHV_lsc2_Given :1;
1931   unsigned HSMHV_lsc3_Given :1;
1932   unsigned HSMHV_lpgd1_Given :1;
1933   unsigned HSMHV_lpgd3_Given :1;
1934   unsigned HSMHV_lndep_Given :1;
1935   unsigned HSMHV_lninv_Given :1;
1936   unsigned HSMHV_lmuecb0_Given :1;
1937   unsigned HSMHV_lmuecb1_Given :1;
1938   unsigned HSMHV_lmueph1_Given :1;
1939   unsigned HSMHV_lvtmp_Given :1;
1940   unsigned HSMHV_lwvth0_Given :1;
1941   unsigned HSMHV_lmuesr1_Given :1;
1942   unsigned HSMHV_lmuetmp_Given :1;
1943   unsigned HSMHV_lsub1_Given :1;
1944   unsigned HSMHV_lsub2_Given :1;
1945   unsigned HSMHV_lsvds_Given :1;
1946   unsigned HSMHV_lsvbs_Given :1;
1947   unsigned HSMHV_lsvgs_Given :1;
1948   unsigned HSMHV_lfn1_Given :1;
1949   unsigned HSMHV_lfn2_Given :1;
1950   unsigned HSMHV_lfn3_Given :1;
1951   unsigned HSMHV_lfvbs_Given :1;
1952   unsigned HSMHV_lnsti_Given :1;
1953   unsigned HSMHV_lwsti_Given :1;
1954   unsigned HSMHV_lscsti1_Given :1;
1955   unsigned HSMHV_lscsti2_Given :1;
1956   unsigned HSMHV_lvthsti_Given :1;
1957   unsigned HSMHV_lmuesti1_Given :1;
1958   unsigned HSMHV_lmuesti2_Given :1;
1959   unsigned HSMHV_lmuesti3_Given :1;
1960   unsigned HSMHV_lnsubpsti1_Given :1;
1961   unsigned HSMHV_lnsubpsti2_Given :1;
1962   unsigned HSMHV_lnsubpsti3_Given :1;
1963   unsigned HSMHV_lcgso_Given :1;
1964   unsigned HSMHV_lcgdo_Given :1;
1965   unsigned HSMHV_ljs0_Given :1;
1966   unsigned HSMHV_ljs0sw_Given :1;
1967   unsigned HSMHV_lnj_Given :1;
1968   unsigned HSMHV_lcisbk_Given :1;
1969   unsigned HSMHV_lclm1_Given :1;
1970   unsigned HSMHV_lclm2_Given :1;
1971   unsigned HSMHV_lclm3_Given :1;
1972   unsigned HSMHV_lwfc_Given :1;
1973   unsigned HSMHV_lgidl1_Given :1;
1974   unsigned HSMHV_lgidl2_Given :1;
1975   unsigned HSMHV_lgleak1_Given :1;
1976   unsigned HSMHV_lgleak2_Given :1;
1977   unsigned HSMHV_lgleak3_Given :1;
1978   unsigned HSMHV_lgleak6_Given :1;
1979   unsigned HSMHV_lglksd1_Given :1;
1980   unsigned HSMHV_lglksd2_Given :1;
1981   unsigned HSMHV_lglkb1_Given :1;
1982   unsigned HSMHV_lglkb2_Given :1;
1983   unsigned HSMHV_lnftrp_Given :1;
1984   unsigned HSMHV_lnfalp_Given :1;
1985   unsigned HSMHV_lpthrou_Given :1;
1986   unsigned HSMHV_lvdiffj_Given :1;
1987   unsigned HSMHV_libpc1_Given :1;
1988   unsigned HSMHV_libpc2_Given :1;
1989   unsigned HSMHV_lcgbo_Given :1;
1990   unsigned HSMHV_lcvdsover_Given :1;
1991   unsigned HSMHV_lfalph_Given :1;
1992   unsigned HSMHV_lnpext_Given :1;
1993   unsigned HSMHV_lpowrat_Given :1;
1994   unsigned HSMHV_lrd_Given :1;
1995   unsigned HSMHV_lrd22_Given :1;
1996   unsigned HSMHV_lrd23_Given :1;
1997   unsigned HSMHV_lrd24_Given :1;
1998   unsigned HSMHV_lrdict1_Given :1;
1999   unsigned HSMHV_lrdov13_Given :1;
2000   unsigned HSMHV_lrdslp1_Given :1;
2001   unsigned HSMHV_lrdvb_Given :1;
2002   unsigned HSMHV_lrdvd_Given :1;
2003   unsigned HSMHV_lrdvg11_Given :1;
2004   unsigned HSMHV_lrs_Given :1;
2005   unsigned HSMHV_lrth0_Given :1;
2006   unsigned HSMHV_lvover_Given :1;
2007 
2008   /* Width dependence */
2009   unsigned HSMHV_wvmax_Given :1;
2010   unsigned HSMHV_wbgtmp1_Given :1;
2011   unsigned HSMHV_wbgtmp2_Given :1;
2012   unsigned HSMHV_weg0_Given :1;
2013   unsigned HSMHV_wvfbover_Given :1;
2014   unsigned HSMHV_wnover_Given :1;
2015   unsigned HSMHV_wnovers_Given :1;
2016   unsigned HSMHV_wwl2_Given :1;
2017   unsigned HSMHV_wvfbc_Given :1;
2018   unsigned HSMHV_wnsubc_Given :1;
2019   unsigned HSMHV_wnsubp_Given :1;
2020   unsigned HSMHV_wscp1_Given :1;
2021   unsigned HSMHV_wscp2_Given :1;
2022   unsigned HSMHV_wscp3_Given :1;
2023   unsigned HSMHV_wsc1_Given :1;
2024   unsigned HSMHV_wsc2_Given :1;
2025   unsigned HSMHV_wsc3_Given :1;
2026   unsigned HSMHV_wpgd1_Given :1;
2027   unsigned HSMHV_wpgd3_Given :1;
2028   unsigned HSMHV_wndep_Given :1;
2029   unsigned HSMHV_wninv_Given :1;
2030   unsigned HSMHV_wmuecb0_Given :1;
2031   unsigned HSMHV_wmuecb1_Given :1;
2032   unsigned HSMHV_wmueph1_Given :1;
2033   unsigned HSMHV_wvtmp_Given :1;
2034   unsigned HSMHV_wwvth0_Given :1;
2035   unsigned HSMHV_wmuesr1_Given :1;
2036   unsigned HSMHV_wmuetmp_Given :1;
2037   unsigned HSMHV_wsub1_Given :1;
2038   unsigned HSMHV_wsub2_Given :1;
2039   unsigned HSMHV_wsvds_Given :1;
2040   unsigned HSMHV_wsvbs_Given :1;
2041   unsigned HSMHV_wsvgs_Given :1;
2042   unsigned HSMHV_wfn1_Given :1;
2043   unsigned HSMHV_wfn2_Given :1;
2044   unsigned HSMHV_wfn3_Given :1;
2045   unsigned HSMHV_wfvbs_Given :1;
2046   unsigned HSMHV_wnsti_Given :1;
2047   unsigned HSMHV_wwsti_Given :1;
2048   unsigned HSMHV_wscsti1_Given :1;
2049   unsigned HSMHV_wscsti2_Given :1;
2050   unsigned HSMHV_wvthsti_Given :1;
2051   unsigned HSMHV_wmuesti1_Given :1;
2052   unsigned HSMHV_wmuesti2_Given :1;
2053   unsigned HSMHV_wmuesti3_Given :1;
2054   unsigned HSMHV_wnsubpsti1_Given :1;
2055   unsigned HSMHV_wnsubpsti2_Given :1;
2056   unsigned HSMHV_wnsubpsti3_Given :1;
2057   unsigned HSMHV_wcgso_Given :1;
2058   unsigned HSMHV_wcgdo_Given :1;
2059   unsigned HSMHV_wjs0_Given :1;
2060   unsigned HSMHV_wjs0sw_Given :1;
2061   unsigned HSMHV_wnj_Given :1;
2062   unsigned HSMHV_wcisbk_Given :1;
2063   unsigned HSMHV_wclm1_Given :1;
2064   unsigned HSMHV_wclm2_Given :1;
2065   unsigned HSMHV_wclm3_Given :1;
2066   unsigned HSMHV_wwfc_Given :1;
2067   unsigned HSMHV_wgidl1_Given :1;
2068   unsigned HSMHV_wgidl2_Given :1;
2069   unsigned HSMHV_wgleak1_Given :1;
2070   unsigned HSMHV_wgleak2_Given :1;
2071   unsigned HSMHV_wgleak3_Given :1;
2072   unsigned HSMHV_wgleak6_Given :1;
2073   unsigned HSMHV_wglksd1_Given :1;
2074   unsigned HSMHV_wglksd2_Given :1;
2075   unsigned HSMHV_wglkb1_Given :1;
2076   unsigned HSMHV_wglkb2_Given :1;
2077   unsigned HSMHV_wnftrp_Given :1;
2078   unsigned HSMHV_wnfalp_Given :1;
2079   unsigned HSMHV_wpthrou_Given :1;
2080   unsigned HSMHV_wvdiffj_Given :1;
2081   unsigned HSMHV_wibpc1_Given :1;
2082   unsigned HSMHV_wibpc2_Given :1;
2083   unsigned HSMHV_wcgbo_Given :1;
2084   unsigned HSMHV_wcvdsover_Given :1;
2085   unsigned HSMHV_wfalph_Given :1;
2086   unsigned HSMHV_wnpext_Given :1;
2087   unsigned HSMHV_wpowrat_Given :1;
2088   unsigned HSMHV_wrd_Given :1;
2089   unsigned HSMHV_wrd22_Given :1;
2090   unsigned HSMHV_wrd23_Given :1;
2091   unsigned HSMHV_wrd24_Given :1;
2092   unsigned HSMHV_wrdict1_Given :1;
2093   unsigned HSMHV_wrdov13_Given :1;
2094   unsigned HSMHV_wrdslp1_Given :1;
2095   unsigned HSMHV_wrdvb_Given :1;
2096   unsigned HSMHV_wrdvd_Given :1;
2097   unsigned HSMHV_wrdvg11_Given :1;
2098   unsigned HSMHV_wrs_Given :1;
2099   unsigned HSMHV_wrth0_Given :1;
2100   unsigned HSMHV_wvover_Given :1;
2101 
2102   /* Cross-term dependence */
2103   unsigned HSMHV_pvmax_Given :1;
2104   unsigned HSMHV_pbgtmp1_Given :1;
2105   unsigned HSMHV_pbgtmp2_Given :1;
2106   unsigned HSMHV_peg0_Given :1;
2107   unsigned HSMHV_pvfbover_Given :1;
2108   unsigned HSMHV_pnover_Given :1;
2109   unsigned HSMHV_pnovers_Given :1;
2110   unsigned HSMHV_pwl2_Given :1;
2111   unsigned HSMHV_pvfbc_Given :1;
2112   unsigned HSMHV_pnsubc_Given :1;
2113   unsigned HSMHV_pnsubp_Given :1;
2114   unsigned HSMHV_pscp1_Given :1;
2115   unsigned HSMHV_pscp2_Given :1;
2116   unsigned HSMHV_pscp3_Given :1;
2117   unsigned HSMHV_psc1_Given :1;
2118   unsigned HSMHV_psc2_Given :1;
2119   unsigned HSMHV_psc3_Given :1;
2120   unsigned HSMHV_ppgd1_Given :1;
2121   unsigned HSMHV_ppgd3_Given :1;
2122   unsigned HSMHV_pndep_Given :1;
2123   unsigned HSMHV_pninv_Given :1;
2124   unsigned HSMHV_pmuecb0_Given :1;
2125   unsigned HSMHV_pmuecb1_Given :1;
2126   unsigned HSMHV_pmueph1_Given :1;
2127   unsigned HSMHV_pvtmp_Given :1;
2128   unsigned HSMHV_pwvth0_Given :1;
2129   unsigned HSMHV_pmuesr1_Given :1;
2130   unsigned HSMHV_pmuetmp_Given :1;
2131   unsigned HSMHV_psub1_Given :1;
2132   unsigned HSMHV_psub2_Given :1;
2133   unsigned HSMHV_psvds_Given :1;
2134   unsigned HSMHV_psvbs_Given :1;
2135   unsigned HSMHV_psvgs_Given :1;
2136   unsigned HSMHV_pfn1_Given :1;
2137   unsigned HSMHV_pfn2_Given :1;
2138   unsigned HSMHV_pfn3_Given :1;
2139   unsigned HSMHV_pfvbs_Given :1;
2140   unsigned HSMHV_pnsti_Given :1;
2141   unsigned HSMHV_pwsti_Given :1;
2142   unsigned HSMHV_pscsti1_Given :1;
2143   unsigned HSMHV_pscsti2_Given :1;
2144   unsigned HSMHV_pvthsti_Given :1;
2145   unsigned HSMHV_pmuesti1_Given :1;
2146   unsigned HSMHV_pmuesti2_Given :1;
2147   unsigned HSMHV_pmuesti3_Given :1;
2148   unsigned HSMHV_pnsubpsti1_Given :1;
2149   unsigned HSMHV_pnsubpsti2_Given :1;
2150   unsigned HSMHV_pnsubpsti3_Given :1;
2151   unsigned HSMHV_pcgso_Given :1;
2152   unsigned HSMHV_pcgdo_Given :1;
2153   unsigned HSMHV_pjs0_Given :1;
2154   unsigned HSMHV_pjs0sw_Given :1;
2155   unsigned HSMHV_pnj_Given :1;
2156   unsigned HSMHV_pcisbk_Given :1;
2157   unsigned HSMHV_pclm1_Given :1;
2158   unsigned HSMHV_pclm2_Given :1;
2159   unsigned HSMHV_pclm3_Given :1;
2160   unsigned HSMHV_pwfc_Given :1;
2161   unsigned HSMHV_pgidl1_Given :1;
2162   unsigned HSMHV_pgidl2_Given :1;
2163   unsigned HSMHV_pgleak1_Given :1;
2164   unsigned HSMHV_pgleak2_Given :1;
2165   unsigned HSMHV_pgleak3_Given :1;
2166   unsigned HSMHV_pgleak6_Given :1;
2167   unsigned HSMHV_pglksd1_Given :1;
2168   unsigned HSMHV_pglksd2_Given :1;
2169   unsigned HSMHV_pglkb1_Given :1;
2170   unsigned HSMHV_pglkb2_Given :1;
2171   unsigned HSMHV_pnftrp_Given :1;
2172   unsigned HSMHV_pnfalp_Given :1;
2173   unsigned HSMHV_ppthrou_Given :1;
2174   unsigned HSMHV_pvdiffj_Given :1;
2175   unsigned HSMHV_pibpc1_Given :1;
2176   unsigned HSMHV_pibpc2_Given :1;
2177   unsigned HSMHV_pcgbo_Given :1;
2178   unsigned HSMHV_pcvdsover_Given :1;
2179   unsigned HSMHV_pfalph_Given :1;
2180   unsigned HSMHV_pnpext_Given :1;
2181   unsigned HSMHV_ppowrat_Given :1;
2182   unsigned HSMHV_prd_Given :1;
2183   unsigned HSMHV_prd22_Given :1;
2184   unsigned HSMHV_prd23_Given :1;
2185   unsigned HSMHV_prd24_Given :1;
2186   unsigned HSMHV_prdict1_Given :1;
2187   unsigned HSMHV_prdov13_Given :1;
2188   unsigned HSMHV_prdslp1_Given :1;
2189   unsigned HSMHV_prdvb_Given :1;
2190   unsigned HSMHV_prdvd_Given :1;
2191   unsigned HSMHV_prdvg11_Given :1;
2192   unsigned HSMHV_prs_Given :1;
2193   unsigned HSMHV_prth0_Given :1;
2194   unsigned HSMHV_pvover_Given :1;
2195 
2196   unsigned  HSMHVvgsMaxGiven  :1;
2197   unsigned  HSMHVvgdMaxGiven  :1;
2198   unsigned  HSMHVvgbMaxGiven  :1;
2199   unsigned  HSMHVvdsMaxGiven  :1;
2200   unsigned  HSMHVvbsMaxGiven  :1;
2201   unsigned  HSMHVvbdMaxGiven  :1;
2202   unsigned  HSMHVvgsrMaxGiven  :1;
2203   unsigned  HSMHVvgdrMaxGiven  :1;
2204   unsigned  HSMHVvgbrMaxGiven  :1;
2205   unsigned  HSMHVvbsrMaxGiven  :1;
2206   unsigned  HSMHVvbdrMaxGiven  :1;
2207 
2208 } HSMHVmodel;
2209 
2210 #ifndef NMOS
2211 #define NMOS 1
2212 #define PMOS -1
2213 #endif /*NMOS*/
2214 
2215 #define HSMHV_BAD_PARAM -1
2216 
2217 /* flags */
2218 #define HSMHV_MOD_NMOS     1
2219 #define HSMHV_MOD_PMOS     2
2220 #define HSMHV_MOD_LEVEL    3
2221 #define HSMHV_MOD_INFO     4
2222 #define HSMHV_MOD_NOISE    5
2223 #define HSMHV_MOD_VERSION  6
2224 #define HSMHV_MOD_SHOW     7
2225 #define HSMHV_MOD_CORSRD  11
2226 #define HSMHV_MOD_COIPRV  12
2227 #define HSMHV_MOD_COPPRV  13
2228 #define HSMHV_MOD_COADOV  17
2229 #define HSMHV_MOD_COISUB  21
2230 #define HSMHV_MOD_COIIGS    22
2231 #define HSMHV_MOD_COGIDL 23
2232 #define HSMHV_MOD_COOVLP  24
2233 #define HSMHV_MOD_COOVLPS  8
2234 #define HSMHV_MOD_COFLICK 25
2235 #define HSMHV_MOD_COISTI  26
2236 #define HSMHV_MOD_CONQS   29
2237 #define HSMHV_MOD_COTHRML 30
2238 #define HSMHV_MOD_COIGN   31    /* Induced gate noise */
2239 #define HSMHV_MOD_CORG    32
2240 #define HSMHV_MOD_CORBNET 33
2241 #define HSMHV_MOD_CODFM   36    /* DFM */
2242 #define HSMHV_MOD_COQOVSM 34
2243 #define HSMHV_MOD_COSELFHEAT 35 /* Self-heating model--SHE-- */
2244 #define HSMHV_MOD_COSUBNODE  48
2245 #define HSMHV_MOD_COSYM   37    /* Symmery model for HV */
2246 #define HSMHV_MOD_COTEMP  38
2247 #define HSMHV_MOD_COLDRIFT 39
2248 /* device parameters */
2249 #define HSMHV_COSELFHEAT  49
2250 #define HSMHV_COSUBNODE   50
2251 #define HSMHV_L           51
2252 #define HSMHV_W           52
2253 #define HSMHV_AD          53
2254 #define HSMHV_AS          54
2255 #define HSMHV_PD          55
2256 #define HSMHV_PS          56
2257 #define HSMHV_NRD         57
2258 #define HSMHV_NRS         58
2259 /* #define HSMHV_TEMP        59	not used */
2260 #define HSMHV_DTEMP       60
2261 #define HSMHV_OFF         61
2262 #define HSMHV_IC_VBS      62
2263 #define HSMHV_IC_VDS      63
2264 #define HSMHV_IC_VGS      64
2265 #define HSMHV_IC          65
2266 #define HSMHV_CORBNET     66
2267 #define HSMHV_RBPB        67
2268 #define HSMHV_RBPD        68
2269 #define HSMHV_RBPS        69
2270 #define HSMHV_RBDB        70
2271 #define HSMHV_RBSB        71
2272 #define HSMHV_CORG        72
2273 /* #define HSMHV_RSHG        73 */
2274 #define HSMHV_NGCON       74
2275 #define HSMHV_XGW         75
2276 #define HSMHV_XGL         76
2277 #define HSMHV_NF          77
2278 #define HSMHV_SA          78
2279 #define HSMHV_SB          79
2280 #define HSMHV_SD          80
2281 #define HSMHV_NSUBCDFM    82
2282 #define HSMHV_M           83
2283 #define HSMHV_SUBLD1      86
2284 #define HSMHV_SUBLD2      87
2285 #define HSMHV_LOVER       41
2286 #define HSMHV_LOVERS      42
2287 #define HSMHV_LOVERLD     43
2288 #define HSMHV_LDRIFT1     88
2289 #define HSMHV_LDRIFT2     89
2290 #define HSMHV_LDRIFT1S    90
2291 #define HSMHV_LDRIFT2S    91
2292 /* #define HSMHV_RTH0        84	not used */
2293 /* #define HSMHV_CTH0        85	not used */
2294 
2295 
2296 
2297 
2298 /* model parameters */
2299 #define HSMHV_MOD_VBSMIN    198
2300 #define HSMHV_MOD_VMAX      500
2301 #define HSMHV_MOD_VMAXT1    503
2302 #define HSMHV_MOD_VMAXT2    504
2303 #define HSMHV_MOD_BGTMP1    101
2304 #define HSMHV_MOD_BGTMP2    102
2305 #define HSMHV_MOD_EG0       103
2306 #define HSMHV_MOD_TOX       104
2307 #define HSMHV_MOD_XLD       105
2308 #define HSMHV_MOD_LOVER     106
2309 #define HSMHV_MOD_LOVERS    385
2310 #define HSMHV_MOD_RDOV11    313
2311 #define HSMHV_MOD_RDOV12    314
2312 #define HSMHV_MOD_RDOV13    476
2313 #define HSMHV_MOD_RDSLP1    315
2314 #define HSMHV_MOD_RDICT1    316
2315 #define HSMHV_MOD_RDSLP2    317
2316 #define HSMHV_MOD_RDICT2    318
2317 #define HSMHV_MOD_LOVERLD   436
2318 #define HSMHV_MOD_LDRIFT1   319
2319 #define HSMHV_MOD_LDRIFT2   320
2320 #define HSMHV_MOD_LDRIFT1S  324
2321 #define HSMHV_MOD_LDRIFT2S  325
2322 #define HSMHV_MOD_SUBLD1    321
2323 #define HSMHV_MOD_SUBLD2    322
2324 #define HSMHV_MOD_DDLTMAX   421 /* Vdseff */
2325 #define HSMHV_MOD_DDLTSLP   422 /* Vdseff */
2326 #define HSMHV_MOD_DDLTICT   423 /* Vdseff */
2327 #define HSMHV_MOD_VFBOVER   428
2328 #define HSMHV_MOD_NOVER     430
2329 #define HSMHV_MOD_NOVERS    431
2330 #define HSMHV_MOD_XWD       107
2331 #define HSMHV_MOD_XWDC      513
2332 #define HSMHV_MOD_XL        112
2333 #define HSMHV_MOD_XW        117
2334 #define HSMHV_MOD_SAREF     433
2335 #define HSMHV_MOD_SBREF     434
2336 #define HSMHV_MOD_LL        108
2337 #define HSMHV_MOD_LLD       109
2338 #define HSMHV_MOD_LLN       110
2339 #define HSMHV_MOD_WL        111
2340 #define HSMHV_MOD_WL1       113
2341 #define HSMHV_MOD_WL1P      114
2342 #define HSMHV_MOD_WL2       407
2343 #define HSMHV_MOD_WL2P      408
2344 #define HSMHV_MOD_WLD       115
2345 #define HSMHV_MOD_WLN       116
2346 
2347 #define HSMHV_MOD_XQY       178
2348 #define HSMHV_MOD_XQY1      118
2349 #define HSMHV_MOD_XQY2      120
2350 #define HSMHV_MOD_RSH       119
2351 
2352 #define HSMHV_MOD_RSHG      384
2353 /* #define HSMHV_MOD_NGCON     385 */
2354 /* #define HSMHV_MOD_XGW       386 */
2355 /* #define HSMHV_MOD_XGL       387 */
2356 /* #define HSMHV_MOD_NF        388 */
2357 #define HSMHV_MOD_RS        398
2358 #define HSMHV_MOD_RD        399
2359 
2360 #define HSMHV_MOD_VFBC      121
2361 #define HSMHV_MOD_VBI       122
2362 #define HSMHV_MOD_NSUBC     123
2363 #define HSMHV_MOD_TNOM      124
2364 #define HSMHV_MOD_PARL2     125
2365 #define HSMHV_MOD_SC1       126
2366 #define HSMHV_MOD_SC2       127
2367 #define HSMHV_MOD_SC3       128
2368 #define HSMHV_MOD_SC4       248
2369 #define HSMHV_MOD_NDEP      129
2370 #define HSMHV_MOD_NDEPL     419
2371 #define HSMHV_MOD_NDEPLP    420
2372 #define HSMHV_MOD_NINV      130
2373 #define HSMHV_MOD_NINVD     505
2374 #define HSMHV_MOD_NINVDW    506
2375 #define HSMHV_MOD_NINVDWP   507
2376 #define HSMHV_MOD_NINVDT1   508
2377 #define HSMHV_MOD_NINVDT2   509
2378 #define HSMHV_MOD_MUECB0    131
2379 #define HSMHV_MOD_MUECB1    132
2380 #define HSMHV_MOD_MUEPH1    133
2381 #define HSMHV_MOD_MUEPH0    134
2382 #define HSMHV_MOD_MUEPHW    135
2383 #define HSMHV_MOD_MUEPWP    136
2384 #define HSMHV_MOD_MUEPHL    137
2385 #define HSMHV_MOD_MUEPLP    138
2386 #define HSMHV_MOD_MUEPHS    139
2387 #define HSMHV_MOD_MUEPSP    140
2388 #define HSMHV_MOD_VTMP      141
2389 #define HSMHV_MOD_WVTH0 	   142
2390 #define HSMHV_MOD_MUESR1    143
2391 #define HSMHV_MOD_MUESR0    144
2392 #define HSMHV_MOD_MUESRL    145
2393 #define HSMHV_MOD_MUESLP    146
2394 #define HSMHV_MOD_MUESRW    147
2395 #define HSMHV_MOD_MUESWP    148
2396 #define HSMHV_MOD_BB        149
2397 
2398 #define HSMHV_MOD_SUB1      151
2399 #define HSMHV_MOD_SUB2      152
2400 #define HSMHV_MOD_CGSO      154
2401 #define HSMHV_MOD_CGDO      155
2402 #define HSMHV_MOD_CGBO      156
2403 #define HSMHV_MOD_JS0       157
2404 #define HSMHV_MOD_JS0SW     158
2405 #define HSMHV_MOD_NJ        159
2406 #define HSMHV_MOD_NJSW      160
2407 #define HSMHV_MOD_XTI       161
2408 #define HSMHV_MOD_CJ        162
2409 #define HSMHV_MOD_CJSW      163
2410 #define HSMHV_MOD_CJSWG     164
2411 #define HSMHV_MOD_MJ        165
2412 #define HSMHV_MOD_MJSW      166
2413 #define HSMHV_MOD_MJSWG     167
2414 #define HSMHV_MOD_XTI2      168
2415 #define HSMHV_MOD_CISB      169
2416 #define HSMHV_MOD_CVB       170
2417 #define HSMHV_MOD_CTEMP     171
2418 #define HSMHV_MOD_CISBK     172
2419 #define HSMHV_MOD_CVBK      173
2420 #define HSMHV_MOD_DIVX      174
2421 #define HSMHV_MOD_PB        175
2422 #define HSMHV_MOD_PBSW      176
2423 #define HSMHV_MOD_PBSWG     177
2424 #define HSMHV_MOD_TPOLY     179
2425 /* #define HSMHV_MOD_TPOLYLD   477	not used */
2426 #define HSMHV_MOD_LP        180
2427 #define HSMHV_MOD_NSUBP     181
2428 #define HSMHV_MOD_NSUBP0    182
2429 #define HSMHV_MOD_NSUBWP    183
2430 #define HSMHV_MOD_SCP1      184
2431 #define HSMHV_MOD_SCP2      185
2432 #define HSMHV_MOD_SCP3      186
2433 #define HSMHV_MOD_PGD1      187
2434 #define HSMHV_MOD_PGD2      188
2435 #define HSMHV_MOD_PGD3      189
2436 #define HSMHV_MOD_PGD4      190
2437 #define HSMHV_MOD_CLM1      191
2438 #define HSMHV_MOD_CLM2      192
2439 #define HSMHV_MOD_CLM3      193
2440 #define HSMHV_MOD_CLM5      402
2441 #define HSMHV_MOD_CLM6      403
2442 #define HSMHV_MOD_MUETMP    195
2443 
2444 #define HSMHV_MOD_VOVER     199
2445 #define HSMHV_MOD_VOVERP    200
2446 #define HSMHV_MOD_WFC       201
2447 #define HSMHV_MOD_NSUBCW    249
2448 #define HSMHV_MOD_NSUBCWP   250
2449 #define HSMHV_MOD_QME1      202
2450 #define HSMHV_MOD_QME2      203
2451 #define HSMHV_MOD_QME3      204
2452 #define HSMHV_MOD_GIDL1     205
2453 #define HSMHV_MOD_GIDL2     206
2454 #define HSMHV_MOD_GIDL3     207
2455 #define HSMHV_MOD_GLEAK1    208
2456 #define HSMHV_MOD_GLEAK2    209
2457 #define HSMHV_MOD_GLEAK3    210
2458 #define HSMHV_MOD_GLEAK4    211
2459 #define HSMHV_MOD_GLEAK5    212
2460 #define HSMHV_MOD_GLEAK6    213
2461 #define HSMHV_MOD_GLEAK7    214
2462 #define HSMHV_MOD_GLPART1   406
2463 #define HSMHV_MOD_GLKSD1    215
2464 #define HSMHV_MOD_GLKSD2    216
2465 #define HSMHV_MOD_GLKSD3    217
2466 #define HSMHV_MOD_GLKB1     218
2467 #define HSMHV_MOD_GLKB2     219
2468 #define HSMHV_MOD_GLKB3     429
2469 #define HSMHV_MOD_EGIG      220
2470 #define HSMHV_MOD_IGTEMP2   221
2471 #define HSMHV_MOD_IGTEMP3   222
2472 #define HSMHV_MOD_VZADD0    223
2473 #define HSMHV_MOD_PZADD0    224
2474 #define HSMHV_MOD_NSTI      225
2475 #define HSMHV_MOD_WSTI      226
2476 #define HSMHV_MOD_WSTIL     227
2477 #define HSMHV_MOD_WSTILP    231
2478 #define HSMHV_MOD_WSTIW     234
2479 #define HSMHV_MOD_WSTIWP    228
2480 #define HSMHV_MOD_SCSTI1    229
2481 #define HSMHV_MOD_SCSTI2    230
2482 #define HSMHV_MOD_VTHSTI    232
2483 #define HSMHV_MOD_VDSTI     233
2484 #define HSMHV_MOD_MUESTI1   235
2485 #define HSMHV_MOD_MUESTI2   236
2486 #define HSMHV_MOD_MUESTI3   237
2487 #define HSMHV_MOD_NSUBPSTI1 238
2488 #define HSMHV_MOD_NSUBPSTI2 239
2489 #define HSMHV_MOD_NSUBPSTI3 240
2490 #define HSMHV_MOD_LPEXT     241
2491 #define HSMHV_MOD_NPEXT     242
2492 #define HSMHV_MOD_SCP22     243
2493 #define HSMHV_MOD_SCP21     244
2494 #define HSMHV_MOD_BS1       245
2495 #define HSMHV_MOD_BS2       246
2496 #define HSMHV_MOD_KAPPA     251
2497 #define HSMHV_MOD_PTHROU    253
2498 #define HSMHV_MOD_VDIFFJ    254
2499 #define HSMHV_MOD_DLY1      255
2500 #define HSMHV_MOD_DLY2      256
2501 #define HSMHV_MOD_DLY3      257
2502 #define HSMHV_MOD_NFTRP     258
2503 #define HSMHV_MOD_NFALP     259
2504 #define HSMHV_MOD_CIT       260
2505 #define HSMHV_MOD_FALPH     263
2506 #define HSMHV_MOD_OVSLP     261
2507 #define HSMHV_MOD_OVMAG     262
2508 #define HSMHV_MOD_GIDL4     281
2509 #define HSMHV_MOD_GIDL5     282
2510 #define HSMHV_MOD_SVGS      283
2511 #define HSMHV_MOD_SVBS      284
2512 #define HSMHV_MOD_SVBSL     285
2513 #define HSMHV_MOD_SVDS      286
2514 #define HSMHV_MOD_SLG       287
2515 #define HSMHV_MOD_SUB1L     290
2516 #define HSMHV_MOD_SUB2L     292
2517 #define HSMHV_MOD_FN1       294
2518 #define HSMHV_MOD_FN2       295
2519 #define HSMHV_MOD_FN3       296
2520 #define HSMHV_MOD_FVBS      297
2521 #define HSMHV_MOD_VOVERS    303
2522 #define HSMHV_MOD_VOVERSP   304
2523 #define HSMHV_MOD_SVGSL     305
2524 #define HSMHV_MOD_SVGSLP    306
2525 #define HSMHV_MOD_SVGSWP    307
2526 #define HSMHV_MOD_SVGSW     308
2527 #define HSMHV_MOD_SVBSLP    309
2528 #define HSMHV_MOD_SLGL      310
2529 #define HSMHV_MOD_SLGLP     311
2530 #define HSMHV_MOD_SUB1LP    312
2531 #define HSMHV_MOD_IBPC1     404
2532 #define HSMHV_MOD_IBPC2     405
2533 #define HSMHV_MOD_MPHDFM    409
2534 #define HSMHV_MOD_RDVG11    424
2535 #define HSMHV_MOD_RDVG12    425
2536 #define HSMHV_MOD_RTH0      432
2537 #define HSMHV_MOD_CTH0      462
2538 #define HSMHV_MOD_POWRAT    463
2539 /* #define HSMHV_MOD_WTH0      463 /\*---------SHE----------*\/ */
2540 #define HSMHV_MOD_DLYOV     437
2541 #define HSMHV_MOD_QDFTVD    438
2542 #define HSMHV_MOD_XLDLD     439
2543 #define HSMHV_MOD_XWDLD     494
2544 #define HSMHV_MOD_RDVD      510
2545 #define HSMHV_MOD_RDVB      301
2546 
2547 #define HSMHV_MOD_RDVSUB    481 /* substrate effect */
2548 #define HSMHV_MOD_RDVDSUB   482 /* substrate effect */
2549 #define HSMHV_MOD_DDRIFT    483 /* substrate effect */
2550 #define HSMHV_MOD_VBISUB    484 /* substrate effect */
2551 #define HSMHV_MOD_NSUBSUB   485 /* substrate effect */
2552 
2553 #define HSMHV_MOD_QOVSM     323
2554 #define HSMHV_MOD_LDRIFT    458
2555 #define HSMHV_MOD_RD20      447
2556 #define HSMHV_MOD_RD21      441
2557 #define HSMHV_MOD_RD22      442
2558 #define HSMHV_MOD_RD22D     478
2559 #define HSMHV_MOD_RD23      443
2560 #define HSMHV_MOD_RD24      444
2561 #define HSMHV_MOD_RD25      445
2562 #define HSMHV_MOD_RD26      446
2563 #define HSMHV_MOD_RDVDL     448
2564 #define HSMHV_MOD_RDVDLP    449
2565 #define HSMHV_MOD_RDVDS     450
2566 #define HSMHV_MOD_RDVDSP    451
2567 #define HSMHV_MOD_RD23L     452
2568 #define HSMHV_MOD_RD23LP    453
2569 #define HSMHV_MOD_RD23S     454
2570 #define HSMHV_MOD_RD23SP    455
2571 #define HSMHV_MOD_RDS       456
2572 #define HSMHV_MOD_RDSP      457
2573 #define HSMHV_MOD_RDTEMP1   461
2574 #define HSMHV_MOD_RDTEMP2   464
2575 #define HSMHV_MOD_RTH0R     470
2576 #define HSMHV_MOD_RDVDTEMP1 471
2577 #define HSMHV_MOD_RDVDTEMP2 472
2578 #define HSMHV_MOD_RTH0W     473
2579 #define HSMHV_MOD_RTH0WP    474
2580 #define HSMHV_MOD_RTH0NF    475
2581 
2582 #define HSMHV_MOD_RTHTEMP1  490
2583 #define HSMHV_MOD_RTHTEMP2  491
2584 #define HSMHV_MOD_PRATTEMP1 492
2585 #define HSMHV_MOD_PRATTEMP2 493
2586 
2587 
2588 #define HSMHV_MOD_CVDSOVER  480
2589 #define HSMHV_MOD_SHEMAX      100
2590 
2591 /* binning parameters */
2592 #define HSMHV_MOD_LMIN       1000
2593 #define HSMHV_MOD_LMAX       1001
2594 #define HSMHV_MOD_WMIN       1002
2595 #define HSMHV_MOD_WMAX       1003
2596 #define HSMHV_MOD_LBINN      1004
2597 #define HSMHV_MOD_WBINN      1005
2598 
2599 /* Length dependence */
2600 #define HSMHV_MOD_LVMAX      1100
2601 #define HSMHV_MOD_LBGTMP1    1101
2602 #define HSMHV_MOD_LBGTMP2    1102
2603 #define HSMHV_MOD_LEG0       1103
2604 #define HSMHV_MOD_LVFBOVER   1428
2605 #define HSMHV_MOD_LNOVER     1430
2606 #define HSMHV_MOD_LNOVERS    1431
2607 #define HSMHV_MOD_LWL2       1407
2608 #define HSMHV_MOD_LVFBC      1121
2609 #define HSMHV_MOD_LNSUBC     1123
2610 #define HSMHV_MOD_LNSUBP     1181
2611 #define HSMHV_MOD_LSCP1      1184
2612 #define HSMHV_MOD_LSCP2      1185
2613 #define HSMHV_MOD_LSCP3      1186
2614 #define HSMHV_MOD_LSC1       1126
2615 #define HSMHV_MOD_LSC2       1127
2616 #define HSMHV_MOD_LSC3       1128
2617 #define HSMHV_MOD_LPGD1      1187
2618 #define HSMHV_MOD_LPGD3      1189
2619 #define HSMHV_MOD_LNDEP      1129
2620 #define HSMHV_MOD_LNINV      1130
2621 #define HSMHV_MOD_LMUECB0    1131
2622 #define HSMHV_MOD_LMUECB1    1132
2623 #define HSMHV_MOD_LMUEPH1    1133
2624 #define HSMHV_MOD_LVTMP      1141
2625 #define HSMHV_MOD_LWVTH0     1142
2626 #define HSMHV_MOD_LMUESR1    1143
2627 #define HSMHV_MOD_LMUETMP    1195
2628 #define HSMHV_MOD_LSUB1      1151
2629 #define HSMHV_MOD_LSUB2      1152
2630 #define HSMHV_MOD_LSVDS      1286
2631 #define HSMHV_MOD_LSVBS      1284
2632 #define HSMHV_MOD_LSVGS      1283
2633 #define HSMHV_MOD_LFN1       1294
2634 #define HSMHV_MOD_LFN2       1295
2635 #define HSMHV_MOD_LFN3       1296
2636 #define HSMHV_MOD_LFVBS      1297
2637 #define HSMHV_MOD_LNSTI      1225
2638 #define HSMHV_MOD_LWSTI      1226
2639 #define HSMHV_MOD_LSCSTI1    1229
2640 #define HSMHV_MOD_LSCSTI2    1230
2641 #define HSMHV_MOD_LVTHSTI    1232
2642 #define HSMHV_MOD_LMUESTI1   1235
2643 #define HSMHV_MOD_LMUESTI2   1236
2644 #define HSMHV_MOD_LMUESTI3   1237
2645 #define HSMHV_MOD_LNSUBPSTI1 1238
2646 #define HSMHV_MOD_LNSUBPSTI2 1239
2647 #define HSMHV_MOD_LNSUBPSTI3 1240
2648 #define HSMHV_MOD_LCGSO      1154
2649 #define HSMHV_MOD_LCGDO      1155
2650 #define HSMHV_MOD_LJS0       1157
2651 #define HSMHV_MOD_LJS0SW     1158
2652 #define HSMHV_MOD_LNJ        1159
2653 #define HSMHV_MOD_LCISBK     1172
2654 #define HSMHV_MOD_LCLM1      1191
2655 #define HSMHV_MOD_LCLM2      1192
2656 #define HSMHV_MOD_LCLM3      1193
2657 #define HSMHV_MOD_LWFC       1201
2658 #define HSMHV_MOD_LGIDL1     1205
2659 #define HSMHV_MOD_LGIDL2     1206
2660 #define HSMHV_MOD_LGLEAK1    1208
2661 #define HSMHV_MOD_LGLEAK2    1209
2662 #define HSMHV_MOD_LGLEAK3    1210
2663 #define HSMHV_MOD_LGLEAK6    1213
2664 #define HSMHV_MOD_LGLKSD1    1215
2665 #define HSMHV_MOD_LGLKSD2    1216
2666 #define HSMHV_MOD_LGLKB1     1218
2667 #define HSMHV_MOD_LGLKB2     1219
2668 #define HSMHV_MOD_LNFTRP     1258
2669 #define HSMHV_MOD_LNFALP     1259
2670 #define HSMHV_MOD_LPTHROU    1253
2671 #define HSMHV_MOD_LVDIFFJ    1254
2672 #define HSMHV_MOD_LIBPC1     1404
2673 #define HSMHV_MOD_LIBPC2     1405
2674 #define HSMHV_MOD_LCGBO      1156
2675 #define HSMHV_MOD_LCVDSOVER  1480
2676 #define HSMHV_MOD_LFALPH     1263
2677 #define HSMHV_MOD_LNPEXT     1242
2678 #define HSMHV_MOD_LPOWRAT    1463
2679 #define HSMHV_MOD_LRD        1399
2680 #define HSMHV_MOD_LRD22      1442
2681 #define HSMHV_MOD_LRD23      1443
2682 #define HSMHV_MOD_LRD24      1444
2683 #define HSMHV_MOD_LRDICT1    1316
2684 #define HSMHV_MOD_LRDOV13    1476
2685 #define HSMHV_MOD_LRDSLP1    1315
2686 #define HSMHV_MOD_LRDVB      1301
2687 #define HSMHV_MOD_LRDVD      1510
2688 #define HSMHV_MOD_LRDVG11    1424
2689 #define HSMHV_MOD_LRS        1398
2690 #define HSMHV_MOD_LRTH0      1432
2691 #define HSMHV_MOD_LVOVER     1199
2692 
2693 /* Width dependence */
2694 #define HSMHV_MOD_WVMAX      2100
2695 #define HSMHV_MOD_WBGTMP1    2101
2696 #define HSMHV_MOD_WBGTMP2    2102
2697 #define HSMHV_MOD_WEG0       2103
2698 #define HSMHV_MOD_WVFBOVER   2428
2699 #define HSMHV_MOD_WNOVER     2430
2700 #define HSMHV_MOD_WNOVERS    2431
2701 #define HSMHV_MOD_WWL2       2407
2702 #define HSMHV_MOD_WVFBC      2121
2703 #define HSMHV_MOD_WNSUBC     2123
2704 #define HSMHV_MOD_WNSUBP     2181
2705 #define HSMHV_MOD_WSCP1      2184
2706 #define HSMHV_MOD_WSCP2      2185
2707 #define HSMHV_MOD_WSCP3      2186
2708 #define HSMHV_MOD_WSC1       2126
2709 #define HSMHV_MOD_WSC2       2127
2710 #define HSMHV_MOD_WSC3       2128
2711 #define HSMHV_MOD_WPGD1      2187
2712 #define HSMHV_MOD_WPGD3      2189
2713 #define HSMHV_MOD_WNDEP      2129
2714 #define HSMHV_MOD_WNINV      2130
2715 #define HSMHV_MOD_WMUECB0    2131
2716 #define HSMHV_MOD_WMUECB1    2132
2717 #define HSMHV_MOD_WMUEPH1    2133
2718 #define HSMHV_MOD_WVTMP      2141
2719 #define HSMHV_MOD_WWVTH0     2142
2720 #define HSMHV_MOD_WMUESR1    2143
2721 #define HSMHV_MOD_WMUETMP    2195
2722 #define HSMHV_MOD_WSUB1      2151
2723 #define HSMHV_MOD_WSUB2      2152
2724 #define HSMHV_MOD_WSVDS      2286
2725 #define HSMHV_MOD_WSVBS      2284
2726 #define HSMHV_MOD_WSVGS      2283
2727 #define HSMHV_MOD_WFN1       2294
2728 #define HSMHV_MOD_WFN2       2295
2729 #define HSMHV_MOD_WFN3       2296
2730 #define HSMHV_MOD_WFVBS      2297
2731 #define HSMHV_MOD_WNSTI      2225
2732 #define HSMHV_MOD_WWSTI      2226
2733 #define HSMHV_MOD_WSCSTI1    2229
2734 #define HSMHV_MOD_WSCSTI2    2230
2735 #define HSMHV_MOD_WVTHSTI    2232
2736 #define HSMHV_MOD_WMUESTI1   2235
2737 #define HSMHV_MOD_WMUESTI2   2236
2738 #define HSMHV_MOD_WMUESTI3   2237
2739 #define HSMHV_MOD_WNSUBPSTI1 2238
2740 #define HSMHV_MOD_WNSUBPSTI2 2239
2741 #define HSMHV_MOD_WNSUBPSTI3 2240
2742 #define HSMHV_MOD_WCGSO      2154
2743 #define HSMHV_MOD_WCGDO      2155
2744 #define HSMHV_MOD_WJS0       2157
2745 #define HSMHV_MOD_WJS0SW     2158
2746 #define HSMHV_MOD_WNJ        2159
2747 #define HSMHV_MOD_WCISBK     2172
2748 #define HSMHV_MOD_WCLM1      2191
2749 #define HSMHV_MOD_WCLM2      2192
2750 #define HSMHV_MOD_WCLM3      2193
2751 #define HSMHV_MOD_WWFC       2201
2752 #define HSMHV_MOD_WGIDL1     2205
2753 #define HSMHV_MOD_WGIDL2     2206
2754 #define HSMHV_MOD_WGLEAK1    2208
2755 #define HSMHV_MOD_WGLEAK2    2209
2756 #define HSMHV_MOD_WGLEAK3    2210
2757 #define HSMHV_MOD_WGLEAK6    2213
2758 #define HSMHV_MOD_WGLKSD1    2215
2759 #define HSMHV_MOD_WGLKSD2    2216
2760 #define HSMHV_MOD_WGLKB1     2218
2761 #define HSMHV_MOD_WGLKB2     2219
2762 #define HSMHV_MOD_WNFTRP     2258
2763 #define HSMHV_MOD_WNFALP     2259
2764 #define HSMHV_MOD_WPTHROU    2253
2765 #define HSMHV_MOD_WVDIFFJ    2254
2766 #define HSMHV_MOD_WIBPC1     2404
2767 #define HSMHV_MOD_WIBPC2     2405
2768 #define HSMHV_MOD_WCGBO      2156
2769 #define HSMHV_MOD_WCVDSOVER  2480
2770 #define HSMHV_MOD_WFALPH     2263
2771 #define HSMHV_MOD_WNPEXT     2242
2772 #define HSMHV_MOD_WPOWRAT    2463
2773 #define HSMHV_MOD_WRD        2399
2774 #define HSMHV_MOD_WRD22      2442
2775 #define HSMHV_MOD_WRD23      2443
2776 #define HSMHV_MOD_WRD24      2444
2777 #define HSMHV_MOD_WRDICT1    2316
2778 #define HSMHV_MOD_WRDOV13    2476
2779 #define HSMHV_MOD_WRDSLP1    2315
2780 #define HSMHV_MOD_WRDVB      2301
2781 #define HSMHV_MOD_WRDVD      2510
2782 #define HSMHV_MOD_WRDVG11    2424
2783 #define HSMHV_MOD_WRS        2398
2784 #define HSMHV_MOD_WRTH0      2432
2785 #define HSMHV_MOD_WVOVER     2199
2786 
2787 /* Cross-term dependence */
2788 #define HSMHV_MOD_PVMAX      3100
2789 #define HSMHV_MOD_PBGTMP1    3101
2790 #define HSMHV_MOD_PBGTMP2    3102
2791 #define HSMHV_MOD_PEG0       3103
2792 #define HSMHV_MOD_PVFBOVER   3428
2793 #define HSMHV_MOD_PNOVER     3430
2794 #define HSMHV_MOD_PNOVERS    3431
2795 #define HSMHV_MOD_PWL2       3407
2796 #define HSMHV_MOD_PVFBC      3121
2797 #define HSMHV_MOD_PNSUBC     3123
2798 #define HSMHV_MOD_PNSUBP     3181
2799 #define HSMHV_MOD_PSCP1      3184
2800 #define HSMHV_MOD_PSCP2      3185
2801 #define HSMHV_MOD_PSCP3      3186
2802 #define HSMHV_MOD_PSC1       3126
2803 #define HSMHV_MOD_PSC2       3127
2804 #define HSMHV_MOD_PSC3       3128
2805 #define HSMHV_MOD_PPGD1      3187
2806 #define HSMHV_MOD_PPGD3      3189
2807 #define HSMHV_MOD_PNDEP      3129
2808 #define HSMHV_MOD_PNINV      3130
2809 #define HSMHV_MOD_PMUECB0    3131
2810 #define HSMHV_MOD_PMUECB1    3132
2811 #define HSMHV_MOD_PMUEPH1    3133
2812 #define HSMHV_MOD_PVTMP      3141
2813 #define HSMHV_MOD_PWVTH0     3142
2814 #define HSMHV_MOD_PMUESR1    3143
2815 #define HSMHV_MOD_PMUETMP    3195
2816 #define HSMHV_MOD_PSUB1      3151
2817 #define HSMHV_MOD_PSUB2      3152
2818 #define HSMHV_MOD_PSVDS      3286
2819 #define HSMHV_MOD_PSVBS      3284
2820 #define HSMHV_MOD_PSVGS      3283
2821 #define HSMHV_MOD_PFN1       3294
2822 #define HSMHV_MOD_PFN2       3295
2823 #define HSMHV_MOD_PFN3       3296
2824 #define HSMHV_MOD_PFVBS      3297
2825 #define HSMHV_MOD_PNSTI      3225
2826 #define HSMHV_MOD_PWSTI      3226
2827 #define HSMHV_MOD_PSCSTI1    3229
2828 #define HSMHV_MOD_PSCSTI2    3230
2829 #define HSMHV_MOD_PVTHSTI    3232
2830 #define HSMHV_MOD_PMUESTI1   3235
2831 #define HSMHV_MOD_PMUESTI2   3236
2832 #define HSMHV_MOD_PMUESTI3   3237
2833 #define HSMHV_MOD_PNSUBPSTI1 3238
2834 #define HSMHV_MOD_PNSUBPSTI2 3239
2835 #define HSMHV_MOD_PNSUBPSTI3 3240
2836 #define HSMHV_MOD_PCGSO      3154
2837 #define HSMHV_MOD_PCGDO      3155
2838 #define HSMHV_MOD_PJS0       3157
2839 #define HSMHV_MOD_PJS0SW     3158
2840 #define HSMHV_MOD_PNJ        3159
2841 #define HSMHV_MOD_PCISBK     3172
2842 #define HSMHV_MOD_PCLM1      3191
2843 #define HSMHV_MOD_PCLM2      3192
2844 #define HSMHV_MOD_PCLM3      3193
2845 #define HSMHV_MOD_PWFC       3201
2846 #define HSMHV_MOD_PGIDL1     3205
2847 #define HSMHV_MOD_PGIDL2     3206
2848 #define HSMHV_MOD_PGLEAK1    3208
2849 #define HSMHV_MOD_PGLEAK2    3209
2850 #define HSMHV_MOD_PGLEAK3    3210
2851 #define HSMHV_MOD_PGLEAK6    3213
2852 #define HSMHV_MOD_PGLKSD1    3215
2853 #define HSMHV_MOD_PGLKSD2    3216
2854 #define HSMHV_MOD_PGLKB1     3218
2855 #define HSMHV_MOD_PGLKB2     3219
2856 #define HSMHV_MOD_PNFTRP     3258
2857 #define HSMHV_MOD_PNFALP     3259
2858 #define HSMHV_MOD_PPTHROU    3253
2859 #define HSMHV_MOD_PVDIFFJ    3254
2860 #define HSMHV_MOD_PIBPC1     3404
2861 #define HSMHV_MOD_PIBPC2     3405
2862 #define HSMHV_MOD_PCGBO      3156
2863 #define HSMHV_MOD_PCVDSOVER  3480
2864 #define HSMHV_MOD_PFALPH     3263
2865 #define HSMHV_MOD_PNPEXT     3242
2866 #define HSMHV_MOD_PPOWRAT    3463
2867 #define HSMHV_MOD_PRD        3399
2868 #define HSMHV_MOD_PRD22      3442
2869 #define HSMHV_MOD_PRD23      3443
2870 #define HSMHV_MOD_PRD24      3444
2871 #define HSMHV_MOD_PRDICT1    3316
2872 #define HSMHV_MOD_PRDOV13    3476
2873 #define HSMHV_MOD_PRDSLP1    3315
2874 #define HSMHV_MOD_PRDVB      3301
2875 #define HSMHV_MOD_PRDVD      3510
2876 #define HSMHV_MOD_PRDVG11    3424
2877 #define HSMHV_MOD_PRS        3398
2878 #define HSMHV_MOD_PRTH0      3432
2879 #define HSMHV_MOD_PVOVER     3199
2880 
2881 /* device requests */
2882 #define HSMHV_DNODE          341
2883 #define HSMHV_GNODE          342
2884 #define HSMHV_SNODE          343
2885 #define HSMHV_BNODE          344
2886 /* #define HSMHV_TEMPNODE       345	not used */
2887 #define HSMHV_DNODEPRIME     346
2888 #define HSMHV_SNODEPRIME     347
2889 /* #define HSMHV_BNODEPRIME     395	not used */
2890 /* #define HSMHV_DBNODE         396	not used */
2891 /* #define HSMHV_SBNODE         397	not used */
2892 /* #define HSMHV_VBD            347 */
2893 #define HSMHV_VBD            466
2894 #define HSMHV_VBS            348
2895 #define HSMHV_VGS            349
2896 #define HSMHV_VDS            350
2897 #define HSMHV_CD             351
2898 #define HSMHV_CBS            352
2899 #define HSMHV_CBD            353
2900 #define HSMHV_GM             354
2901 #define HSMHV_GDS            355
2902 #define HSMHV_GMBS           356
2903 #define HSMHV_GMT            465
2904 /* #define HSMHV_ISUBT          466 */
2905 #define HSMHV_GBD            357
2906 #define HSMHV_GBS            358
2907 #define HSMHV_QB             359
2908 #define HSMHV_CQB            360
2909 /* #define HSMHV_QTH            467	not used */
2910 /* #define HSMHV_CQTH           468	not used */
2911 /* #define HSMHV_CTH            469	not used */
2912 #define HSMHV_QG             361
2913 #define HSMHV_CQG            362
2914 #define HSMHV_QD             363
2915 #define HSMHV_CQD            364
2916 #define HSMHV_CGG            365
2917 #define HSMHV_CGD            366
2918 #define HSMHV_CGS            367
2919 #define HSMHV_CBG            368
2920 #define HSMHV_CAPBD          369
2921 /* #define HSMHV_CQBD           370	not used */
2922 #define HSMHV_CAPBS          371
2923 /* #define HSMHV_CQBS           372	not used */
2924 #define HSMHV_CDG            373
2925 #define HSMHV_CDD            374
2926 #define HSMHV_CDS            375
2927 #define HSMHV_VON            376
2928 #define HSMHV_VDSAT          377
2929 #define HSMHV_QBS            378
2930 #define HSMHV_QBD            379
2931 #define HSMHV_SOURCECONDUCT  380
2932 #define HSMHV_DRAINCONDUCT   381
2933 #define HSMHV_CBDB           382
2934 #define HSMHV_CBSB           383
2935 #define HSMHV_MOD_RBPB       389
2936 #define HSMHV_MOD_RBPD       390
2937 #define HSMHV_MOD_RBPS       391
2938 #define HSMHV_MOD_RBDB       392
2939 #define HSMHV_MOD_RBSB       393
2940 #define HSMHV_MOD_GBMIN      394
2941 
2942 #define HSMHV_ISUB           410
2943 #define HSMHV_IGIDL          411
2944 #define HSMHV_IGISL          412
2945 #define HSMHV_IGD            413
2946 #define HSMHV_IGS            414
2947 #define HSMHV_IGB            415
2948 #define HSMHV_CGSO           416
2949 #define HSMHV_CGBO           417
2950 #define HSMHV_CGDO           418
2951 
2952 #define HSMHV_MOD_TCJBD         92
2953 #define HSMHV_MOD_TCJBS         93
2954 #define HSMHV_MOD_TCJBDSW       94
2955 #define HSMHV_MOD_TCJBSSW       95
2956 #define HSMHV_MOD_TCJBDSWG      96
2957 #define HSMHV_MOD_TCJBSSWG      97
2958 
2959 #define HSMHV_MOD_VGS_MAX          4001
2960 #define HSMHV_MOD_VGD_MAX          4002
2961 #define HSMHV_MOD_VGB_MAX          4003
2962 #define HSMHV_MOD_VDS_MAX          4004
2963 #define HSMHV_MOD_VBS_MAX          4005
2964 #define HSMHV_MOD_VBD_MAX          4006
2965 #define HSMHV_MOD_VGSR_MAX         4007
2966 #define HSMHV_MOD_VGDR_MAX         4008
2967 #define HSMHV_MOD_VGBR_MAX         4009
2968 #define HSMHV_MOD_VBSR_MAX         4010
2969 #define HSMHV_MOD_VBDR_MAX         4011
2970 
2971 #include "hsmhvext.h"
2972 
2973 /* Prototype has to be adapted!
2974 extern void HSMHVevaluate(double,double,double,HSMHVinstance*,HSMHVmodel*,
2975         double*,double*,double*, double*, double*, double*, double*,
2976         double*, double*, double*, double*, double*, double*, double*,
2977         double*, double*, double*, double*, CKTcircuit*);
2978 */
2979 
2980 #endif /*HSMHV*/
2981 
2982