execute defines2enum.el

This commit is contained in:
rlar 2018-04-30 18:28:27 +02:00
parent 308daaf6f1
commit a48f7055bb
61 changed files with 2845 additions and 2554 deletions

View File

@ -25,15 +25,19 @@ typedef struct {
/* available step types: XXX should be somewhere else */ /* available step types: XXX should be somewhere else */
#define DECADE 1 enum {
#define OCTAVE 2 DECADE = 1,
#define LINEAR 3 OCTAVE,
LINEAR,
};
#define AC_DEC 1 enum {
#define AC_OCT 2 AC_DEC = 1,
#define AC_LIN 3 AC_OCT,
#define AC_START 4 AC_LIN,
#define AC_STOP 5 AC_START,
#define AC_STEPS 6 AC_STOP,
AC_STEPS,
};
#endif #endif

View File

@ -46,19 +46,21 @@ typedef struct sBDRYcard {
} BDRYcard; } BDRYcard;
/* BDRY parameters */ /* BDRY parameters */
#define BDRY_X_LOW 1 enum {
#define BDRY_X_HIGH 2 BDRY_X_LOW = 1,
#define BDRY_Y_LOW 3 BDRY_X_HIGH,
#define BDRY_Y_HIGH 4 BDRY_Y_LOW,
#define BDRY_IX_LOW 5 BDRY_Y_HIGH,
#define BDRY_IX_HIGH 6 BDRY_IX_LOW,
#define BDRY_IY_LOW 7 BDRY_IX_HIGH,
#define BDRY_IY_HIGH 8 BDRY_IY_LOW,
#define BDRY_DOMAIN 9 BDRY_IY_HIGH,
#define BDRY_NEIGHBOR 10 BDRY_DOMAIN,
#define BDRY_QF 11 BDRY_NEIGHBOR,
#define BDRY_SN 12 BDRY_QF,
#define BDRY_SP 13 BDRY_SN,
#define BDRY_LAYER 14 BDRY_SP,
BDRY_LAYER,
};
#endif #endif

View File

@ -53,10 +53,11 @@ struct CKTnode {
}; };
/* defines for node parameters */ /* defines for node parameters */
#define PARM_NS 1 enum {
#define PARM_IC 2 PARM_NS = 1,
#define PARM_NODETYPE 3 PARM_IC,
PARM_NODETYPE,
};
struct CKTcircuit { struct CKTcircuit {

View File

@ -23,11 +23,13 @@ typedef struct sCONTcard {
} CONTcard; } CONTcard;
/* CONT parameters */ /* CONT parameters */
#define CONT_NEUTRAL 1 enum {
#define CONT_ALUMINUM 2 CONT_NEUTRAL = 1,
#define CONT_P_POLY 3 CONT_ALUMINUM,
#define CONT_N_POLY 4 CONT_P_POLY,
#define CONT_WORKFUN 5 CONT_N_POLY,
#define CONT_NUMBER 6 CONT_WORKFUN,
CONT_NUMBER,
};
#endif #endif

View File

@ -67,11 +67,15 @@ struct histent {
/* The values returned by cp_usrset(). */ /* The values returned by cp_usrset(). */
#define US_OK 1 /* Either not relevant or nothing special. */ enum {
#define US_READONLY 2 /* Complain and don't set this var. */ US_OK = 1,
#define US_DONTRECORD 3 /* Ok, but don't keep track of this one. */ US_READONLY,
#define US_SIMVAR 4 /* OK, recorded in options struct */ US_DONTRECORD,
#define US_NOSIMVAR 5 /* Not OK, simulation param but circuit not loaded */ US_SIMVAR,
US_NOSIMVAR,
};
/* Not OK, simulation param but circuit not loaded */
/* Aliases. These will be expanded if the word is the first in an input /* Aliases. These will be expanded if the word is the first in an input
* line. The substitution string may contain arg selectors. * line. The substitution string may contain arg selectors.

View File

@ -37,16 +37,17 @@ typedef struct sDOMNcard {
} DOMNcard; } DOMNcard;
/* DOMN parameters */ /* DOMN parameters */
#define DOMN_X_LOW 1 enum {
#define DOMN_X_HIGH 2 DOMN_X_LOW = 1,
#define DOMN_Y_LOW 3 DOMN_X_HIGH,
#define DOMN_Y_HIGH 4 DOMN_Y_LOW,
#define DOMN_IX_LOW 5 DOMN_Y_HIGH,
#define DOMN_IX_HIGH 6 DOMN_IX_LOW,
#define DOMN_IY_LOW 7 DOMN_IX_HIGH,
#define DOMN_IY_HIGH 8 DOMN_IY_LOW,
#define DOMN_NUMBER 9 DOMN_IY_HIGH,
#define DOMN_MATERIAL 10 DOMN_NUMBER,
DOMN_MATERIAL,
};
#endif #endif

View File

@ -48,37 +48,39 @@ typedef struct sDOPcard {
} DOPcard; } DOPcard;
/* DOP parameters */ /* DOP parameters */
#define DOP_UNIF 1 enum {
#define DOP_LINEAR 2 DOP_UNIF = 1,
#define DOP_GAUSS 3 DOP_LINEAR,
#define DOP_ERFC 4 DOP_GAUSS,
#define DOP_EXP 5 DOP_ERFC,
#define DOP_SUPREM3 6 DOP_EXP,
#define DOP_ASCII 7 DOP_SUPREM3,
#define DOP_SUPASCII 8 DOP_ASCII,
#define DOP_INFILE 9 DOP_SUPASCII,
#define DOP_BORON 10 DOP_INFILE,
#define DOP_PHOSP 11 DOP_BORON,
#define DOP_ARSEN 12 DOP_PHOSP,
#define DOP_ANTIM 13 DOP_ARSEN,
#define DOP_P_TYPE 14 DOP_ANTIM,
#define DOP_N_TYPE 15 DOP_P_TYPE,
#define DOP_X_AXIS 16 DOP_N_TYPE,
#define DOP_Y_AXIS 17 DOP_X_AXIS,
#define DOP_X_LOW 18 DOP_Y_AXIS,
#define DOP_X_HIGH 19 DOP_X_LOW,
#define DOP_Y_LOW 20 DOP_X_HIGH,
#define DOP_Y_HIGH 21 DOP_Y_LOW,
#define DOP_CONC 22 DOP_Y_HIGH,
#define DOP_LOCATION 23 DOP_CONC,
#define DOP_CHAR_LEN 24 DOP_LOCATION,
#define DOP_RATIO_LAT 25 DOP_CHAR_LEN,
#define DOP_ROTATE_LAT 26 DOP_RATIO_LAT,
#define DOP_UNIF_LAT 27 DOP_ROTATE_LAT,
#define DOP_LINEAR_LAT 28 DOP_UNIF_LAT,
#define DOP_GAUSS_LAT 29 DOP_LINEAR_LAT,
#define DOP_ERFC_LAT 30 DOP_GAUSS_LAT,
#define DOP_EXP_LAT 31 DOP_ERFC_LAT,
#define DOP_DOMAIN 32 DOP_EXP_LAT,
DOP_DOMAIN,
};
#endif #endif

View File

@ -35,14 +35,16 @@ typedef struct sELCTcard {
} ELCTcard; } ELCTcard;
/* ELCT parameters */ /* ELCT parameters */
#define ELCT_X_LOW 1 enum {
#define ELCT_X_HIGH 2 ELCT_X_LOW = 1,
#define ELCT_Y_LOW 3 ELCT_X_HIGH,
#define ELCT_Y_HIGH 4 ELCT_Y_LOW,
#define ELCT_IX_LOW 5 ELCT_Y_HIGH,
#define ELCT_IX_HIGH 6 ELCT_IX_LOW,
#define ELCT_IY_LOW 7 ELCT_IX_HIGH,
#define ELCT_IY_HIGH 8 ELCT_IY_LOW,
#define ELCT_NUMBER 9 ELCT_IY_HIGH,
ELCT_NUMBER,
};
#endif #endif

View File

@ -18,8 +18,10 @@ typedef struct sFTESTATistics {
} FTESTATistics; } FTESTATistics;
#define FTEOPT_NLDECK 1 enum {
#define FTEOPT_NLT 2 FTEOPT_NLDECK = 1,
#define FTEOPT_NPT 3 FTEOPT_NLT,
FTEOPT_NPT,
};
#endif #endif

View File

@ -96,9 +96,11 @@ typedef struct handle {
#define MAX_LINES 25 #define MAX_LINES 25
#define SCROLL_INCR 25 #define SCROLL_INCR 25
#define BS_LEFT 0 enum {
#define BS_CENTER 1 BS_LEFT = 0,
#define BS_UNIF 2 BS_CENTER,
BS_UNIF,
};
/* External symbols. */ /* External symbols. */

View File

@ -16,9 +16,11 @@ struct JOB {
IFuid JOBname; /* name of this job */ IFuid JOBname; /* name of this job */
}; };
#define NODOMAIN 0 enum {
#define TIMEDOMAIN 1 NODOMAIN = 0,
#define FREQUENCYDOMAIN 2 TIMEDOMAIN,
#define SWEEPDOMAIN 3 FREQUENCYDOMAIN,
SWEEPDOMAIN,
};
#endif #endif

View File

@ -60,34 +60,36 @@ typedef struct sMATLcard {
} MATLcard; } MATLcard;
/* MATL parameters */ /* MATL parameters */
#define MATL_NC0 1 enum {
#define MATL_NV0 2 MATL_NC0 = 1,
#define MATL_EG0 3 MATL_NV0,
#define MATL_DEGDT 4 MATL_EG0,
#define MATL_TREF_EG 5 MATL_DEGDT,
#define MATL_DEGDN 6 MATL_TREF_EG,
#define MATL_NREF_EG 7 MATL_DEGDN,
#define MATL_DEGDP 8 MATL_NREF_EG,
#define MATL_PREF_EG 9 MATL_DEGDP,
#define MATL_AFFIN 10 MATL_PREF_EG,
#define MATL_PERMIT 11 MATL_AFFIN,
#define MATL_TAUN0 12 MATL_PERMIT,
#define MATL_TAUP0 13 MATL_TAUN0,
#define MATL_NSRHN 14 MATL_TAUP0,
#define MATL_NSRHP 15 MATL_NSRHN,
#define MATL_CNAUG 16 MATL_NSRHP,
#define MATL_CPAUG 17 MATL_CNAUG,
#define MATL_ARICHN 18 MATL_CPAUG,
#define MATL_ARICHP 19 MATL_ARICHN,
#define MATL_INSULATOR 20 MATL_ARICHP,
#define MATL_OXIDE 21 MATL_INSULATOR,
#define MATL_NITRIDE 22 MATL_OXIDE,
#define MATL_SEMICON 23 MATL_NITRIDE,
#define MATL_SILICON 24 MATL_SEMICON,
#define MATL_POLYSIL 25 MATL_SILICON,
#define MATL_GAAS 26 MATL_POLYSIL,
#define MATL_NUMBER 27 MATL_GAAS,
#define MATL_DEGDC 28 MATL_NUMBER,
#define MATL_CREF_EG 29 MATL_DEGDC,
MATL_CREF_EG,
};
#endif #endif

View File

@ -33,12 +33,14 @@ typedef struct sMESHcard {
} MESHcard; } MESHcard;
/* MESH parameters */ /* MESH parameters */
#define MESH_NUMBER 1 enum {
#define MESH_LOCATION 2 MESH_NUMBER = 1,
#define MESH_WIDTH 3 MESH_LOCATION,
#define MESH_H_START 4 MESH_WIDTH,
#define MESH_H_END 5 MESH_H_START,
#define MESH_H_MAX 6 MESH_H_END,
#define MESH_RATIO 7 MESH_H_MAX,
MESH_RATIO,
};
#endif #endif

View File

@ -33,13 +33,15 @@ typedef struct sMETHcard {
} METHcard; } METHcard;
/* METH parameters */ /* METH parameters */
#define METH_DABSTOL 1 enum {
#define METH_DRELTOL 2 METH_DABSTOL = 1,
#define METH_OMEGA 3 METH_DRELTOL,
#define METH_ONEC 4 METH_OMEGA,
#define METH_ACANAL 5 METH_ONEC,
#define METH_NOMOBDERIV 6 METH_ACANAL,
#define METH_ITLIM 7 METH_NOMOBDERIV,
#define METH_VOLTPRED 8 METH_ITLIM,
METH_VOLTPRED,
};
#endif #endif

View File

@ -47,22 +47,24 @@ typedef struct sMOBcard {
} MOBcard; } MOBcard;
/* MOB parameters */ /* MOB parameters */
#define MOB_ELEC 1 enum {
#define MOB_HOLE 2 MOB_ELEC = 1,
#define MOB_MAJOR 3 MOB_HOLE,
#define MOB_MINOR 4 MOB_MAJOR,
#define MOB_MUMAX 5 MOB_MINOR,
#define MOB_MUMIN 6 MOB_MUMAX,
#define MOB_NTREF 7 MOB_MUMIN,
#define MOB_NTEXP 8 MOB_NTREF,
#define MOB_VSAT 9 MOB_NTEXP,
#define MOB_VWARM 10 MOB_VSAT,
#define MOB_MUS 11 MOB_VWARM,
#define MOB_EC_A 12 MOB_MUS,
#define MOB_EC_B 13 MOB_EC_A,
#define MOB_CONC_MOD 14 MOB_EC_B,
#define MOB_FIELD_MOD 15 MOB_CONC_MOD,
#define MOB_MATERIAL 16 MOB_FIELD_MOD,
#define MOB_INIT 17 MOB_MATERIAL,
MOB_INIT,
};
#endif #endif

View File

@ -39,16 +39,18 @@ typedef struct sMODLcard {
} MODLcard; } MODLcard;
/* MODL parameters */ /* MODL parameters */
#define MODL_BGNW 1 enum {
#define MODL_TEMPMOB 2 MODL_BGNW = 1,
#define MODL_CONCMOB 3 MODL_TEMPMOB,
#define MODL_FIELDMOB 4 MODL_CONCMOB,
#define MODL_TRANSMOB 5 MODL_FIELDMOB,
#define MODL_SURFMOB 6 MODL_TRANSMOB,
#define MODL_MATCHMOB 7 MODL_SURFMOB,
#define MODL_SRH 8 MODL_MATCHMOB,
#define MODL_CONCTAU 9 MODL_SRH,
#define MODL_AUGER 10 MODL_CONCTAU,
#define MODL_AVAL 11 MODL_AUGER,
MODL_AVAL,
};
#endif #endif

View File

@ -48,93 +48,94 @@ typedef struct {
STATdevList *STATdevNum; /* PN: Number of instances and models for each device */ STATdevList *STATdevNum; /* PN: Number of instances and models for each device */
} STATistics; } STATistics;
#define OPT_GMIN 1 enum {
#define OPT_RELTOL 2 OPT_GMIN = 1,
#define OPT_ABSTOL 3 OPT_RELTOL,
#define OPT_VNTOL 4 OPT_ABSTOL,
#define OPT_TRTOL 5 OPT_VNTOL,
#define OPT_CHGTOL 6 OPT_TRTOL,
#define OPT_PIVTOL 7 OPT_CHGTOL,
#define OPT_PIVREL 8 OPT_PIVTOL,
#define OPT_TNOM 9 OPT_PIVREL,
#define OPT_ITL1 10 OPT_TNOM,
#define OPT_ITL2 11 OPT_ITL1,
#define OPT_ITL3 12 OPT_ITL2,
#define OPT_ITL4 13 OPT_ITL3,
#define OPT_ITL5 14 OPT_ITL4,
#define OPT_DEFL 15 OPT_ITL5,
#define OPT_DEFW 16 OPT_DEFL,
#define OPT_DEFAD 17 OPT_DEFW,
#define OPT_DEFAS 18 OPT_DEFAD,
#define OPT_BYPASS 19 OPT_DEFAS,
#define OPT_MAXORD 20 OPT_BYPASS,
OPT_MAXORD,
#define OPT_ITERS 21 OPT_ITERS,
#define OPT_TRANIT 22 OPT_TRANIT,
#define OPT_TRANPTS 23 OPT_TRANPTS,
#define OPT_TRANACCPT 24 OPT_TRANACCPT,
#define OPT_TRANRJCT 25 OPT_TRANRJCT,
#define OPT_TOTANALTIME 26 OPT_TOTANALTIME,
#define OPT_TRANTIME 27 OPT_TRANTIME,
#define OPT_LOADTIME 28 OPT_LOADTIME,
#define OPT_DECOMP 29 OPT_DECOMP,
#define OPT_SOLVE 30 OPT_SOLVE,
#define OPT_TRANDECOMP 31 OPT_TRANDECOMP,
#define OPT_TRANSOLVE 32 OPT_TRANSOLVE,
#define OPT_TEMP 33 OPT_TEMP,
#define OPT_OLDLIMIT 34 OPT_OLDLIMIT,
#define OPT_TRANCURITER 35 OPT_TRANCURITER,
#define OPT_SRCSTEPS 36 OPT_SRCSTEPS,
#define OPT_GMINSTEPS 37 OPT_GMINSTEPS,
#define OPT_MINBREAK 38 OPT_MINBREAK,
#define OPT_NOOPITER 39 OPT_NOOPITER,
#define OPT_EQNS 40 OPT_EQNS,
#define OPT_REORDTIME 41 OPT_REORDTIME,
#define OPT_METHOD 42 OPT_METHOD,
#define OPT_TRYTOCOMPACT 43 OPT_TRYTOCOMPACT,
#define OPT_BADMOS3 44 OPT_BADMOS3,
#define OPT_KEEPOPINFO 45 OPT_KEEPOPINFO,
#define OPT_TRANLOAD 46 OPT_TRANLOAD,
#define OPT_TRANTRUNC 47 OPT_TRANTRUNC,
#define OPT_ACTIME 48 OPT_ACTIME,
#define OPT_ACLOAD 49 OPT_ACLOAD,
#define OPT_ACDECOMP 50 OPT_ACDECOMP,
#define OPT_ACSOLVE 51 OPT_ACSOLVE,
#define OPT_ORIGNZ 52 OPT_ORIGNZ,
#define OPT_FILLNZ 53 OPT_FILLNZ,
#define OPT_TOTALNZ 54 OPT_TOTALNZ,
#define OPT_SYNCTIME 58 };
#define OPT_TRANSYNC 59
#define OPT_ACSYNC 60
/* AlansFixes: It is not possible to use the same numbers of the
original Alan code. The following options are all AlansFixes */
#define OPT_GSHUNT 61 /* Original: 48 */
#define OPT_DEFM 62 /* Original: 46 */
#define OPT_GMINFACT 63 /* Original: 47 */
#define OPT_COPYNODESETS 64 /* Original: 49 (NodesetFix) */
#define OPT_NODEDAMPING 65 /* Original: 50 (Node_Damping) */
#define OPT_ABSDV 66 /* Original: 51 (Node_Damping) */
#define OPT_RELDV 67 /* Original: 52 (Node_Damping) */
#define OPT_NOOPAC 68
#define OPT_XMU 69
#define OPT_INDVERBOSITY 70
#define OPT_EPSMIN 71
enum {
OPT_SYNCTIME = 58,
OPT_TRANSYNC,
OPT_ACSYNC,
OPT_GSHUNT,
OPT_DEFM,
OPT_GMINFACT,
OPT_COPYNODESETS,
OPT_NODEDAMPING,
OPT_ABSDV,
OPT_RELDV,
OPT_NOOPAC,
OPT_XMU,
OPT_INDVERBOSITY,
OPT_EPSMIN,
};
#ifdef XSPICE #ifdef XSPICE
/* gtri - begin - wbk - add new options */ /* gtri - begin - wbk - add new options */
#define OPT_ENH_NOOPALTER 100 enum {
#define OPT_ENH_RAMPTIME 101 OPT_ENH_NOOPALTER = 100,
#define OPT_EVT_MAX_EVT_PASSES 102 OPT_ENH_RAMPTIME,
#define OPT_EVT_MAX_OP_ALTER 103 OPT_EVT_MAX_EVT_PASSES,
#define OPT_ENH_CONV_LIMIT 104 OPT_EVT_MAX_OP_ALTER,
#define OPT_ENH_CONV_ABS_STEP 105 OPT_ENH_CONV_LIMIT,
#define OPT_ENH_CONV_STEP 106 OPT_ENH_CONV_ABS_STEP,
#define OPT_MIF_AUTO_PARTIAL 107 OPT_ENH_CONV_STEP,
#define OPT_ENH_RSHUNT 108 OPT_MIF_AUTO_PARTIAL,
OPT_ENH_RSHUNT,
};
/* gtri - end - wbk - add new options */ /* gtri - end - wbk - add new options */
#endif #endif

View File

@ -37,24 +37,26 @@ typedef struct sOPTNcard {
} OPTNcard; } OPTNcard;
/* OPTN parameters */ /* OPTN parameters */
#define OPTN_RESISTOR 1 enum {
#define OPTN_CAPACITOR 2 OPTN_RESISTOR = 1,
#define OPTN_DIODE 3 OPTN_CAPACITOR,
#define OPTN_BIPOLAR 4 OPTN_DIODE,
#define OPTN_SOIBJT 5 OPTN_BIPOLAR,
#define OPTN_MOSCAP 6 OPTN_SOIBJT,
#define OPTN_MOSFET 7 OPTN_MOSCAP,
#define OPTN_SOIMOS 8 OPTN_MOSFET,
#define OPTN_JFET 9 OPTN_SOIMOS,
#define OPTN_MESFET 10 OPTN_JFET,
#define OPTN_DEFA 11 OPTN_MESFET,
#define OPTN_DEFW 12 OPTN_DEFA,
#define OPTN_DEFL 13 OPTN_DEFW,
#define OPTN_BASE_AREA 14 OPTN_DEFL,
#define OPTN_BASE_LENGTH 15 OPTN_BASE_AREA,
#define OPTN_BASE_DEPTH 16 OPTN_BASE_LENGTH,
#define OPTN_TNOM 17 OPTN_BASE_DEPTH,
#define OPTN_IC_FILE 18 OPTN_TNOM,
#define OPTN_UNIQUE 19 OPTN_IC_FILE,
OPTN_UNIQUE,
};
#endif #endif

View File

@ -72,36 +72,38 @@ typedef struct sOUTPcard {
} OUTPcard; } OUTPcard;
/* OUTP parameters */ /* OUTP parameters */
#define OUTP_ALL_DEBUG 1 enum {
#define OUTP_DC_DEBUG 2 OUTP_ALL_DEBUG = 1,
#define OUTP_TRAN_DEBUG 3 OUTP_DC_DEBUG,
#define OUTP_AC_DEBUG 4 OUTP_TRAN_DEBUG,
#define OUTP_GEOM 5 OUTP_AC_DEBUG,
#define OUTP_MESH 6 OUTP_GEOM,
#define OUTP_MATERIAL 7 OUTP_MESH,
#define OUTP_GLOBALS 8 OUTP_MATERIAL,
#define OUTP_STATS 9 OUTP_GLOBALS,
#define OUTP_ROOTFILE 10 OUTP_STATS,
#define OUTP_RAWFILE 11 OUTP_ROOTFILE,
#define OUTP_HDF 12 OUTP_RAWFILE,
#define OUTP_DOPING 13 OUTP_HDF,
#define OUTP_PSI 14 OUTP_DOPING,
#define OUTP_EQU_PSI 15 OUTP_PSI,
#define OUTP_VAC_PSI 16 OUTP_EQU_PSI,
#define OUTP_N_CONC 17 OUTP_VAC_PSI,
#define OUTP_P_CONC 18 OUTP_N_CONC,
#define OUTP_PHIN 19 OUTP_P_CONC,
#define OUTP_PHIP 20 OUTP_PHIN,
#define OUTP_PHIC 21 OUTP_PHIP,
#define OUTP_PHIV 22 OUTP_PHIC,
#define OUTP_E_FIELD 23 OUTP_PHIV,
#define OUTP_J_C 24 OUTP_E_FIELD,
#define OUTP_J_D 25 OUTP_J_C,
#define OUTP_J_N 26 OUTP_J_D,
#define OUTP_J_P 27 OUTP_J_N,
#define OUTP_J_T 28 OUTP_J_P,
#define OUTP_U_NET 29 OUTP_J_T,
#define OUTP_MUN 30 OUTP_U_NET,
#define OUTP_MUP 31 OUTP_MUN,
OUTP_MUP,
};
#endif #endif

View File

@ -28,13 +28,15 @@ typedef struct {
double steady_coeff; double steady_coeff;
} PSSan; } PSSan;
#define GUESSED_FREQ 1 enum {
#define STAB_TIME 2 GUESSED_FREQ = 1,
#define OSC_NODE 3 STAB_TIME,
#define PSS_POINTS 4 OSC_NODE,
#define PSS_HARMS 5 PSS_POINTS,
#define PSS_UIC 6 PSS_HARMS,
#define SC_ITER 7 PSS_UIC,
#define STEADY_COEFF 8 SC_ITER,
STEADY_COEFF,
};
#endif #endif

View File

@ -44,14 +44,16 @@ struct PZAN {
#define PZ_IN_VOL 1 #define PZ_IN_VOL 1
#define PZ_IN_CUR 2 #define PZ_IN_CUR 2
#define PZ_NODEI 1 enum {
#define PZ_NODEG 2 PZ_NODEI = 1,
#define PZ_NODEJ 3 PZ_NODEG,
#define PZ_NODEK 4 PZ_NODEJ,
#define PZ_V 5 PZ_NODEK,
#define PZ_I 6 PZ_V,
#define PZ_POL 7 PZ_I,
#define PZ_ZER 8 PZ_POL,
#define PZ_PZ 9 PZ_ZER,
PZ_PZ,
};
#endif #endif

View File

@ -61,10 +61,12 @@ struct SENstruct {
#define ON 1 #define ON 1
#define SEN_AC 1 enum {
#define SEN_DC 2 SEN_AC = 1,
#define SEN_TRAN 3 SEN_DC,
#define SEN_DEV 4 SEN_TRAN,
#define SEN_PARM 5 SEN_DEV,
SEN_PARM,
};
#endif #endif

View File

@ -71,29 +71,34 @@ extern int SENSask(CKTcircuit *,JOB *,int ,IFvalue *);
extern int SENSsetParam(CKTcircuit *,JOB *,int ,IFvalue *); extern int SENSsetParam(CKTcircuit *,JOB *,int ,IFvalue *);
extern int sens_sens(CKTcircuit *,int); extern int sens_sens(CKTcircuit *,int);
#define SENS_POS 2 enum {
#define SENS_NEG 3 SENS_POS = 2,
#define SENS_SRC 4 SENS_NEG,
#define SENS_NAME 5 SENS_SRC,
SENS_NAME,
};
#define SENS_START 10 enum {
#define SENS_STOP 11 SENS_START = 10,
#define SENS_STEPS 12 SENS_STOP,
SENS_STEPS,
SENS_DECADE,
SENS_OCTAVE,
SENS_LINEAR,
SENS_DC,
SENS_DEFTOL,
SENS_DEFPERTURB,
SENS_DEVDEFTOL,
SENS_DEVDEFPERT,
SENS_TYPE,
SENS_DEVICE,
};
#define SENS_DECADE 13 enum {
#define SENS_OCTAVE 14 SENS_PARAM = 24,
#define SENS_LINEAR 15 SENS_TOL,
SENS_PERT,
#define SENS_DC 16 };
#define SENS_DEFTOL 17
#define SENS_DEFPERTURB 18
#define SENS_DEVDEFTOL 19
#define SENS_DEVDEFPERT 20
#define SENS_TYPE 21
#define SENS_DEVICE 22
#define SENS_PARAM 24
#define SENS_TOL 25
#define SENS_PERT 26
#endif /*DEFS*/ #endif /*DEFS*/

View File

@ -30,11 +30,12 @@ struct TFan {
}; };
#define TF_OUTPOS 1 enum {
#define TF_OUTNEG 2 TF_OUTPOS = 1,
#define TF_OUTSRC 3 TF_OUTNEG,
#define TF_INSRC 4 TF_OUTSRC,
#define TF_OUTNAME 5 TF_INSRC,
TF_OUTNAME,
};
#endif #endif

View File

@ -27,9 +27,12 @@ typedef struct {
runDesc *TRANplot; runDesc *TRANplot;
} TRANan; } TRANan;
#define TRAN_TSTART 1 enum {
#define TRAN_TSTOP 2 TRAN_TSTART = 1,
#define TRAN_TSTEP 3 TRAN_TSTOP,
#define TRAN_TMAX 4 TRAN_TSTEP,
#define TRAN_UIC 5 TRAN_TMAX,
TRAN_UIC,
};
#endif #endif

View File

@ -43,15 +43,17 @@ typedef struct {
int TRCVnestState; /* iteration state during pause */ int TRCVnestState; /* iteration state during pause */
} TRCV; } TRCV;
#define DCT_START1 1 enum {
#define DCT_STOP1 2 DCT_START1 = 1,
#define DCT_STEP1 3 DCT_STOP1,
#define DCT_NAME1 4 DCT_STEP1,
#define DCT_TYPE1 5 DCT_NAME1,
#define DCT_START2 6 DCT_TYPE1,
#define DCT_STOP2 7 DCT_START2,
#define DCT_STEP2 8 DCT_STOP2,
#define DCT_NAME2 9 DCT_STEP2,
#define DCT_TYPE2 10 DCT_NAME2,
DCT_TYPE2,
};
#endif #endif

View File

@ -71,18 +71,20 @@ typedef struct sASRCmodel { /* model structure for a source */
/* device parameters */ /* device parameters */
#define ASRC_VOLTAGE 1 enum {
#define ASRC_CURRENT 2 ASRC_VOLTAGE = 1,
#define ASRC_POS_NODE 3 ASRC_CURRENT,
#define ASRC_NEG_NODE 4 ASRC_POS_NODE,
#define ASRC_PARSE_TREE 5 ASRC_NEG_NODE,
#define ASRC_OUTPUTVOLTAGE 6 ASRC_PARSE_TREE,
#define ASRC_OUTPUTCURRENT 7 ASRC_OUTPUTVOLTAGE,
#define ASRC_TEMP 8 ASRC_OUTPUTCURRENT,
#define ASRC_DTEMP 9 ASRC_TEMP,
#define ASRC_TC1 10 ASRC_DTEMP,
#define ASRC_TC2 11 ASRC_TC1,
#define ASRC_RTC 12 ASRC_TC2,
ASRC_RTC,
};
/* module-wide variables */ /* module-wide variables */

View File

@ -16,15 +16,18 @@ Author: 1985 Thomas L. Quarles
/* indices to array of BJT noise sources */ /* indices to array of BJT noise sources */
#define BJTRCNOIZ 0 enum {
#define BJTRBNOIZ 1 BJTRCNOIZ = 0,
#define BJT_RE_NOISE 2 BJTRBNOIZ,
#define BJTICNOIZ 3 BJT_RE_NOISE,
#define BJTIBNOIZ 4 BJTICNOIZ,
#define BJTFLNOIZ 5 BJTIBNOIZ,
#define BJTTOTNOIZ 6 BJTFLNOIZ,
BJTTOTNOIZ,
BJTNSRCS,
};
#define BJTNSRCS 7 /* the number of BJT noise sources */ /* the number of BJT noise sources */
/* data needed to describe a single instance */ /* data needed to describe a single instance */
@ -582,186 +585,190 @@ typedef struct sBJTmodel { /* model structure for a bjt */
#endif /* VERTICAL */ #endif /* VERTICAL */
/* device parameters */ /* device parameters */
#define BJT_AREA 1 enum {
#define BJT_OFF 2 BJT_AREA = 1,
#define BJT_IC_VBE 3 BJT_OFF,
#define BJT_IC_VCE 4 BJT_IC_VBE,
#define BJT_IC 5 BJT_IC_VCE,
#define BJT_AREA_SENS 6 BJT_IC,
#define BJT_TEMP 7 BJT_AREA_SENS,
#define BJT_DTEMP 8 BJT_TEMP,
#define BJT_M 9 BJT_DTEMP,
#define BJT_AREAB 10 BJT_M,
#define BJT_AREAC 11 BJT_AREAB,
BJT_AREAC,
};
/* model parameters */ /* model parameters */
#define BJT_MOD_NPN 101 enum {
#define BJT_MOD_PNP 102 BJT_MOD_NPN = 101,
#define BJT_MOD_IS 103 BJT_MOD_PNP,
#define BJT_MOD_BF 104 BJT_MOD_IS,
#define BJT_MOD_NF 105 BJT_MOD_BF,
#define BJT_MOD_VAF 106 BJT_MOD_NF,
#define BJT_MOD_IKF 107 BJT_MOD_VAF,
#define BJT_MOD_ISE 108 BJT_MOD_IKF,
#define BJT_MOD_C2 109 BJT_MOD_ISE,
#define BJT_MOD_NE 110 BJT_MOD_C2,
#define BJT_MOD_BR 111 BJT_MOD_NE,
#define BJT_MOD_NR 112 BJT_MOD_BR,
#define BJT_MOD_VAR 113 BJT_MOD_NR,
#define BJT_MOD_IKR 114 BJT_MOD_VAR,
#define BJT_MOD_ISC 115 BJT_MOD_IKR,
#define BJT_MOD_C4 116 BJT_MOD_ISC,
#define BJT_MOD_NC 117 BJT_MOD_C4,
#define BJT_MOD_RB 118 BJT_MOD_NC,
#define BJT_MOD_IRB 119 BJT_MOD_RB,
#define BJT_MOD_RBM 120 BJT_MOD_IRB,
#define BJT_MOD_RE 121 BJT_MOD_RBM,
#define BJT_MOD_RC 122 BJT_MOD_RE,
#define BJT_MOD_CJE 123 BJT_MOD_RC,
#define BJT_MOD_VJE 124 BJT_MOD_CJE,
#define BJT_MOD_MJE 125 BJT_MOD_VJE,
#define BJT_MOD_TF 126 BJT_MOD_MJE,
#define BJT_MOD_XTF 127 BJT_MOD_TF,
#define BJT_MOD_VTF 128 BJT_MOD_XTF,
#define BJT_MOD_ITF 129 BJT_MOD_VTF,
#define BJT_MOD_PTF 130 BJT_MOD_ITF,
#define BJT_MOD_CJC 131 BJT_MOD_PTF,
#define BJT_MOD_VJC 132 BJT_MOD_CJC,
#define BJT_MOD_MJC 133 BJT_MOD_VJC,
#define BJT_MOD_XCJC 134 BJT_MOD_MJC,
#define BJT_MOD_TR 135 BJT_MOD_XCJC,
#define BJT_MOD_CJS 136 BJT_MOD_TR,
#define BJT_MOD_VJS 137 BJT_MOD_CJS,
#define BJT_MOD_MJS 138 BJT_MOD_VJS,
#define BJT_MOD_XTB 139 BJT_MOD_MJS,
#define BJT_MOD_EG 140 BJT_MOD_XTB,
#define BJT_MOD_XTI 141 BJT_MOD_EG,
#define BJT_MOD_FC 142 BJT_MOD_XTI,
#define BJT_MOD_AF 143 BJT_MOD_FC,
#define BJT_MOD_KF 144 BJT_MOD_AF,
#define BJT_MOD_ISS 145 BJT_MOD_KF,
#define BJT_MOD_NS 146 BJT_MOD_ISS,
#define BJT_MOD_TNOM 147 BJT_MOD_NS,
#define BJT_MOD_TLEV 148 BJT_MOD_TNOM,
#define BJT_MOD_TLEVC 149 BJT_MOD_TLEV,
#define BJT_MOD_TBF1 150 BJT_MOD_TLEVC,
#define BJT_MOD_TBF2 151 BJT_MOD_TBF1,
#define BJT_MOD_TBR1 152 BJT_MOD_TBF2,
#define BJT_MOD_TBR2 153 BJT_MOD_TBR1,
#define BJT_MOD_TIKF1 154 BJT_MOD_TBR2,
#define BJT_MOD_TIKF2 155 BJT_MOD_TIKF1,
#define BJT_MOD_TIKR1 156 BJT_MOD_TIKF2,
#define BJT_MOD_TIKR2 157 BJT_MOD_TIKR1,
#define BJT_MOD_TIRB1 158 BJT_MOD_TIKR2,
#define BJT_MOD_TIRB2 159 BJT_MOD_TIRB1,
#define BJT_MOD_TNC1 160 BJT_MOD_TIRB2,
#define BJT_MOD_TNC2 161 BJT_MOD_TNC1,
#define BJT_MOD_TNE1 162 BJT_MOD_TNC2,
#define BJT_MOD_TNE2 163 BJT_MOD_TNE1,
#define BJT_MOD_TNF1 164 BJT_MOD_TNE2,
#define BJT_MOD_TNF2 165 BJT_MOD_TNF1,
#define BJT_MOD_TNR1 166 BJT_MOD_TNF2,
#define BJT_MOD_TNR2 167 BJT_MOD_TNR1,
#define BJT_MOD_TRB1 168 BJT_MOD_TNR2,
#define BJT_MOD_TRB2 169 BJT_MOD_TRB1,
#define BJT_MOD_TRC1 170 BJT_MOD_TRB2,
#define BJT_MOD_TRC2 171 BJT_MOD_TRC1,
#define BJT_MOD_TRE1 172 BJT_MOD_TRC2,
#define BJT_MOD_TRE2 173 BJT_MOD_TRE1,
#define BJT_MOD_TRM1 174 BJT_MOD_TRE2,
#define BJT_MOD_TRM2 175 BJT_MOD_TRM1,
#define BJT_MOD_TVAF1 176 BJT_MOD_TRM2,
#define BJT_MOD_TVAF2 177 BJT_MOD_TVAF1,
#define BJT_MOD_TVAR1 178 BJT_MOD_TVAF2,
#define BJT_MOD_TVAR2 179 BJT_MOD_TVAR1,
#define BJT_MOD_CTC 180 BJT_MOD_TVAR2,
#define BJT_MOD_CTE 181 BJT_MOD_CTC,
#define BJT_MOD_CTS 182 BJT_MOD_CTE,
#define BJT_MOD_TVJC 183 BJT_MOD_CTS,
#define BJT_MOD_TVJE 184 BJT_MOD_TVJC,
#define BJT_MOD_TVJS 185 BJT_MOD_TVJE,
#define BJT_MOD_TITF1 186 BJT_MOD_TVJS,
#define BJT_MOD_TITF2 187 BJT_MOD_TITF1,
#define BJT_MOD_TTF1 188 BJT_MOD_TITF2,
#define BJT_MOD_TTF2 189 BJT_MOD_TTF1,
#define BJT_MOD_TTR1 190 BJT_MOD_TTF2,
#define BJT_MOD_TTR2 191 BJT_MOD_TTR1,
#define BJT_MOD_TMJE1 192 BJT_MOD_TTR2,
#define BJT_MOD_TMJE2 193 BJT_MOD_TMJE1,
#define BJT_MOD_TMJC1 194 BJT_MOD_TMJE2,
#define BJT_MOD_TMJC2 195 BJT_MOD_TMJC1,
#define BJT_MOD_TMJS1 196 BJT_MOD_TMJC2,
#define BJT_MOD_TMJS2 197 BJT_MOD_TMJS1,
#define BJT_MOD_TNS1 198 BJT_MOD_TMJS2,
#define BJT_MOD_TNS2 199 BJT_MOD_TNS1,
#define BJT_MOD_SUBS 200 BJT_MOD_TNS2,
#define BJT_MOD_NKF 201 BJT_MOD_SUBS,
#define BJT_MOD_TIS1 202 BJT_MOD_NKF,
#define BJT_MOD_TIS2 203 BJT_MOD_TIS1,
#define BJT_MOD_TISE1 204 BJT_MOD_TIS2,
#define BJT_MOD_TISE2 205 BJT_MOD_TISE1,
#define BJT_MOD_TISC1 206 BJT_MOD_TISE2,
#define BJT_MOD_TISC2 207 BJT_MOD_TISC1,
#define BJT_MOD_VBE_MAX 208 BJT_MOD_TISC2,
#define BJT_MOD_VBC_MAX 209 BJT_MOD_VBE_MAX,
#define BJT_MOD_VCE_MAX 210 BJT_MOD_VBC_MAX,
BJT_MOD_VCE_MAX,
/* device questions */ BJT_QUEST_FT,
#define BJT_QUEST_FT 211 BJT_QUEST_COLNODE,
#define BJT_QUEST_COLNODE 212 BJT_QUEST_BASENODE,
#define BJT_QUEST_BASENODE 213 BJT_QUEST_EMITNODE,
#define BJT_QUEST_EMITNODE 214 BJT_QUEST_SUBSTNODE,
#define BJT_QUEST_SUBSTNODE 215 BJT_QUEST_COLPRIMENODE,
#define BJT_QUEST_COLPRIMENODE 216 BJT_QUEST_BASEPRIMENODE,
#define BJT_QUEST_BASEPRIMENODE 217 BJT_QUEST_EMITPRIMENODE,
#define BJT_QUEST_EMITPRIMENODE 218 BJT_QUEST_VBE,
#define BJT_QUEST_VBE 219 BJT_QUEST_VBC,
#define BJT_QUEST_VBC 220 BJT_QUEST_CC,
#define BJT_QUEST_CC 221 BJT_QUEST_CB,
#define BJT_QUEST_CB 222 BJT_QUEST_GPI,
#define BJT_QUEST_GPI 223 BJT_QUEST_GMU,
#define BJT_QUEST_GMU 224 BJT_QUEST_GM,
#define BJT_QUEST_GM 225 BJT_QUEST_GO,
#define BJT_QUEST_GO 226 BJT_QUEST_QBE,
#define BJT_QUEST_QBE 227 BJT_QUEST_CQBE,
#define BJT_QUEST_CQBE 228 BJT_QUEST_QBC,
#define BJT_QUEST_QBC 229 BJT_QUEST_CQBC,
#define BJT_QUEST_CQBC 230 BJT_QUEST_QSUB,
#define BJT_QUEST_QSUB 231 BJT_QUEST_CQSUB,
#define BJT_QUEST_CQSUB 232 BJT_QUEST_QBX,
#define BJT_QUEST_QBX 233 BJT_QUEST_CQBX,
#define BJT_QUEST_CQBX 234 BJT_QUEST_GX,
#define BJT_QUEST_GX 235 BJT_QUEST_CEXBC,
#define BJT_QUEST_CEXBC 236 BJT_QUEST_GEQCB,
#define BJT_QUEST_GEQCB 237 BJT_QUEST_GCSUB,
#define BJT_QUEST_GCSUB 238 BJT_QUEST_GEQBX,
#define BJT_QUEST_GEQBX 239 BJT_QUEST_SENS_REAL,
#define BJT_QUEST_SENS_REAL 240 BJT_QUEST_SENS_IMAG,
#define BJT_QUEST_SENS_IMAG 241 BJT_QUEST_SENS_MAG,
#define BJT_QUEST_SENS_MAG 242 BJT_QUEST_SENS_PH,
#define BJT_QUEST_SENS_PH 243 BJT_QUEST_SENS_CPLX,
#define BJT_QUEST_SENS_CPLX 244 BJT_QUEST_SENS_DC,
#define BJT_QUEST_SENS_DC 245 BJT_QUEST_CE,
#define BJT_QUEST_CE 246 BJT_QUEST_CS,
#define BJT_QUEST_CS 247 BJT_QUEST_POWER,
#define BJT_QUEST_POWER 248 BJT_QUEST_CPI,
#define BJT_QUEST_CPI 249 BJT_QUEST_CMU,
#define BJT_QUEST_CMU 250 BJT_QUEST_CBX,
#define BJT_QUEST_CBX 251 BJT_QUEST_CSUB,
#define BJT_QUEST_CSUB 252 BJT_QUEST_GDSUB,
#define BJT_QUEST_GDSUB 253 };
/* model questions */ /* model questions */
#define BJT_MOD_INVEARLYF 301 enum {
#define BJT_MOD_INVEARLYR 302 BJT_MOD_INVEARLYF = 301,
#define BJT_MOD_INVROLLOFFF 303 BJT_MOD_INVEARLYR,
#define BJT_MOD_INVROLLOFFR 304 BJT_MOD_INVROLLOFFF,
#define BJT_MOD_COLCONDUCT 305 BJT_MOD_INVROLLOFFR,
#define BJT_MOD_EMITTERCONDUCT 306 BJT_MOD_COLCONDUCT,
#define BJT_MOD_TRANSVBCFACT 307 BJT_MOD_EMITTERCONDUCT,
#define BJT_MOD_EXCESSPHASEFACTOR 308 BJT_MOD_TRANSVBCFACT,
#define BJT_MOD_TYPE 309 BJT_MOD_EXCESSPHASEFACTOR,
#define BJT_MOD_QUEST_SUBS 310 BJT_MOD_TYPE,
BJT_MOD_QUEST_SUBS,
};
#include "bjtext.h" #include "bjtext.h"
#endif /*BJT*/ #endif /*BJT*/

View File

@ -121,45 +121,51 @@ typedef struct sCAPmodel { /* model structure for a capacitor */
} CAPmodel; } CAPmodel;
/* device parameters */ /* device parameters */
#define CAP_CAP 1 enum {
#define CAP_IC 2 CAP_CAP = 1,
#define CAP_WIDTH 3 CAP_IC,
#define CAP_LENGTH 4 CAP_WIDTH,
#define CAP_CAP_SENS 5 CAP_LENGTH,
#define CAP_CURRENT 6 CAP_CAP_SENS,
#define CAP_POWER 7 CAP_CURRENT,
#define CAP_TEMP 8 CAP_POWER,
#define CAP_DTEMP 9 CAP_TEMP,
#define CAP_SCALE 10 CAP_DTEMP,
#define CAP_M 11 CAP_SCALE,
#define CAP_TC1 12 CAP_M,
#define CAP_TC2 13 CAP_TC1,
#define CAP_BV_MAX 14 CAP_TC2,
CAP_BV_MAX,
};
/* model parameters */ /* model parameters */
#define CAP_MOD_CJ 101 enum {
#define CAP_MOD_CJSW 102 CAP_MOD_CJ = 101,
#define CAP_MOD_DEFWIDTH 103 CAP_MOD_CJSW,
#define CAP_MOD_C 104 CAP_MOD_DEFWIDTH,
#define CAP_MOD_NARROW 105 CAP_MOD_C,
#define CAP_MOD_SHORT 106 CAP_MOD_NARROW,
#define CAP_MOD_DEL 107 CAP_MOD_SHORT,
#define CAP_MOD_TC1 108 CAP_MOD_DEL,
#define CAP_MOD_TC2 109 CAP_MOD_TC1,
#define CAP_MOD_TNOM 110 CAP_MOD_TC2,
#define CAP_MOD_DI 111 CAP_MOD_TNOM,
#define CAP_MOD_THICK 112 CAP_MOD_DI,
#define CAP_MOD_CAP 113 CAP_MOD_THICK,
#define CAP_MOD_DEFLENGTH 114 CAP_MOD_CAP,
#define CAP_MOD_BV_MAX 115 CAP_MOD_DEFLENGTH,
CAP_MOD_BV_MAX,
};
/* device questions */ /* device questions */
#define CAP_QUEST_SENS_REAL 201 enum {
#define CAP_QUEST_SENS_IMAG 202 CAP_QUEST_SENS_REAL = 201,
#define CAP_QUEST_SENS_MAG 203 CAP_QUEST_SENS_IMAG,
#define CAP_QUEST_SENS_PH 204 CAP_QUEST_SENS_MAG,
#define CAP_QUEST_SENS_CPLX 205 CAP_QUEST_SENS_PH,
#define CAP_QUEST_SENS_DC 206 CAP_QUEST_SENS_CPLX,
CAP_QUEST_SENS_DC,
};
#include "capext.h" #include "capext.h"

View File

@ -60,26 +60,30 @@ typedef struct sCCCSmodel { /* model structure for a source */
} CCCSmodel; } CCCSmodel;
/* device parameters */ /* device parameters */
#define CCCS_GAIN 1 enum {
#define CCCS_CONTROL 2 CCCS_GAIN = 1,
#define CCCS_POS_NODE 3 CCCS_CONTROL,
#define CCCS_NEG_NODE 4 CCCS_POS_NODE,
#define CCCS_CONT_BR 5 CCCS_NEG_NODE,
#define CCCS_GAIN_SENS 6 CCCS_CONT_BR,
#define CCCS_CURRENT 7 CCCS_GAIN_SENS,
#define CCCS_POWER 8 CCCS_CURRENT,
#define CCCS_VOLTS 9 CCCS_POWER,
#define CCCS_M 10 CCCS_VOLTS,
CCCS_M,
};
/* model parameters */ /* model parameters */
/* device questions */ /* device questions */
#define CCCS_QUEST_SENS_REAL 201 enum {
#define CCCS_QUEST_SENS_IMAG 202 CCCS_QUEST_SENS_REAL = 201,
#define CCCS_QUEST_SENS_MAG 203 CCCS_QUEST_SENS_IMAG,
#define CCCS_QUEST_SENS_PH 204 CCCS_QUEST_SENS_MAG,
#define CCCS_QUEST_SENS_CPLX 205 CCCS_QUEST_SENS_PH,
#define CCCS_QUEST_SENS_DC 206 CCCS_QUEST_SENS_CPLX,
CCCS_QUEST_SENS_DC,
};
/* model questions */ /* model questions */

View File

@ -64,26 +64,30 @@ typedef struct sCCVSmodel { /* model structure for a CCVsource */
} CCVSmodel; } CCVSmodel;
/* device parameters */ /* device parameters */
#define CCVS_TRANS 1 enum {
#define CCVS_CONTROL 2 CCVS_TRANS = 1,
#define CCVS_POS_NODE 3 CCVS_CONTROL,
#define CCVS_NEG_NODE 4 CCVS_POS_NODE,
#define CCVS_BR 5 CCVS_NEG_NODE,
#define CCVS_CONT_BR 6 CCVS_BR,
#define CCVS_TRANS_SENS 7 CCVS_CONT_BR,
#define CCVS_CURRENT 8 CCVS_TRANS_SENS,
#define CCVS_POWER 9 CCVS_CURRENT,
#define CCVS_VOLTS 10 CCVS_POWER,
CCVS_VOLTS,
};
/* model parameters */ /* model parameters */
/* device questions */ /* device questions */
#define CCVS_QUEST_SENS_REAL 201 enum {
#define CCVS_QUEST_SENS_IMAG 202 CCVS_QUEST_SENS_REAL = 201,
#define CCVS_QUEST_SENS_MAG 203 CCVS_QUEST_SENS_IMAG,
#define CCVS_QUEST_SENS_PH 204 CCVS_QUEST_SENS_MAG,
#define CCVS_QUEST_SENS_CPLX 205 CCVS_QUEST_SENS_PH,
#define CCVS_QUEST_SENS_DC 206 CCVS_QUEST_SENS_CPLX,
CCVS_QUEST_SENS_DC,
};
/* model questions */ /* model questions */

View File

@ -90,18 +90,22 @@ typedef struct sCPLmodel { /* model structure for a cpl */
} CPLmodel; } CPLmodel;
/* instance parameters */ /* instance parameters */
#define CPL_POS_NODE 1 enum {
#define CPL_NEG_NODE 2 CPL_POS_NODE = 1,
#define CPL_DIM 3 CPL_NEG_NODE,
#define CPL_LENGTH 4 CPL_DIM,
CPL_LENGTH,
};
/* model parameters */ /* model parameters */
#define CPL_R 101 enum {
#define CPL_C 102 CPL_R = 101,
#define CPL_G 103 CPL_C,
#define CPL_L 104 CPL_G,
#define CPL_length 105 CPL_L,
#define CPL_MOD_R 106 CPL_length,
CPL_MOD_R,
};
#include "cplext.h" #include "cplext.h"
extern VI_list *pool_vi; extern VI_list *pool_vi;

View File

@ -85,22 +85,26 @@ typedef struct sCSWmodel { /* model structure for a switch */
} CSWmodel; } CSWmodel;
/* device parameters */ /* device parameters */
#define CSW_CONTROL 1 enum {
#define CSW_IC_ON 2 CSW_CONTROL = 1,
#define CSW_IC_OFF 3 CSW_IC_ON,
#define CSW_POS_NODE 4 CSW_IC_OFF,
#define CSW_NEG_NODE 5 CSW_POS_NODE,
#define CSW_CURRENT 6 CSW_NEG_NODE,
#define CSW_POWER 7 CSW_CURRENT,
CSW_POWER,
};
/* model parameters */ /* model parameters */
#define CSW_CSW 101 enum {
#define CSW_RON 102 CSW_CSW = 101,
#define CSW_ROFF 103 CSW_RON,
#define CSW_ITH 104 CSW_ROFF,
#define CSW_IHYS 105 CSW_ITH,
#define CSW_GON 106 CSW_IHYS,
#define CSW_GOFF 107 CSW_GON,
CSW_GOFF,
};
/* device questions */ /* device questions */

View File

@ -16,12 +16,13 @@ Modified by Paolo Nenzi 2003 and Dietmar Warning 2012
/* indices to array of diode noise sources */ /* indices to array of diode noise sources */
#define DIORSNOIZ 0 enum {
#define DIOIDNOIZ 1 DIORSNOIZ = 0,
#define DIOFLNOIZ 2 DIOIDNOIZ,
#define DIOTOTNOIZ 3 DIOFLNOIZ,
DIOTOTNOIZ,
#define DIONSRCS 4 DIONSRCS,
};
/* information needed per instance */ /* information needed per instance */
@ -286,80 +287,84 @@ typedef struct sDIOmodel { /* model structure for a diode */
} DIOmodel; } DIOmodel;
/* device parameters */ /* device parameters */
#define DIO_AREA 1 enum {
#define DIO_IC 2 DIO_AREA = 1,
#define DIO_OFF 3 DIO_IC,
#define DIO_CURRENT 4 DIO_OFF,
#define DIO_VOLTAGE 5 DIO_CURRENT,
#define DIO_CHARGE 6 DIO_VOLTAGE,
#define DIO_CAPCUR 7 DIO_CHARGE,
#define DIO_CONDUCT 8 DIO_CAPCUR,
#define DIO_AREA_SENS 9 DIO_CONDUCT,
#define DIO_POWER 10 DIO_AREA_SENS,
#define DIO_TEMP 11 DIO_POWER,
#define DIO_QUEST_SENS_REAL 12 DIO_TEMP,
#define DIO_QUEST_SENS_IMAG 13 DIO_QUEST_SENS_REAL,
#define DIO_QUEST_SENS_MAG 14 DIO_QUEST_SENS_IMAG,
#define DIO_QUEST_SENS_PH 15 DIO_QUEST_SENS_MAG,
#define DIO_QUEST_SENS_CPLX 16 DIO_QUEST_SENS_PH,
#define DIO_QUEST_SENS_DC 17 DIO_QUEST_SENS_CPLX,
#define DIO_CAP 18 DIO_QUEST_SENS_DC,
#define DIO_PJ 19 DIO_CAP,
#define DIO_W 20 DIO_PJ,
#define DIO_L 21 DIO_W,
#define DIO_M 22 DIO_L,
#define DIO_DTEMP 23 DIO_M,
DIO_DTEMP,
};
/* model parameters */ /* model parameters */
#define DIO_MOD_LEVEL 100 enum {
#define DIO_MOD_IS 101 DIO_MOD_LEVEL = 100,
#define DIO_MOD_RS 102 DIO_MOD_IS,
#define DIO_MOD_N 103 DIO_MOD_RS,
#define DIO_MOD_TT 104 DIO_MOD_N,
#define DIO_MOD_CJO 105 DIO_MOD_TT,
#define DIO_MOD_VJ 106 DIO_MOD_CJO,
#define DIO_MOD_M 107 DIO_MOD_VJ,
#define DIO_MOD_EG 108 DIO_MOD_M,
#define DIO_MOD_XTI 109 DIO_MOD_EG,
#define DIO_MOD_FC 110 DIO_MOD_XTI,
#define DIO_MOD_BV 111 DIO_MOD_FC,
#define DIO_MOD_IBV 112 DIO_MOD_BV,
#define DIO_MOD_D 113 DIO_MOD_IBV,
#define DIO_MOD_COND 114 DIO_MOD_D,
#define DIO_MOD_TNOM 115 DIO_MOD_COND,
#define DIO_MOD_KF 116 DIO_MOD_TNOM,
#define DIO_MOD_AF 117 DIO_MOD_KF,
#define DIO_MOD_JSW 118 DIO_MOD_AF,
#define DIO_MOD_CJSW 119 DIO_MOD_JSW,
#define DIO_MOD_VJSW 120 DIO_MOD_CJSW,
#define DIO_MOD_MJSW 121 DIO_MOD_VJSW,
#define DIO_MOD_IKF 122 DIO_MOD_MJSW,
#define DIO_MOD_IKR 123 DIO_MOD_IKF,
#define DIO_MOD_FCS 124 DIO_MOD_IKR,
#define DIO_MOD_TTT1 125 DIO_MOD_FCS,
#define DIO_MOD_TTT2 126 DIO_MOD_TTT1,
#define DIO_MOD_TM1 127 DIO_MOD_TTT2,
#define DIO_MOD_TM2 128 DIO_MOD_TM1,
#define DIO_MOD_TRS 129 DIO_MOD_TM2,
#define DIO_MOD_TRS2 130 DIO_MOD_TRS,
#define DIO_MOD_TLEV 131 DIO_MOD_TRS2,
#define DIO_MOD_TLEVC 132 DIO_MOD_TLEV,
#define DIO_MOD_CTA 133 DIO_MOD_TLEVC,
#define DIO_MOD_CTP 134 DIO_MOD_CTA,
#define DIO_MOD_TPB 135 DIO_MOD_CTP,
#define DIO_MOD_TPHP 136 DIO_MOD_TPB,
#define DIO_MOD_TCV 137 DIO_MOD_TPHP,
#define DIO_MOD_NBV 138 DIO_MOD_TCV,
#define DIO_MOD_AREA 139 DIO_MOD_NBV,
#define DIO_MOD_PJ 140 DIO_MOD_AREA,
#define DIO_MOD_NS 141 DIO_MOD_PJ,
#define DIO_MOD_JTUN 142 DIO_MOD_NS,
#define DIO_MOD_JTUNSW 143 DIO_MOD_JTUN,
#define DIO_MOD_NTUN 144 DIO_MOD_JTUNSW,
#define DIO_MOD_XTITUN 145 DIO_MOD_NTUN,
#define DIO_MOD_KEG 146 DIO_MOD_XTITUN,
#define DIO_MOD_FV_MAX 147 DIO_MOD_KEG,
#define DIO_MOD_BV_MAX 148 DIO_MOD_FV_MAX,
DIO_MOD_BV_MAX,
};
#include "dioext.h" #include "dioext.h"
#endif /*DIO*/ #endif /*DIO*/

View File

@ -286,116 +286,125 @@ typedef struct sHFETAmodel {
#endif #endif
/* device parameters */ /* device parameters */
#define HFETA_LENGTH 1 enum {
#define HFETA_WIDTH 2 HFETA_LENGTH = 1,
#define HFETA_IC_VDS 3 HFETA_WIDTH,
#define HFETA_IC_VGS 4 HFETA_IC_VDS,
#define HFETA_TEMP 5 HFETA_IC_VGS,
#define HFETA_IC 6 HFETA_TEMP,
#define HFETA_OFF 7 HFETA_IC,
#define HFETA_CS 8 HFETA_OFF,
#define HFETA_POWER 9 HFETA_CS,
#define HFETA_DTEMP 10 HFETA_POWER,
#define HFETA_M 11 HFETA_DTEMP,
HFETA_M,
};
/* model parameters */ /* model parameters */
#define HFETA_MOD_VTO 101 enum {
#define HFETA_MOD_LAMBDA 102 HFETA_MOD_VTO = 101,
#define HFETA_MOD_RD 103 HFETA_MOD_LAMBDA,
#define HFETA_MOD_RS 104 HFETA_MOD_RD,
#define HFETA_MOD_RG 105 HFETA_MOD_RS,
#define HFETA_MOD_RGS 106 HFETA_MOD_RG,
#define HFETA_MOD_RGD 107 HFETA_MOD_RGS,
#define HFETA_MOD_RI 108 HFETA_MOD_RGD,
#define HFETA_MOD_RF 109 HFETA_MOD_RI,
#define HFETA_MOD_ETA 110 HFETA_MOD_RF,
#define HFETA_MOD_M 111 HFETA_MOD_ETA,
#define HFETA_MOD_MC 112 HFETA_MOD_M,
#define HFETA_MOD_GAMMA 113 HFETA_MOD_MC,
#define HFETA_MOD_SIGMA0 114 HFETA_MOD_GAMMA,
#define HFETA_MOD_VSIGMAT 115 HFETA_MOD_SIGMA0,
#define HFETA_MOD_VSIGMA 116 HFETA_MOD_VSIGMAT,
#define HFETA_MOD_MU 117 HFETA_MOD_VSIGMA,
#define HFETA_MOD_DI 118 HFETA_MOD_MU,
#define HFETA_MOD_DELTA 119 HFETA_MOD_DI,
#define HFETA_MOD_VS 120 HFETA_MOD_DELTA,
#define HFETA_MOD_NMAX 121 HFETA_MOD_VS,
#define HFETA_MOD_DELTAD 122 HFETA_MOD_NMAX,
#define HFETA_MOD_JS1D 123 HFETA_MOD_DELTAD,
#define HFETA_MOD_JS2D 124 HFETA_MOD_JS1D,
#define HFETA_MOD_JS1S 125 HFETA_MOD_JS2D,
#define HFETA_MOD_JS2S 126 HFETA_MOD_JS1S,
#define HFETA_MOD_M1D 127 HFETA_MOD_JS2S,
#define HFETA_MOD_M2D 128 HFETA_MOD_M1D,
#define HFETA_MOD_M1S 129 HFETA_MOD_M2D,
#define HFETA_MOD_M2S 130 HFETA_MOD_M1S,
#define HFETA_MOD_EPSI 132 HFETA_MOD_M2S,
#define HFETA_MOD_RDI 133 };
#define HFETA_MOD_RSI 134
#define HFETA_MOD_A1 135 enum {
#define HFETA_MOD_A2 136 HFETA_MOD_EPSI = 132,
#define HFETA_MOD_MV1 137 HFETA_MOD_RDI,
#define HFETA_MOD_P 138 HFETA_MOD_RSI,
#define HFETA_MOD_KAPPA 139 HFETA_MOD_A1,
#define HFETA_MOD_DELF 140 HFETA_MOD_A2,
#define HFETA_MOD_FGDS 141 HFETA_MOD_MV1,
#define HFETA_MOD_TF 142 HFETA_MOD_P,
#define HFETA_MOD_CDS 143 HFETA_MOD_KAPPA,
#define HFETA_MOD_PHIB 144 HFETA_MOD_DELF,
#define HFETA_MOD_TALPHA 145 HFETA_MOD_FGDS,
#define HFETA_MOD_MT1 146 HFETA_MOD_TF,
#define HFETA_MOD_MT2 147 HFETA_MOD_CDS,
#define HFETA_MOD_CK1 148 HFETA_MOD_PHIB,
#define HFETA_MOD_CK2 149 HFETA_MOD_TALPHA,
#define HFETA_MOD_CM1 150 HFETA_MOD_MT1,
#define HFETA_MOD_CM2 151 HFETA_MOD_MT2,
#define HFETA_MOD_CM3 152 HFETA_MOD_CK1,
#define HFETA_MOD_ASTAR 153 HFETA_MOD_CK2,
#define HFETA_MOD_ETA1 154 HFETA_MOD_CM1,
#define HFETA_MOD_D1 155 HFETA_MOD_CM2,
#define HFETA_MOD_VT1 156 HFETA_MOD_CM3,
#define HFETA_MOD_ETA2 157 HFETA_MOD_ASTAR,
#define HFETA_MOD_D2 158 HFETA_MOD_ETA1,
#define HFETA_MOD_VT2 159 HFETA_MOD_D1,
#define HFETA_MOD_GGR 160 HFETA_MOD_VT1,
#define HFETA_MOD_DEL 161 HFETA_MOD_ETA2,
#define HFETA_MOD_GATEMOD 162 HFETA_MOD_D2,
#define HFETA_MOD_KLAMBDA 163 HFETA_MOD_VT2,
#define HFETA_MOD_KMU 164 HFETA_MOD_GGR,
#define HFETA_MOD_KVTO 165 HFETA_MOD_DEL,
#define HFETA_MOD_NHFET 166 HFETA_MOD_GATEMOD,
#define HFETA_MOD_PHFET 167 HFETA_MOD_KLAMBDA,
#define HFETA_MOD_TYPE 168 HFETA_MOD_KMU,
HFETA_MOD_KVTO,
HFETA_MOD_NHFET,
HFETA_MOD_PHFET,
HFETA_MOD_TYPE,
};
/* device questions */ /* device questions */
#define HFETA_DRAINNODE 201 enum {
#define HFETA_GATENODE 202 HFETA_DRAINNODE = 201,
#define HFETA_SOURCENODE 203 HFETA_GATENODE,
#define HFETA_DRAINPRIMENODE 204 HFETA_SOURCENODE,
#define HFETA_SOURCEPRIMENODE 205 HFETA_DRAINPRIMENODE,
HFETA_SOURCEPRIMENODE,
#define HFETA_VGS 206 HFETA_VGS,
#define HFETA_VGD 207 HFETA_VGD,
#define HFETA_CG 208 HFETA_CG,
#define HFETA_CD 209 HFETA_CD,
#define HFETA_CGD 210 HFETA_CGD,
#define HFETA_GM 211 HFETA_GM,
#define HFETA_GDS 212 HFETA_GDS,
#define HFETA_GGS 213 HFETA_GGS,
#define HFETA_GGD 214 HFETA_GGD,
#define HFETA_QGS 215 HFETA_QGS,
#define HFETA_CQGS 216 HFETA_CQGS,
#define HFETA_QGD 217 HFETA_QGD,
#define HFETA_CQGD 218 HFETA_CQGD,
};
/* model questions */ /* model questions */
#define HFETA_MOD_DRAINCONDUCT 301 enum {
#define HFETA_MOD_SOURCECONDUCT 302 HFETA_MOD_DRAINCONDUCT = 301,
#define HFETA_MOD_DEPLETIONCAP 303 HFETA_MOD_SOURCECONDUCT,
#define HFETA_MOD_VCRIT 304 HFETA_MOD_DEPLETIONCAP,
HFETA_MOD_VCRIT,
};
#define L (here->HFETAlength) #define L (here->HFETAlength)
#define W (here->HFETAwidth) #define W (here->HFETAwidth)

View File

@ -188,87 +188,94 @@ typedef struct sHFET2model {
#endif /*NMF*/ #endif /*NMF*/
/* device parameters */ /* device parameters */
#define HFET2_LENGTH 1 enum {
#define HFET2_WIDTH 2 HFET2_LENGTH = 1,
#define HFET2_IC_VDS 3 HFET2_WIDTH,
#define HFET2_IC_VGS 4 HFET2_IC_VDS,
#define HFET2_IC 5 HFET2_IC_VGS,
#define HFET2_OFF 6 HFET2_IC,
#define HFET2_CS 7 HFET2_OFF,
#define HFET2_POWER 8 HFET2_CS,
#define HFET2_TEMP 9 HFET2_POWER,
#define HFET2_DTEMP 10 HFET2_TEMP,
#define HFET2_M 11 HFET2_DTEMP,
HFET2_M,
};
/* model parameters */ /* model parameters */
#define HFET2_MOD_NHFET 101 enum {
#define HFET2_MOD_PHFET 102 HFET2_MOD_NHFET = 101,
#define HFET2_MOD_CF 103 HFET2_MOD_PHFET,
#define HFET2_MOD_D1 104 HFET2_MOD_CF,
#define HFET2_MOD_D2 105 HFET2_MOD_D1,
#define HFET2_MOD_DEL 106 HFET2_MOD_D2,
#define HFET2_MOD_DELTA 107 HFET2_MOD_DEL,
#define HFET2_MOD_DELTAD 108 HFET2_MOD_DELTA,
#define HFET2_MOD_DI 109 HFET2_MOD_DELTAD,
#define HFET2_MOD_EPSI 110 HFET2_MOD_DI,
#define HFET2_MOD_ETA 111 HFET2_MOD_EPSI,
#define HFET2_MOD_ETA1 112 HFET2_MOD_ETA,
#define HFET2_MOD_ETA2 113 HFET2_MOD_ETA1,
#define HFET2_MOD_GAMMA 114 HFET2_MOD_ETA2,
#define HFET2_MOD_GGR 115 HFET2_MOD_GAMMA,
#define HFET2_MOD_JS 116 HFET2_MOD_GGR,
#define HFET2_MOD_KLAMBDA 117 HFET2_MOD_JS,
#define HFET2_MOD_KMU 118 HFET2_MOD_KLAMBDA,
#define HFET2_MOD_KNMAX 119 HFET2_MOD_KMU,
#define HFET2_MOD_KVTO 120 HFET2_MOD_KNMAX,
#define HFET2_MOD_LAMBDA 121 HFET2_MOD_KVTO,
#define HFET2_MOD_M 122 HFET2_MOD_LAMBDA,
#define HFET2_MOD_MC 123 HFET2_MOD_M,
#define HFET2_MOD_MU 124 HFET2_MOD_MC,
#define HFET2_MOD_N 125 HFET2_MOD_MU,
#define HFET2_MOD_NMAX 126 HFET2_MOD_N,
#define HFET2_MOD_P 127 HFET2_MOD_NMAX,
#define HFET2_MOD_RD 128 HFET2_MOD_P,
#define HFET2_MOD_RDI 129 HFET2_MOD_RD,
#define HFET2_MOD_RS 130 HFET2_MOD_RDI,
#define HFET2_MOD_RSI 131 HFET2_MOD_RS,
#define HFET2_MOD_SIGMA0 132 HFET2_MOD_RSI,
#define HFET2_MOD_VS 133 HFET2_MOD_SIGMA0,
#define HFET2_MOD_VSIGMA 134 HFET2_MOD_VS,
#define HFET2_MOD_VSIGMAT 135 HFET2_MOD_VSIGMA,
#define HFET2_MOD_VT1 136 HFET2_MOD_VSIGMAT,
#define HFET2_MOD_VT2 137 HFET2_MOD_VT1,
#define HFET2_MOD_VTO 138 HFET2_MOD_VT2,
#define HFET2_MOD_TYPE 139 HFET2_MOD_VTO,
HFET2_MOD_TYPE,
};
/* device questions */ /* device questions */
#define HFET2_DRAINNODE 201 enum {
#define HFET2_GATENODE 202 HFET2_DRAINNODE = 201,
#define HFET2_SOURCENODE 203 HFET2_GATENODE,
#define HFET2_DRAINPRIMENODE 204 HFET2_SOURCENODE,
#define HFET2_SOURCEPRIMENODE 205 HFET2_DRAINPRIMENODE,
HFET2_SOURCEPRIMENODE,
#define HFET2_VGS 206 HFET2_VGS,
#define HFET2_VGD 207 HFET2_VGD,
#define HFET2_CG 208 HFET2_CG,
#define HFET2_CD 209 HFET2_CD,
#define HFET2_CGD 210 HFET2_CGD,
#define HFET2_GM 211 HFET2_GM,
#define HFET2_GDS 212 HFET2_GDS,
#define HFET2_GGS 213 HFET2_GGS,
#define HFET2_GGD 214 HFET2_GGD,
#define HFET2_QGS 215 HFET2_QGS,
#define HFET2_CQGS 216 HFET2_CQGS,
#define HFET2_QGD 217 HFET2_QGD,
#define HFET2_CQGD 218 HFET2_CQGD,
};
/* model questions */ /* model questions */
#define HFET2_MOD_DRAINCONDUCT 301 enum {
#define HFET2_MOD_SOURCECONDUCT 302 HFET2_MOD_DRAINCONDUCT = 301,
#define HFET2_MOD_DEPLETIONCAP 303 HFET2_MOD_SOURCECONDUCT,
#define HFET2_MOD_VCRIT 304 HFET2_MOD_DEPLETIONCAP,
HFET2_MOD_VCRIT,
};
#define CF (model->HFET2cf) #define CF (model->HFET2cf)
#define D1 (model->HFET2d1) #define D1 (model->HFET2d1)

View File

@ -172,56 +172,65 @@ struct INDsystem {
/* device parameters */ /* device parameters */
#define IND_IND 1 enum {
#define IND_IC 2 IND_IND = 1,
#define IND_FLUX 3 IND_IC,
#define IND_VOLT 4 IND_FLUX,
#define IND_IND_SENS 5 IND_VOLT,
#define IND_CURRENT 6 IND_IND_SENS,
#define IND_POWER 7 IND_CURRENT,
#define IND_M 8 IND_POWER,
#define IND_TEMP 9 IND_M,
#define IND_DTEMP 10 IND_TEMP,
#define IND_SCALE 11 IND_DTEMP,
#define IND_NT 12 IND_SCALE,
#define IND_TC1 13 IND_NT,
#define IND_TC2 14 IND_TC1,
IND_TC2,
};
/* model parameters */ /* model parameters */
#define IND_MOD_IND 100 enum {
#define IND_MOD_TC1 101 IND_MOD_IND = 100,
#define IND_MOD_TC2 102 IND_MOD_TC1,
#define IND_MOD_TNOM 103 IND_MOD_TC2,
#define IND_MOD_CSECT 104 IND_MOD_TNOM,
#define IND_MOD_LENGTH 105 IND_MOD_CSECT,
#define IND_MOD_NT 106 IND_MOD_LENGTH,
#define IND_MOD_MU 107 IND_MOD_NT,
#define IND_MOD_L 108 IND_MOD_MU,
IND_MOD_L,
};
/* device questions */ /* device questions */
#define IND_QUEST_SENS_REAL 201 enum {
#define IND_QUEST_SENS_IMAG 202 IND_QUEST_SENS_REAL = 201,
#define IND_QUEST_SENS_MAG 203 IND_QUEST_SENS_IMAG,
#define IND_QUEST_SENS_PH 204 IND_QUEST_SENS_MAG,
#define IND_QUEST_SENS_CPLX 205 IND_QUEST_SENS_PH,
#define IND_QUEST_SENS_DC 206 IND_QUEST_SENS_CPLX,
IND_QUEST_SENS_DC,
};
/* device parameters */ /* device parameters */
#define MUT_COEFF 401 enum {
#define MUT_IND1 402 MUT_COEFF = 401,
#define MUT_IND2 403 MUT_IND1,
#define MUT_COEFF_SENS 404 MUT_IND2,
MUT_COEFF_SENS,
};
/* model parameters */ /* model parameters */
/* device questions */ /* device questions */
#define MUT_QUEST_SENS_REAL 601 enum {
#define MUT_QUEST_SENS_IMAG 602 MUT_QUEST_SENS_REAL = 601,
#define MUT_QUEST_SENS_MAG 603 MUT_QUEST_SENS_IMAG,
#define MUT_QUEST_SENS_PH 604 MUT_QUEST_SENS_MAG,
#define MUT_QUEST_SENS_CPLX 605 MUT_QUEST_SENS_PH,
#define MUT_QUEST_SENS_DC 606 MUT_QUEST_SENS_CPLX,
MUT_QUEST_SENS_DC,
};
#include "indext.h" #include "indext.h"

View File

@ -89,45 +89,52 @@ typedef struct sISRCmodel {
#ifndef PULSE_FUN_TYPES #ifndef PULSE_FUN_TYPES
#define PULSE_FUN_TYPES #define PULSE_FUN_TYPES
#define PULSE 1 enum {
#define SINE 2 PULSE = 1,
#define EXP 3 SINE,
#define SFFM 4 EXP,
#define PWL 5 SFFM,
#define AM 6 PWL,
#define TRNOISE 7 AM,
#define TRRANDOM 8 TRNOISE,
#define EXTERNAL 9 TRRANDOM,
EXTERNAL,
};
#endif #endif
/* device parameters */ /* device parameters */
#define ISRC_DC 1 enum {
#define ISRC_M 2 ISRC_DC = 1,
#define ISRC_AC_MAG 3 ISRC_M,
#define ISRC_AC_PHASE 4 ISRC_AC_MAG,
#define ISRC_AC 5 ISRC_AC_PHASE,
#define ISRC_PULSE 6 ISRC_AC,
#define ISRC_SINE 7 ISRC_PULSE,
#define ISRC_EXP 8 ISRC_SINE,
#define ISRC_PWL 9 ISRC_EXP,
#define ISRC_SFFM 10 ISRC_PWL,
#define ISRC_NEG_NODE 11 ISRC_SFFM,
#define ISRC_POS_NODE 12 ISRC_NEG_NODE,
#define ISRC_AC_REAL 13 ISRC_POS_NODE,
#define ISRC_AC_IMAG 14 ISRC_AC_REAL,
#define ISRC_FCN_TYPE 15 ISRC_AC_IMAG,
#define ISRC_FCN_ORDER 16 ISRC_FCN_TYPE,
#define ISRC_FCN_COEFFS 17 ISRC_FCN_ORDER,
#define ISRC_POWER 18 ISRC_FCN_COEFFS,
#define ISRC_D_F1 19 ISRC_POWER,
#define ISRC_D_F2 20 ISRC_D_F1,
#define ISRC_VOLTS 21 ISRC_D_F2,
ISRC_VOLTS,
ISRC_AM,
ISRC_CURRENT,
};
#define ISRC_AM 22 enum {
#define ISRC_CURRENT 23 ISRC_TRNOISE = 25,
#define ISRC_TRNOISE 25 ISRC_TRRANDOM,
#define ISRC_TRRANDOM 26 ISRC_EXTERNAL,
#define ISRC_EXTERNAL 27 };
/* model parameters */ /* model parameters */

View File

@ -19,13 +19,14 @@ Sydney University mods Copyright(c) 1989 Anthony E. Parker, David J. Skellern
/* indices to an array of JFET noise sources */ /* indices to an array of JFET noise sources */
#define JFETRDNOIZ 0 enum {
#define JFETRSNOIZ 1 JFETRDNOIZ = 0,
#define JFETIDNOIZ 2 JFETRSNOIZ,
#define JFETFLNOIZ 3 JFETIDNOIZ,
#define JFETTOTNOIZ 4 JFETFLNOIZ,
JFETTOTNOIZ,
#define JFETNSRCS 5 JFETNSRCS,
};
/* information used to describe a single instance */ /* information used to describe a single instance */
@ -240,67 +241,73 @@ typedef struct sJFETmodel { /* model structure for a jfet */
#endif /*NJF*/ #endif /*NJF*/
/* device parameters */ /* device parameters */
#define JFET_AREA 1 enum {
#define JFET_IC_VDS 2 JFET_AREA = 1,
#define JFET_IC_VGS 3 JFET_IC_VDS,
#define JFET_IC 4 JFET_IC_VGS,
#define JFET_OFF 5 JFET_IC,
#define JFET_TEMP 6 JFET_OFF,
#define JFET_DTEMP 7 JFET_TEMP,
#define JFET_M 8 JFET_DTEMP,
JFET_M,
};
/* model parameters */ /* model parameters */
#define JFET_MOD_VTO 101 enum {
#define JFET_MOD_BETA 102 JFET_MOD_VTO = 101,
#define JFET_MOD_LAMBDA 103 JFET_MOD_BETA,
#define JFET_MOD_RD 104 JFET_MOD_LAMBDA,
#define JFET_MOD_RS 105 JFET_MOD_RD,
#define JFET_MOD_CGS 106 JFET_MOD_RS,
#define JFET_MOD_CGD 107 JFET_MOD_CGS,
#define JFET_MOD_PB 108 JFET_MOD_CGD,
#define JFET_MOD_IS 109 JFET_MOD_PB,
#define JFET_MOD_FC 110 JFET_MOD_IS,
#define JFET_MOD_NJF 111 JFET_MOD_FC,
#define JFET_MOD_PJF 112 JFET_MOD_NJF,
#define JFET_MOD_TNOM 113 JFET_MOD_PJF,
#define JFET_MOD_KF 114 JFET_MOD_TNOM,
#define JFET_MOD_AF 115 JFET_MOD_KF,
/* Modification for Sydney University JFET model */ JFET_MOD_AF,
#define JFET_MOD_B 116 JFET_MOD_B,
/* end Sydney University mod */ JFET_MOD_TCV,
#define JFET_MOD_TCV 117 JFET_MOD_BEX,
#define JFET_MOD_BEX 118 JFET_MOD_NLEV,
#define JFET_MOD_NLEV 119 JFET_MOD_GDSNOI,
#define JFET_MOD_GDSNOI 120 };
/* device questions */ /* device questions */
#define JFET_DRAINNODE 301 enum {
#define JFET_GATENODE 302 JFET_DRAINNODE = 301,
#define JFET_SOURCENODE 303 JFET_GATENODE,
#define JFET_DRAINPRIMENODE 304 JFET_SOURCENODE,
#define JFET_SOURCEPRIMENODE 305 JFET_DRAINPRIMENODE,
#define JFET_VGS 306 JFET_SOURCEPRIMENODE,
#define JFET_VGD 307 JFET_VGS,
#define JFET_CG 308 JFET_VGD,
#define JFET_CD 309 JFET_CG,
#define JFET_CGD 310 JFET_CD,
#define JFET_GM 311 JFET_CGD,
#define JFET_GDS 312 JFET_GM,
#define JFET_GGS 313 JFET_GDS,
#define JFET_GGD 314 JFET_GGS,
#define JFET_QGS 315 JFET_GGD,
#define JFET_CQGS 316 JFET_QGS,
#define JFET_QGD 317 JFET_CQGS,
#define JFET_CQGD 318 JFET_QGD,
#define JFET_CS 319 JFET_CQGD,
#define JFET_POWER 320 JFET_CS,
JFET_POWER,
};
/* model questions */ /* model questions */
#define JFET_MOD_DRAINCONDUCT 301 enum {
#define JFET_MOD_SOURCECONDUCT 302 JFET_MOD_DRAINCONDUCT = 301,
#define JFET_MOD_DEPLETIONCAP 303 JFET_MOD_SOURCECONDUCT,
#define JFET_MOD_VCRIT 304 JFET_MOD_DEPLETIONCAP,
#define JFET_MOD_TYPE 305 JFET_MOD_VCRIT,
JFET_MOD_TYPE,
};
/* function definitions */ /* function definitions */

View File

@ -24,13 +24,14 @@ Modified to add PS model and new parameter definitions ( Anthony E. Parker )
/* indices to an array of JFET2 noise sources */ /* indices to an array of JFET2 noise sources */
#define JFET2RDNOIZ 0 enum {
#define JFET2RSNOIZ 1 JFET2RDNOIZ = 0,
#define JFET2IDNOIZ 2 JFET2RSNOIZ,
#define JFET2FLNOIZ 3 JFET2IDNOIZ,
#define JFET2TOTNOIZ 4 JFET2FLNOIZ,
JFET2TOTNOIZ,
#define JFET2NSRCS 5 JFET2NSRCS,
};
/* information used to describe a single instance */ /* information used to describe a single instance */
@ -218,45 +219,51 @@ typedef struct sJFET2model { /* model structure for a jfet */
#endif /*NJF*/ #endif /*NJF*/
/* device parameters */ /* device parameters */
#define JFET2_AREA 1 enum {
#define JFET2_IC_VDS 2 JFET2_AREA = 1,
#define JFET2_IC_VGS 3 JFET2_IC_VDS,
#define JFET2_IC 4 JFET2_IC_VGS,
#define JFET2_OFF 5 JFET2_IC,
#define JFET2_TEMP 6 JFET2_OFF,
#define JFET2_DTEMP 7 JFET2_TEMP,
#define JFET2_M 8 JFET2_DTEMP,
JFET2_M,
};
/* device questions */ /* device questions */
#define JFET2_DRAINNODE 301 enum {
#define JFET2_GATENODE 302 JFET2_DRAINNODE = 301,
#define JFET2_SOURCENODE 303 JFET2_GATENODE,
#define JFET2_DRAINPRIMENODE 304 JFET2_SOURCENODE,
#define JFET2_SOURCEPRIMENODE 305 JFET2_DRAINPRIMENODE,
#define JFET2_VGS 306 JFET2_SOURCEPRIMENODE,
#define JFET2_VGD 307 JFET2_VGS,
#define JFET2_CG 308 JFET2_VGD,
#define JFET2_CD 309 JFET2_CG,
#define JFET2_CGD 310 JFET2_CD,
#define JFET2_GM 311 JFET2_CGD,
#define JFET2_GDS 312 JFET2_GM,
#define JFET2_GGS 313 JFET2_GDS,
#define JFET2_GGD 314 JFET2_GGS,
#define JFET2_QGS 315 JFET2_GGD,
#define JFET2_CQGS 316 JFET2_QGS,
#define JFET2_QGD 317 JFET2_CQGS,
#define JFET2_CQGD 318 JFET2_QGD,
#define JFET2_CS 319 JFET2_CQGD,
#define JFET2_POWER 320 JFET2_CS,
#define JFET2_VTRAP 321 JFET2_POWER,
#define JFET2_PAVE 322 JFET2_VTRAP,
JFET2_PAVE,
};
/* model questions */ /* model questions */
#define JFET2_MOD_DRAINCONDUCT 301 enum {
#define JFET2_MOD_SOURCECONDUCT 302 JFET2_MOD_DRAINCONDUCT = 301,
#define JFET2_MOD_DEPLETIONCAP 303 JFET2_MOD_SOURCECONDUCT,
#define JFET2_MOD_VCRIT 304 JFET2_MOD_DEPLETIONCAP,
#define JFET2_MOD_TYPE 305 JFET2_MOD_VCRIT,
JFET2_MOD_TYPE,
};
/* function definitions */ /* function definitions */

View File

@ -181,59 +181,61 @@ typedef struct sLTRAmodel { /* model structure for a transmission lines */
} LTRAmodel; } LTRAmodel;
/* device parameters */ /* device parameters */
#define LTRA_MOD_LTRA 0 enum {
#define LTRA_MOD_R 1 LTRA_MOD_LTRA = 0,
#define LTRA_MOD_L 2 LTRA_MOD_R,
#define LTRA_MOD_G 3 LTRA_MOD_L,
#define LTRA_MOD_C 4 LTRA_MOD_G,
#define LTRA_MOD_LEN 5 LTRA_MOD_C,
#define LTRA_V1 6 LTRA_MOD_LEN,
#define LTRA_I1 7 LTRA_V1,
#define LTRA_V2 8 LTRA_I1,
#define LTRA_I2 9 LTRA_V2,
#define LTRA_IC 10 LTRA_I2,
#define LTRA_MOD_RELTOL 11 LTRA_IC,
#define LTRA_MOD_ABSTOL 12 LTRA_MOD_RELTOL,
#define LTRA_POS_NODE1 13 LTRA_MOD_ABSTOL,
#define LTRA_NEG_NODE1 14 LTRA_POS_NODE1,
#define LTRA_POS_NODE2 15 LTRA_NEG_NODE1,
#define LTRA_NEG_NODE2 16 LTRA_POS_NODE2,
#define LTRA_INPUT1 17 LTRA_NEG_NODE2,
#define LTRA_INPUT2 18 LTRA_INPUT1,
#define LTRA_DELAY 19 LTRA_INPUT2,
#define LTRA_BR_EQ1 20 LTRA_DELAY,
#define LTRA_BR_EQ2 21 LTRA_BR_EQ1,
#define LTRA_MOD_NL 22 LTRA_BR_EQ2,
#define LTRA_MOD_FREQ 23 LTRA_MOD_NL,
#define LTRA_MOD_Z0 24 LTRA_MOD_FREQ,
#define LTRA_MOD_TD 25 LTRA_MOD_Z0,
LTRA_MOD_TD,
LTRA_MOD_FULLCONTROL,
LTRA_MOD_HALFCONTROL,
LTRA_MOD_NOCONTROL,
LTRA_MOD_PRINT,
LTRA_MOD_NOPRINT,
};
#define LTRA_MOD_FULLCONTROL 26
#define LTRA_MOD_HALFCONTROL 27
#define LTRA_MOD_NOCONTROL 28
#define LTRA_MOD_PRINT 29
#define LTRA_MOD_NOPRINT 30
/* /*
#define LTRA_MOD_RONLY 31 #define LTRA_MOD_RONLY 31
*/ */
#define LTRA_MOD_STEPLIMIT 32 enum {
#define LTRA_MOD_NOSTEPLIMIT 33 LTRA_MOD_STEPLIMIT = 32,
#define LTRA_MOD_LININTERP 34 LTRA_MOD_NOSTEPLIMIT,
#define LTRA_MOD_QUADINTERP 35 LTRA_MOD_LININTERP,
#define LTRA_MOD_MIXEDINTERP 36 LTRA_MOD_QUADINTERP,
#define LTRA_MOD_RLC 37 LTRA_MOD_MIXEDINTERP,
#define LTRA_MOD_RC 38 LTRA_MOD_RLC,
#define LTRA_MOD_RG 39 LTRA_MOD_RC,
#define LTRA_MOD_LC 40 LTRA_MOD_RG,
#define LTRA_MOD_RL 41 LTRA_MOD_LC,
#define LTRA_MOD_STLINEREL 42 LTRA_MOD_RL,
#define LTRA_MOD_STLINEABS 43 LTRA_MOD_STLINEREL,
#define LTRA_MOD_CHOPREL 44 LTRA_MOD_STLINEABS,
#define LTRA_MOD_CHOPABS 45 LTRA_MOD_CHOPREL,
#define LTRA_MOD_TRUNCNR 46 LTRA_MOD_CHOPABS,
#define LTRA_MOD_TRUNCDONTCUT 47 LTRA_MOD_TRUNCNR,
LTRA_MOD_TRUNCDONTCUT,
};
/* model parameters */ /* model parameters */

View File

@ -18,13 +18,16 @@ Author: 1985 S. Hwang
/* indices to the array of MESFET noise sources */ /* indices to the array of MESFET noise sources */
#define MESRDNOIZ 0 enum {
#define MESRSNOIZ 1 MESRDNOIZ = 0,
#define MESIDNOIZ 2 MESRSNOIZ,
#define MESFLNOIZ 3 MESIDNOIZ,
#define MESTOTNOIZ 4 MESFLNOIZ,
MESTOTNOIZ,
MESNSRCS,
};
#define MESNSRCS 5 /* the number of MESFET noise sources */ /* the number of MESFET noise sources */
/* information used to describe a single instance */ /* information used to describe a single instance */
@ -222,62 +225,69 @@ typedef struct sMESmodel { /* model structure for a mesfet */
#endif /*NMF*/ #endif /*NMF*/
/* device parameters */ /* device parameters */
#define MES_AREA 1 enum {
#define MES_IC_VDS 2 MES_AREA = 1,
#define MES_IC_VGS 3 MES_IC_VDS,
#define MES_IC 4 MES_IC_VGS,
#define MES_OFF 5 MES_IC,
#define MES_CS 6 MES_OFF,
#define MES_POWER 7 MES_CS,
#define MES_M 8 MES_POWER,
MES_M,
};
/* model parameters */ /* model parameters */
#define MES_MOD_VTO 101 enum {
#define MES_MOD_ALPHA 102 MES_MOD_VTO = 101,
#define MES_MOD_BETA 103 MES_MOD_ALPHA,
#define MES_MOD_LAMBDA 104 MES_MOD_BETA,
#define MES_MOD_B 105 MES_MOD_LAMBDA,
#define MES_MOD_RD 106 MES_MOD_B,
#define MES_MOD_RS 107 MES_MOD_RD,
#define MES_MOD_CGS 108 MES_MOD_RS,
#define MES_MOD_CGD 109 MES_MOD_CGS,
#define MES_MOD_PB 110 MES_MOD_CGD,
#define MES_MOD_IS 111 MES_MOD_PB,
#define MES_MOD_FC 112 MES_MOD_IS,
#define MES_MOD_NMF 113 MES_MOD_FC,
#define MES_MOD_PMF 114 MES_MOD_NMF,
#define MES_MOD_KF 115 MES_MOD_PMF,
#define MES_MOD_AF 116 MES_MOD_KF,
MES_MOD_AF,
};
/* device questions */ /* device questions */
#define MES_DRAINNODE 201 enum {
#define MES_GATENODE 202 MES_DRAINNODE = 201,
#define MES_SOURCENODE 203 MES_GATENODE,
#define MES_DRAINPRIMENODE 204 MES_SOURCENODE,
#define MES_SOURCEPRIMENODE 205 MES_DRAINPRIMENODE,
MES_SOURCEPRIMENODE,
#define MES_VGS 206 MES_VGS,
#define MES_VGD 207 MES_VGD,
#define MES_CG 208 MES_CG,
#define MES_CD 209 MES_CD,
#define MES_CGD 210 MES_CGD,
#define MES_GM 211 MES_GM,
#define MES_GDS 212 MES_GDS,
#define MES_GGS 213 MES_GGS,
#define MES_GGD 214 MES_GGD,
#define MES_QGS 215 MES_QGS,
#define MES_CQGS 216 MES_CQGS,
#define MES_QGD 217 MES_QGD,
#define MES_CQGD 218 MES_CQGD,
};
/* model questions */ /* model questions */
#define MES_MOD_DRAINCONDUCT 301 enum {
#define MES_MOD_SOURCECONDUCT 302 MES_MOD_DRAINCONDUCT = 301,
#define MES_MOD_DEPLETIONCAP 303 MES_MOD_SOURCECONDUCT,
#define MES_MOD_VCRIT 304 MES_MOD_DEPLETIONCAP,
#define MES_MOD_TYPE 305 MES_MOD_VCRIT,
MES_MOD_TYPE,
};
#include "mesext.h" #include "mesext.h"

View File

@ -16,13 +16,16 @@ Author: Trond Ytterdal
/* indices to the array of MESAFET noise sources */ /* indices to the array of MESAFET noise sources */
#define MESARDNOIZ 0 enum {
#define MESARSNOIZ 1 MESARDNOIZ = 0,
#define MESAIDNOIZ 2 MESARSNOIZ,
#define MESAFLNOIZ 3 MESAIDNOIZ,
#define MESATOTNOIZ 4 MESAFLNOIZ,
MESATOTNOIZ,
MESANSRCS,
};
#define MESANSRCS 5 /* the number of MESAFET noise sources */ /* the number of MESAFET noise sources */
/* information used to describe a single instance */ /* information used to describe a single instance */
@ -369,111 +372,121 @@ typedef struct sMESAmodel { /* model structure for a MESAfet */
#endif #endif
/* device parameters */ /* device parameters */
#define MESA_LENGTH 1 enum {
#define MESA_WIDTH 2 MESA_LENGTH = 1,
#define MESA_IC_VDS 3 MESA_WIDTH,
#define MESA_IC_VGS 4 MESA_IC_VDS,
#define MESA_TD 5 MESA_IC_VGS,
#define MESA_TS 6 MESA_TD,
#define MESA_IC 7 MESA_TS,
#define MESA_OFF 8 MESA_IC,
#define MESA_CS 9 MESA_OFF,
#define MESA_POWER 10 MESA_CS,
#define MESA_DTEMP 11 MESA_POWER,
#define MESA_M 12 MESA_DTEMP,
MESA_M,
};
/* model parameters */ /* model parameters */
#define MESA_MOD_VTO 101 enum {
#define MESA_MOD_VS 102 MESA_MOD_VTO = 101,
#define MESA_MOD_LAMBDA 103 MESA_MOD_VS,
#define MESA_MOD_RD 104 MESA_MOD_LAMBDA,
#define MESA_MOD_RS 105 MESA_MOD_RD,
#define MESA_MOD_RG 106 MESA_MOD_RS,
#define MESA_MOD_RI 107 MESA_MOD_RG,
#define MESA_MOD_RF 108 MESA_MOD_RI,
#define MESA_MOD_RDI 109 MESA_MOD_RF,
#define MESA_MOD_RSI 110 MESA_MOD_RDI,
#define MESA_MOD_PHIB 111 MESA_MOD_RSI,
#define MESA_MOD_PHIB1 112 MESA_MOD_PHIB,
#define MESA_MOD_ASTAR 113 MESA_MOD_PHIB1,
#define MESA_MOD_GGR 114 MESA_MOD_ASTAR,
#define MESA_MOD_DEL 115 MESA_MOD_GGR,
#define MESA_MOD_XCHI 116 MESA_MOD_DEL,
#define MESA_MOD_N 117 MESA_MOD_XCHI,
#define MESA_MOD_ETA 118 MESA_MOD_N,
#define MESA_MOD_M 119 MESA_MOD_ETA,
#define MESA_MOD_MC 120 MESA_MOD_M,
#define MESA_MOD_SIGMA0 121 MESA_MOD_MC,
#define MESA_MOD_VSIGMAT 122 MESA_MOD_SIGMA0,
#define MESA_MOD_VSIGMA 123 MESA_MOD_VSIGMAT,
#define MESA_MOD_MU 124 MESA_MOD_VSIGMA,
#define MESA_MOD_MU1 125 MESA_MOD_MU,
#define MESA_MOD_MU2 126 MESA_MOD_MU1,
#define MESA_MOD_D 127 MESA_MOD_MU2,
#define MESA_MOD_ND 128 MESA_MOD_D,
#define MESA_MOD_DELTA 129 MESA_MOD_ND,
#define MESA_MOD_TC 130 MESA_MOD_DELTA,
#define MESA_MOD_NMF 131 MESA_MOD_TC,
#define MESA_MOD_TVTO 132 MESA_MOD_NMF,
#define MESA_MOD_TLAMBDA 134 MESA_MOD_TVTO,
#define MESA_MOD_TETA0 135 };
#define MESA_MOD_TETA1 136
#define MESA_MOD_TMU 137
#define MESA_MOD_XTM0 138
#define MESA_MOD_XTM1 139
#define MESA_MOD_XTM2 140
#define MESA_MOD_KS 141
#define MESA_MOD_VSG 142
#define MESA_MOD_LAMBDAHF 143
#define MESA_MOD_TF 144
#define MESA_MOD_FLO 145
#define MESA_MOD_DELFO 146
#define MESA_MOD_AG 147
#define MESA_MOD_THETA 148
#define MESA_MOD_ALPHA 149
#define MESA_MOD_TC1 150
#define MESA_MOD_TC2 151
#define MESA_MOD_ZETA 152
#define MESA_MOD_BETA 153
#define MESA_MOD_DU 154
#define MESA_MOD_NDU 155
#define MESA_MOD_TH 156
#define MESA_MOD_NDELTA 157
#define MESA_MOD_LEVEL 158
#define MESA_MOD_NMAX 159
#define MESA_MOD_GAMMA 160
#define MESA_MOD_EPSI 161
#define MESA_MOD_CBS 162
#define MESA_MOD_CAS 163
#define MESA_MOD_PMF 164
#define MESA_MOD_TYPE 165
#define MESA_DRAINNODE 201 enum {
#define MESA_GATENODE 202 MESA_MOD_TLAMBDA = 134,
#define MESA_SOURCENODE 203 MESA_MOD_TETA0,
#define MESA_DRAINPRIMENODE 204 MESA_MOD_TETA1,
#define MESA_SOURCEPRIMENODE 205 MESA_MOD_TMU,
#define MESA_GATEPRIMENODE 206 MESA_MOD_XTM0,
MESA_MOD_XTM1,
MESA_MOD_XTM2,
MESA_MOD_KS,
MESA_MOD_VSG,
MESA_MOD_LAMBDAHF,
MESA_MOD_TF,
MESA_MOD_FLO,
MESA_MOD_DELFO,
MESA_MOD_AG,
MESA_MOD_THETA,
MESA_MOD_ALPHA,
MESA_MOD_TC1,
MESA_MOD_TC2,
MESA_MOD_ZETA,
MESA_MOD_BETA,
MESA_MOD_DU,
MESA_MOD_NDU,
MESA_MOD_TH,
MESA_MOD_NDELTA,
MESA_MOD_LEVEL,
MESA_MOD_NMAX,
MESA_MOD_GAMMA,
MESA_MOD_EPSI,
MESA_MOD_CBS,
MESA_MOD_CAS,
MESA_MOD_PMF,
MESA_MOD_TYPE,
};
#define MESA_VGS 207 enum {
#define MESA_VGD 208 MESA_DRAINNODE = 201,
#define MESA_CG 209 MESA_GATENODE,
#define MESA_CD 210 MESA_SOURCENODE,
#define MESA_CGD 211 MESA_DRAINPRIMENODE,
#define MESA_GM 212 MESA_SOURCEPRIMENODE,
#define MESA_GDS 213 MESA_GATEPRIMENODE,
#define MESA_GGS 214 MESA_VGS,
#define MESA_GGD 215 MESA_VGD,
#define MESA_QGS 216 MESA_CG,
#define MESA_CQGS 217 MESA_CD,
#define MESA_QGD 218 MESA_CGD,
#define MESA_CQGD 219 MESA_GM,
MESA_GDS,
MESA_GGS,
MESA_GGD,
MESA_QGS,
MESA_CQGS,
MESA_QGD,
MESA_CQGD,
};
#define MESA_MOD_DRAINCONDUCT 301 enum {
#define MESA_MOD_SOURCECONDUCT 302 MESA_MOD_DRAINCONDUCT = 301,
#define MESA_MOD_GATECONDUCT 303 MESA_MOD_SOURCECONDUCT,
#define MESA_MOD_DEPLETIONCAP 304 MESA_MOD_GATECONDUCT,
#define MESA_MOD_VCRIT 305 MESA_MOD_DEPLETIONCAP,
MESA_MOD_VCRIT,
};
#include "mesaext.h" #include "mesaext.h"

View File

@ -17,13 +17,16 @@ Modified: 2000 AlansFixes
/* indices to the array of MOSFET(1) noise sources */ /* indices to the array of MOSFET(1) noise sources */
#define MOS1RDNOIZ 0 enum {
#define MOS1RSNOIZ 1 MOS1RDNOIZ = 0,
#define MOS1IDNOIZ 2 MOS1RSNOIZ,
#define MOS1FLNOIZ 3 MOS1IDNOIZ,
#define MOS1TOTNOIZ 4 MOS1FLNOIZ,
MOS1TOTNOIZ,
MOS1NSRCS,
};
#define MOS1NSRCS 5 /* the number of MOS1FET noise sources*/ /* the number of MOS1FET noise sources*/
/* information needed for each instance */ /* information needed for each instance */
@ -397,123 +400,130 @@ typedef struct sMOS1model { /* model structure for a resistor */
#endif /*NMOS*/ #endif /*NMOS*/
/* device parameters */ /* device parameters */
#define MOS1_W 1 enum {
#define MOS1_L 2 MOS1_W = 1,
#define MOS1_AS 3 MOS1_L,
#define MOS1_AD 4 MOS1_AS,
#define MOS1_PS 5 MOS1_AD,
#define MOS1_PD 6 MOS1_PS,
#define MOS1_NRS 7 MOS1_PD,
#define MOS1_NRD 8 MOS1_NRS,
#define MOS1_OFF 9 MOS1_NRD,
#define MOS1_IC 10 MOS1_OFF,
#define MOS1_IC_VBS 11 MOS1_IC,
#define MOS1_IC_VDS 12 MOS1_IC_VBS,
#define MOS1_IC_VGS 13 MOS1_IC_VDS,
#define MOS1_W_SENS 14 MOS1_IC_VGS,
#define MOS1_L_SENS 15 MOS1_W_SENS,
#define MOS1_CB 16 MOS1_L_SENS,
#define MOS1_CG 17 MOS1_CB,
#define MOS1_CS 18 MOS1_CG,
#define MOS1_POWER 19 MOS1_CS,
#define MOS1_TEMP 20 MOS1_POWER,
#define MOS1_M 21 MOS1_TEMP,
#define MOS1_DTEMP 22 MOS1_M,
MOS1_DTEMP,
};
/* model paramerers */ /* model paramerers */
#define MOS1_MOD_VTO 101 enum {
#define MOS1_MOD_KP 102 MOS1_MOD_VTO = 101,
#define MOS1_MOD_GAMMA 103 MOS1_MOD_KP,
#define MOS1_MOD_PHI 104 MOS1_MOD_GAMMA,
#define MOS1_MOD_LAMBDA 105 MOS1_MOD_PHI,
#define MOS1_MOD_RD 106 MOS1_MOD_LAMBDA,
#define MOS1_MOD_RS 107 MOS1_MOD_RD,
#define MOS1_MOD_CBD 108 MOS1_MOD_RS,
#define MOS1_MOD_CBS 109 MOS1_MOD_CBD,
#define MOS1_MOD_IS 110 MOS1_MOD_CBS,
#define MOS1_MOD_PB 111 MOS1_MOD_IS,
#define MOS1_MOD_CGSO 112 MOS1_MOD_PB,
#define MOS1_MOD_CGDO 113 MOS1_MOD_CGSO,
#define MOS1_MOD_CGBO 114 MOS1_MOD_CGDO,
#define MOS1_MOD_CJ 115 MOS1_MOD_CGBO,
#define MOS1_MOD_MJ 116 MOS1_MOD_CJ,
#define MOS1_MOD_CJSW 117 MOS1_MOD_MJ,
#define MOS1_MOD_MJSW 118 MOS1_MOD_CJSW,
#define MOS1_MOD_JS 119 MOS1_MOD_MJSW,
#define MOS1_MOD_TOX 120 MOS1_MOD_JS,
#define MOS1_MOD_LD 121 MOS1_MOD_TOX,
#define MOS1_MOD_RSH 122 MOS1_MOD_LD,
#define MOS1_MOD_U0 123 MOS1_MOD_RSH,
#define MOS1_MOD_FC 124 MOS1_MOD_U0,
#define MOS1_MOD_NSUB 125 MOS1_MOD_FC,
#define MOS1_MOD_TPG 126 MOS1_MOD_NSUB,
#define MOS1_MOD_NSS 127 MOS1_MOD_TPG,
#define MOS1_MOD_NMOS 128 MOS1_MOD_NSS,
#define MOS1_MOD_PMOS 129 MOS1_MOD_NMOS,
#define MOS1_MOD_TNOM 130 MOS1_MOD_PMOS,
#define MOS1_MOD_KF 131 MOS1_MOD_TNOM,
#define MOS1_MOD_AF 132 MOS1_MOD_KF,
#define MOS1_MOD_TYPE 133 MOS1_MOD_AF,
MOS1_MOD_TYPE,
};
/* device questions */ /* device questions */
#define MOS1_CGS 201 enum {
#define MOS1_CGD 202 MOS1_CGS = 201,
#define MOS1_DNODE 203 MOS1_CGD,
#define MOS1_GNODE 204 MOS1_DNODE,
#define MOS1_SNODE 205 MOS1_GNODE,
#define MOS1_BNODE 206 MOS1_SNODE,
#define MOS1_DNODEPRIME 207 MOS1_BNODE,
#define MOS1_SNODEPRIME 208 MOS1_DNODEPRIME,
#define MOS1_SOURCECONDUCT 209 MOS1_SNODEPRIME,
#define MOS1_DRAINCONDUCT 210 MOS1_SOURCECONDUCT,
#define MOS1_VON 211 MOS1_DRAINCONDUCT,
#define MOS1_VDSAT 212 MOS1_VON,
#define MOS1_SOURCEVCRIT 213 MOS1_VDSAT,
#define MOS1_DRAINVCRIT 214 MOS1_SOURCEVCRIT,
#define MOS1_CD 215 MOS1_DRAINVCRIT,
#define MOS1_CBS 216 MOS1_CD,
#define MOS1_CBD 217 MOS1_CBS,
#define MOS1_GMBS 218 MOS1_CBD,
#define MOS1_GM 219 MOS1_GMBS,
#define MOS1_GDS 220 MOS1_GM,
#define MOS1_GBD 221 MOS1_GDS,
#define MOS1_GBS 222 MOS1_GBD,
#define MOS1_CAPBD 223 MOS1_GBS,
#define MOS1_CAPBS 224 MOS1_CAPBD,
#define MOS1_CAPZEROBIASBD 225 MOS1_CAPBS,
#define MOS1_CAPZEROBIASBDSW 226 MOS1_CAPZEROBIASBD,
#define MOS1_CAPZEROBIASBS 227 MOS1_CAPZEROBIASBDSW,
#define MOS1_CAPZEROBIASBSSW 228 MOS1_CAPZEROBIASBS,
#define MOS1_VBD 229 MOS1_CAPZEROBIASBSSW,
#define MOS1_VBS 230 MOS1_VBD,
#define MOS1_VGS 231 MOS1_VBS,
#define MOS1_VDS 232 MOS1_VGS,
#define MOS1_CAPGS 233 MOS1_VDS,
#define MOS1_QGS 234 MOS1_CAPGS,
#define MOS1_CQGS 235 MOS1_QGS,
#define MOS1_CAPGD 236 MOS1_CQGS,
#define MOS1_QGD 237 MOS1_CAPGD,
#define MOS1_CQGD 238 MOS1_QGD,
#define MOS1_CAPGB 239 MOS1_CQGD,
#define MOS1_QGB 240 MOS1_CAPGB,
#define MOS1_CQGB 241 MOS1_QGB,
#define MOS1_QBD 242 MOS1_CQGB,
#define MOS1_CQBD 243 MOS1_QBD,
#define MOS1_QBS 244 MOS1_CQBD,
#define MOS1_CQBS 245 MOS1_QBS,
#define MOS1_L_SENS_REAL 246 MOS1_CQBS,
#define MOS1_L_SENS_IMAG 247 MOS1_L_SENS_REAL,
#define MOS1_L_SENS_MAG 248 MOS1_L_SENS_IMAG,
#define MOS1_L_SENS_PH 249 MOS1_L_SENS_MAG,
#define MOS1_L_SENS_CPLX 250 MOS1_L_SENS_PH,
#define MOS1_W_SENS_REAL 251 MOS1_L_SENS_CPLX,
#define MOS1_W_SENS_IMAG 252 MOS1_W_SENS_REAL,
#define MOS1_W_SENS_MAG 253 MOS1_W_SENS_IMAG,
#define MOS1_W_SENS_PH 254 MOS1_W_SENS_MAG,
#define MOS1_W_SENS_CPLX 255 MOS1_W_SENS_PH,
#define MOS1_L_SENS_DC 256 MOS1_W_SENS_CPLX,
#define MOS1_W_SENS_DC 257 MOS1_L_SENS_DC,
#define MOS1_SOURCERESIST 258 MOS1_W_SENS_DC,
#define MOS1_DRAINRESIST 259 MOS1_SOURCERESIST,
MOS1_DRAINRESIST,
};
/* model questions */ /* model questions */

View File

@ -17,13 +17,16 @@ Modified: 2000 AlansFIxes
/* indices to the array of MOSFET(2) noise sources */ /* indices to the array of MOSFET(2) noise sources */
#define MOS2RDNOIZ 0 enum {
#define MOS2RSNOIZ 1 MOS2RDNOIZ = 0,
#define MOS2IDNOIZ 2 MOS2RSNOIZ,
#define MOS2FLNOIZ 3 MOS2IDNOIZ,
#define MOS2TOTNOIZ 4 MOS2FLNOIZ,
MOS2TOTNOIZ,
MOS2NSRCS,
};
#define MOS2NSRCS 5 /* the number of MOS2FET noise sources */ /* the number of MOS2FET noise sources */
/* information needed for each instance */ /* information needed for each instance */
@ -421,130 +424,136 @@ typedef struct sMOS2model { /* model structure for a resistor */
#endif /*NMOS*/ #endif /*NMOS*/
/* device parameters */ /* device parameters */
#define MOS2_W 1 enum {
#define MOS2_L 2 MOS2_W = 1,
#define MOS2_AS 3 MOS2_L,
#define MOS2_AD 4 MOS2_AS,
#define MOS2_PS 5 MOS2_AD,
#define MOS2_PD 6 MOS2_PS,
#define MOS2_NRS 7 MOS2_PD,
#define MOS2_NRD 8 MOS2_NRS,
#define MOS2_OFF 9 MOS2_NRD,
#define MOS2_IC 10 MOS2_OFF,
#define MOS2_IC_VBS 11 MOS2_IC,
#define MOS2_IC_VDS 12 MOS2_IC_VBS,
#define MOS2_IC_VGS 13 MOS2_IC_VDS,
#define MOS2_W_SENS 14 MOS2_IC_VGS,
#define MOS2_L_SENS 15 MOS2_W_SENS,
#define MOS2_CB 16 MOS2_L_SENS,
#define MOS2_CG 17 MOS2_CB,
#define MOS2_CS 18 MOS2_CG,
#define MOS2_POWER 19 MOS2_CS,
#define MOS2_CGS 20 MOS2_POWER,
#define MOS2_CGD 21 MOS2_CGS,
#define MOS2_DNODE 22 MOS2_CGD,
#define MOS2_GNODE 23 MOS2_DNODE,
#define MOS2_SNODE 24 MOS2_GNODE,
#define MOS2_BNODE 25 MOS2_SNODE,
#define MOS2_DNODEPRIME 26 MOS2_BNODE,
#define MOS2_SNODEPRIME 27 MOS2_DNODEPRIME,
#define MOS2_SOURCECONDUCT 28 MOS2_SNODEPRIME,
#define MOS2_DRAINCONDUCT 29 MOS2_SOURCECONDUCT,
#define MOS2_VON 30 MOS2_DRAINCONDUCT,
#define MOS2_VDSAT 31 MOS2_VON,
#define MOS2_SOURCEVCRIT 32 MOS2_VDSAT,
#define MOS2_DRAINVCRIT 33 MOS2_SOURCEVCRIT,
#define MOS2_CD 34 MOS2_DRAINVCRIT,
#define MOS2_CBS 35 MOS2_CD,
#define MOS2_CBD 36 MOS2_CBS,
#define MOS2_GMBS 37 MOS2_CBD,
#define MOS2_GM 38 MOS2_GMBS,
#define MOS2_GDS 39 MOS2_GM,
#define MOS2_GBD 40 MOS2_GDS,
#define MOS2_GBS 41 MOS2_GBD,
#define MOS2_CAPBD 42 MOS2_GBS,
#define MOS2_CAPBS 43 MOS2_CAPBD,
#define MOS2_CAPZEROBIASBD 44 MOS2_CAPBS,
#define MOS2_CAPZEROBIASBDSW 45 MOS2_CAPZEROBIASBD,
#define MOS2_CAPZEROBIASBS 46 MOS2_CAPZEROBIASBDSW,
#define MOS2_CAPZEROBIASBSSW 47 MOS2_CAPZEROBIASBS,
#define MOS2_VBD 48 MOS2_CAPZEROBIASBSSW,
#define MOS2_VBS 49 MOS2_VBD,
#define MOS2_VGS 50 MOS2_VBS,
#define MOS2_VDS 51 MOS2_VGS,
#define MOS2_CAPGS 52 MOS2_VDS,
#define MOS2_QGS 53 MOS2_CAPGS,
#define MOS2_CQGS 54 MOS2_QGS,
#define MOS2_CAPGD 55 MOS2_CQGS,
#define MOS2_QGD 56 MOS2_CAPGD,
#define MOS2_CQGD 57 MOS2_QGD,
#define MOS2_CAPGB 58 MOS2_CQGD,
#define MOS2_QGB 59 MOS2_CAPGB,
#define MOS2_CQGB 60 MOS2_QGB,
#define MOS2_QBD 61 MOS2_CQGB,
#define MOS2_CQBD 62 MOS2_QBD,
#define MOS2_QBS 63 MOS2_CQBD,
#define MOS2_CQBS 64 MOS2_QBS,
#define MOS2_W_SENS_REAL 65 MOS2_CQBS,
#define MOS2_W_SENS_IMAG 66 MOS2_W_SENS_REAL,
#define MOS2_W_SENS_MAG 67 MOS2_W_SENS_IMAG,
#define MOS2_W_SENS_PH 68 MOS2_W_SENS_MAG,
#define MOS2_W_SENS_CPLX 69 MOS2_W_SENS_PH,
#define MOS2_L_SENS_REAL 70 MOS2_W_SENS_CPLX,
#define MOS2_L_SENS_IMAG 71 MOS2_L_SENS_REAL,
#define MOS2_L_SENS_MAG 72 MOS2_L_SENS_IMAG,
#define MOS2_L_SENS_PH 73 MOS2_L_SENS_MAG,
#define MOS2_L_SENS_CPLX 74 MOS2_L_SENS_PH,
#define MOS2_L_SENS_DC 75 MOS2_L_SENS_CPLX,
#define MOS2_W_SENS_DC 76 MOS2_L_SENS_DC,
#define MOS2_TEMP 77 MOS2_W_SENS_DC,
#define MOS2_SOURCERESIST 78 MOS2_TEMP,
#define MOS2_DRAINRESIST 79 MOS2_SOURCERESIST,
#define MOS2_M 80 MOS2_DRAINRESIST,
#define MOS2_DTEMP 81 MOS2_M,
MOS2_DTEMP,
};
/* model paramerers */ /* model paramerers */
#define MOS2_MOD_VTO 101 enum {
#define MOS2_MOD_KP 102 MOS2_MOD_VTO = 101,
#define MOS2_MOD_GAMMA 103 MOS2_MOD_KP,
#define MOS2_MOD_PHI 104 MOS2_MOD_GAMMA,
#define MOS2_MOD_LAMBDA 105 MOS2_MOD_PHI,
#define MOS2_MOD_RD 106 MOS2_MOD_LAMBDA,
#define MOS2_MOD_RS 107 MOS2_MOD_RD,
#define MOS2_MOD_CBD 108 MOS2_MOD_RS,
#define MOS2_MOD_CBS 109 MOS2_MOD_CBD,
#define MOS2_MOD_IS 110 MOS2_MOD_CBS,
#define MOS2_MOD_PB 111 MOS2_MOD_IS,
#define MOS2_MOD_CGSO 112 MOS2_MOD_PB,
#define MOS2_MOD_CGDO 113 MOS2_MOD_CGSO,
#define MOS2_MOD_CGBO 114 MOS2_MOD_CGDO,
#define MOS2_MOD_CJ 115 MOS2_MOD_CGBO,
#define MOS2_MOD_MJ 116 MOS2_MOD_CJ,
#define MOS2_MOD_CJSW 117 MOS2_MOD_MJ,
#define MOS2_MOD_MJSW 118 MOS2_MOD_CJSW,
#define MOS2_MOD_JS 119 MOS2_MOD_MJSW,
#define MOS2_MOD_TOX 120 MOS2_MOD_JS,
#define MOS2_MOD_LD 121 MOS2_MOD_TOX,
#define MOS2_MOD_RSH 122 MOS2_MOD_LD,
#define MOS2_MOD_U0 123 MOS2_MOD_RSH,
#define MOS2_MOD_FC 124 MOS2_MOD_U0,
#define MOS2_MOD_NSUB 125 MOS2_MOD_FC,
#define MOS2_MOD_TPG 126 MOS2_MOD_NSUB,
#define MOS2_MOD_NSS 127 MOS2_MOD_TPG,
#define MOS2_MOD_NFS 128 MOS2_MOD_NSS,
#define MOS2_MOD_DELTA 129 MOS2_MOD_NFS,
#define MOS2_MOD_UEXP 130 MOS2_MOD_DELTA,
#define MOS2_MOD_VMAX 131 MOS2_MOD_UEXP,
#define MOS2_MOD_XJ 132 MOS2_MOD_VMAX,
#define MOS2_MOD_NEFF 133 MOS2_MOD_XJ,
#define MOS2_MOD_UCRIT 134 MOS2_MOD_NEFF,
#define MOS2_MOD_NMOS 135 MOS2_MOD_UCRIT,
#define MOS2_MOD_PMOS 136 MOS2_MOD_NMOS,
#define MOS2_MOD_TNOM 137 MOS2_MOD_PMOS,
#define MOS2_MOD_KF 139 MOS2_MOD_TNOM,
#define MOS2_MOD_AF 140 };
#define MOS2_MOD_TYPE 141
enum {
MOS2_MOD_KF = 139,
MOS2_MOD_AF,
MOS2_MOD_TYPE,
};
/* model questions */ /* model questions */

View File

@ -17,13 +17,16 @@ Modified: 2000 AlanFixes
/* indices to the array of MOSFET(3) noise sources */ /* indices to the array of MOSFET(3) noise sources */
#define MOS3RDNOIZ 0 enum {
#define MOS3RSNOIZ 1 MOS3RDNOIZ = 0,
#define MOS3IDNOIZ 2 MOS3RSNOIZ,
#define MOS3FLNOIZ 3 MOS3IDNOIZ,
#define MOS3TOTNOIZ 4 MOS3FLNOIZ,
MOS3TOTNOIZ,
MOS3NSRCS,
};
#define MOS3NSRCS 5 /* the number of MOSFET(3) noise sources */ /* the number of MOSFET(3) noise sources */
/* information needed for each instance */ /* information needed for each instance */
@ -424,138 +427,141 @@ typedef struct sMOS3model { /* model structure for a resistor */
#endif /*NMOS*/ #endif /*NMOS*/
/* device parameters */ /* device parameters */
#define MOS3_W 1 enum {
#define MOS3_L 2 MOS3_W = 1,
#define MOS3_AS 3 MOS3_L,
#define MOS3_AD 4 MOS3_AS,
#define MOS3_PS 5 MOS3_AD,
#define MOS3_PD 6 MOS3_PS,
#define MOS3_NRS 7 MOS3_PD,
#define MOS3_NRD 8 MOS3_NRS,
#define MOS3_OFF 9 MOS3_NRD,
#define MOS3_IC 10 MOS3_OFF,
#define MOS3_IC_VBS 11 MOS3_IC,
#define MOS3_IC_VDS 12 MOS3_IC_VBS,
#define MOS3_IC_VGS 13 MOS3_IC_VDS,
#define MOS3_W_SENS 14 MOS3_IC_VGS,
#define MOS3_L_SENS 15 MOS3_W_SENS,
#define MOS3_CB 16 MOS3_L_SENS,
#define MOS3_CG 17 MOS3_CB,
#define MOS3_CS 18 MOS3_CG,
#define MOS3_POWER 19 MOS3_CS,
#define MOS3_CGS 20 MOS3_POWER,
#define MOS3_CGD 21 MOS3_CGS,
#define MOS3_DNODE 22 MOS3_CGD,
#define MOS3_GNODE 23 MOS3_DNODE,
#define MOS3_SNODE 24 MOS3_GNODE,
#define MOS3_BNODE 25 MOS3_SNODE,
#define MOS3_DNODEPRIME 26 MOS3_BNODE,
#define MOS3_SNODEPRIME 27 MOS3_DNODEPRIME,
#define MOS3_SOURCECONDUCT 28 MOS3_SNODEPRIME,
#define MOS3_DRAINCONDUCT 29 MOS3_SOURCECONDUCT,
#define MOS3_VON 30 MOS3_DRAINCONDUCT,
#define MOS3_VDSAT 31 MOS3_VON,
#define MOS3_SOURCEVCRIT 32 MOS3_VDSAT,
#define MOS3_DRAINVCRIT 33 MOS3_SOURCEVCRIT,
#define MOS3_CD 34 MOS3_DRAINVCRIT,
#define MOS3_CBS 35 MOS3_CD,
#define MOS3_CBD 36 MOS3_CBS,
#define MOS3_GMBS 37 MOS3_CBD,
#define MOS3_GM 38 MOS3_GMBS,
#define MOS3_GDS 39 MOS3_GM,
#define MOS3_GBD 40 MOS3_GDS,
#define MOS3_GBS 41 MOS3_GBD,
#define MOS3_CAPBD 42 MOS3_GBS,
#define MOS3_CAPBS 43 MOS3_CAPBD,
#define MOS3_CAPZEROBIASBD 44 MOS3_CAPBS,
#define MOS3_CAPZEROBIASBDSW 45 MOS3_CAPZEROBIASBD,
#define MOS3_CAPZEROBIASBS 46 MOS3_CAPZEROBIASBDSW,
#define MOS3_CAPZEROBIASBSSW 47 MOS3_CAPZEROBIASBS,
#define MOS3_VBD 48 MOS3_CAPZEROBIASBSSW,
#define MOS3_VBS 49 MOS3_VBD,
#define MOS3_VGS 50 MOS3_VBS,
#define MOS3_VDS 51 MOS3_VGS,
#define MOS3_CAPGS 52 MOS3_VDS,
#define MOS3_QGS 53 MOS3_CAPGS,
#define MOS3_CQGS 54 MOS3_QGS,
#define MOS3_CAPGD 55 MOS3_CQGS,
#define MOS3_QGD 56 MOS3_CAPGD,
#define MOS3_CQGD 57 MOS3_QGD,
#define MOS3_CAPGB 58 MOS3_CQGD,
#define MOS3_QGB 59 MOS3_CAPGB,
#define MOS3_CQGB 60 MOS3_QGB,
#define MOS3_QBD 61 MOS3_CQGB,
#define MOS3_CQBD 62 MOS3_QBD,
#define MOS3_QBS 63 MOS3_CQBD,
#define MOS3_CQBS 64 MOS3_QBS,
#define MOS3_W_SENS_REAL 65 MOS3_CQBS,
#define MOS3_W_SENS_IMAG 66 MOS3_W_SENS_REAL,
#define MOS3_W_SENS_MAG 67 MOS3_W_SENS_IMAG,
#define MOS3_W_SENS_PH 68 MOS3_W_SENS_MAG,
#define MOS3_W_SENS_CPLX 69 MOS3_W_SENS_PH,
#define MOS3_L_SENS_REAL 70 MOS3_W_SENS_CPLX,
#define MOS3_L_SENS_IMAG 71 MOS3_L_SENS_REAL,
#define MOS3_L_SENS_MAG 72 MOS3_L_SENS_IMAG,
#define MOS3_L_SENS_PH 73 MOS3_L_SENS_MAG,
#define MOS3_L_SENS_CPLX 74 MOS3_L_SENS_PH,
#define MOS3_W_SENS_DC 75 MOS3_L_SENS_CPLX,
#define MOS3_L_SENS_DC 76 MOS3_W_SENS_DC,
#define MOS3_TEMP 77 MOS3_L_SENS_DC,
#define MOS3_SOURCERESIST 78 MOS3_TEMP,
#define MOS3_DRAINRESIST 79 MOS3_SOURCERESIST,
#define MOS3_M 80 MOS3_DRAINRESIST,
#define MOS3_DTEMP 81 MOS3_M,
MOS3_DTEMP,
};
/* model parameters */ /* model parameters */
#define MOS3_MOD_VTO 101 enum {
#define MOS3_MOD_KP 102 MOS3_MOD_VTO = 101,
#define MOS3_MOD_GAMMA 103 MOS3_MOD_KP,
#define MOS3_MOD_PHI 104 MOS3_MOD_GAMMA,
#define MOS3_MOD_RD 105 MOS3_MOD_PHI,
#define MOS3_MOD_RS 106 MOS3_MOD_RD,
#define MOS3_MOD_CBD 107 MOS3_MOD_RS,
#define MOS3_MOD_CBS 108 MOS3_MOD_CBD,
#define MOS3_MOD_IS 109 MOS3_MOD_CBS,
#define MOS3_MOD_PB 110 MOS3_MOD_IS,
#define MOS3_MOD_CGSO 111 MOS3_MOD_PB,
#define MOS3_MOD_CGDO 112 MOS3_MOD_CGSO,
#define MOS3_MOD_CGBO 113 MOS3_MOD_CGDO,
#define MOS3_MOD_RSH 114 MOS3_MOD_CGBO,
#define MOS3_MOD_CJ 115 MOS3_MOD_RSH,
#define MOS3_MOD_MJ 116 MOS3_MOD_CJ,
#define MOS3_MOD_CJSW 117 MOS3_MOD_MJ,
#define MOS3_MOD_MJSW 118 MOS3_MOD_CJSW,
#define MOS3_MOD_JS 119 MOS3_MOD_MJSW,
#define MOS3_MOD_TOX 120 MOS3_MOD_JS,
#define MOS3_MOD_LD 121 MOS3_MOD_TOX,
#define MOS3_MOD_U0 122 MOS3_MOD_LD,
#define MOS3_MOD_FC 123 MOS3_MOD_U0,
#define MOS3_MOD_NSUB 124 MOS3_MOD_FC,
#define MOS3_MOD_TPG 125 MOS3_MOD_NSUB,
#define MOS3_MOD_NSS 126 MOS3_MOD_TPG,
#define MOS3_MOD_ETA 127 MOS3_MOD_NSS,
#define MOS3_MOD_DELTA 128 MOS3_MOD_ETA,
#define MOS3_MOD_NFS 129 MOS3_MOD_DELTA,
#define MOS3_MOD_THETA 130 MOS3_MOD_NFS,
#define MOS3_MOD_VMAX 131 MOS3_MOD_THETA,
#define MOS3_MOD_KAPPA 132 MOS3_MOD_VMAX,
#define MOS3_MOD_NMOS 133 MOS3_MOD_KAPPA,
#define MOS3_MOD_PMOS 134 MOS3_MOD_NMOS,
#define MOS3_MOD_XJ 135 MOS3_MOD_PMOS,
#define MOS3_MOD_UEXP 136 MOS3_MOD_XJ,
#define MOS3_MOD_NEFF 137 MOS3_MOD_UEXP,
#define MOS3_MOD_XD 138 MOS3_MOD_NEFF,
#define MOS3_MOD_ALPHA 139 MOS3_MOD_XD,
#define MOS3_DELTA 140 MOS3_MOD_ALPHA,
#define MOS3_MOD_TNOM 141 MOS3_DELTA,
#define MOS3_MOD_KF 142 MOS3_MOD_TNOM,
#define MOS3_MOD_AF 143 MOS3_MOD_KF,
#define MOS3_MOD_TYPE 144 MOS3_MOD_AF,
MOS3_MOD_TYPE,
#define MOS3_MOD_XL 145 MOS3_MOD_XL,
#define MOS3_MOD_WD 146 MOS3_MOD_WD,
#define MOS3_MOD_XW 147 MOS3_MOD_XW,
#define MOS3_MOD_DELVTO 148 MOS3_MOD_DELVTO,
};
/* device questions */ /* device questions */

View File

@ -341,131 +341,137 @@ typedef struct sMOS6model { /* model structure for a resistor */
#endif /*NMOS*/ #endif /*NMOS*/
/* device parameters */ /* device parameters */
#define MOS6_W 1 enum {
#define MOS6_L 2 MOS6_W = 1,
#define MOS6_AS 3 MOS6_L,
#define MOS6_AD 4 MOS6_AS,
#define MOS6_PS 5 MOS6_AD,
#define MOS6_PD 6 MOS6_PS,
#define MOS6_NRS 7 MOS6_PD,
#define MOS6_NRD 8 MOS6_NRS,
#define MOS6_OFF 9 MOS6_NRD,
#define MOS6_IC 10 MOS6_OFF,
#define MOS6_IC_VBS 11 MOS6_IC,
#define MOS6_IC_VDS 12 MOS6_IC_VBS,
#define MOS6_IC_VGS 13 MOS6_IC_VDS,
#define MOS6_W_SENS 14 MOS6_IC_VGS,
#define MOS6_L_SENS 15 MOS6_W_SENS,
#define MOS6_CB 16 MOS6_L_SENS,
#define MOS6_CG 17 MOS6_CB,
#define MOS6_CS 18 MOS6_CG,
#define MOS6_POWER 19 MOS6_CS,
#define MOS6_TEMP 20 MOS6_POWER,
#define MOS6_DTEMP 21 MOS6_TEMP,
#define MOS6_M 22 MOS6_DTEMP,
MOS6_M,
};
/* model paramerers */ /* model paramerers */
#define MOS6_MOD_VTO 101 enum {
#define MOS6_MOD_KV 102 MOS6_MOD_VTO = 101,
#define MOS6_MOD_NV 103 MOS6_MOD_KV,
#define MOS6_MOD_KC 104 MOS6_MOD_NV,
#define MOS6_MOD_NC 105 MOS6_MOD_KC,
#define MOS6_MOD_NVTH 106 MOS6_MOD_NC,
#define MOS6_MOD_PS 107 MOS6_MOD_NVTH,
#define MOS6_MOD_GAMMA 108 MOS6_MOD_PS,
#define MOS6_MOD_GAMMA1 109 MOS6_MOD_GAMMA,
#define MOS6_MOD_SIGMA 110 MOS6_MOD_GAMMA1,
#define MOS6_MOD_PHI 111 MOS6_MOD_SIGMA,
#define MOS6_MOD_LAMBDA 112 MOS6_MOD_PHI,
#define MOS6_MOD_LAMDA0 113 MOS6_MOD_LAMBDA,
#define MOS6_MOD_LAMDA1 114 MOS6_MOD_LAMDA0,
#define MOS6_MOD_RD 115 MOS6_MOD_LAMDA1,
#define MOS6_MOD_RS 116 MOS6_MOD_RD,
#define MOS6_MOD_CBD 117 MOS6_MOD_RS,
#define MOS6_MOD_CBS 118 MOS6_MOD_CBD,
#define MOS6_MOD_IS 119 MOS6_MOD_CBS,
#define MOS6_MOD_PB 120 MOS6_MOD_IS,
#define MOS6_MOD_CGSO 121 MOS6_MOD_PB,
#define MOS6_MOD_CGDO 122 MOS6_MOD_CGSO,
#define MOS6_MOD_CGBO 123 MOS6_MOD_CGDO,
#define MOS6_MOD_CJ 124 MOS6_MOD_CGBO,
#define MOS6_MOD_MJ 125 MOS6_MOD_CJ,
#define MOS6_MOD_CJSW 126 MOS6_MOD_MJ,
#define MOS6_MOD_MJSW 127 MOS6_MOD_CJSW,
#define MOS6_MOD_JS 128 MOS6_MOD_MJSW,
#define MOS6_MOD_TOX 129 MOS6_MOD_JS,
#define MOS6_MOD_LD 130 MOS6_MOD_TOX,
#define MOS6_MOD_RSH 131 MOS6_MOD_LD,
#define MOS6_MOD_U0 132 MOS6_MOD_RSH,
#define MOS6_MOD_FC 133 MOS6_MOD_U0,
#define MOS6_MOD_NSUB 134 MOS6_MOD_FC,
#define MOS6_MOD_TPG 135 MOS6_MOD_NSUB,
#define MOS6_MOD_NSS 136 MOS6_MOD_TPG,
#define MOS6_MOD_NMOS 137 MOS6_MOD_NSS,
#define MOS6_MOD_PMOS 138 MOS6_MOD_NMOS,
#define MOS6_MOD_TNOM 139 MOS6_MOD_PMOS,
#define MOS6_MOD_TYPE 140 MOS6_MOD_TNOM,
MOS6_MOD_TYPE,
};
/* device questions */ /* device questions */
#define MOS6_CGS 201 enum {
#define MOS6_CGD 202 MOS6_CGS = 201,
#define MOS6_DNODE 203 MOS6_CGD,
#define MOS6_GNODE 204 MOS6_DNODE,
#define MOS6_SNODE 205 MOS6_GNODE,
#define MOS6_BNODE 206 MOS6_SNODE,
#define MOS6_DNODEPRIME 207 MOS6_BNODE,
#define MOS6_SNODEPRIME 208 MOS6_DNODEPRIME,
#define MOS6_SOURCECONDUCT 209 MOS6_SNODEPRIME,
#define MOS6_DRAINCONDUCT 210 MOS6_SOURCECONDUCT,
#define MOS6_VON 211 MOS6_DRAINCONDUCT,
#define MOS6_VDSAT 212 MOS6_VON,
#define MOS6_SOURCEVCRIT 213 MOS6_VDSAT,
#define MOS6_DRAINVCRIT 214 MOS6_SOURCEVCRIT,
#define MOS6_CD 215 MOS6_DRAINVCRIT,
#define MOS6_CBS 216 MOS6_CD,
#define MOS6_CBD 217 MOS6_CBS,
#define MOS6_GMBS 218 MOS6_CBD,
#define MOS6_GM 219 MOS6_GMBS,
#define MOS6_GDS 220 MOS6_GM,
#define MOS6_GBD 221 MOS6_GDS,
#define MOS6_GBS 222 MOS6_GBD,
#define MOS6_CAPBD 223 MOS6_GBS,
#define MOS6_CAPBS 224 MOS6_CAPBD,
#define MOS6_CAPZEROBIASBD 225 MOS6_CAPBS,
#define MOS6_CAPZEROBIASBDSW 226 MOS6_CAPZEROBIASBD,
#define MOS6_CAPZEROBIASBS 227 MOS6_CAPZEROBIASBDSW,
#define MOS6_CAPZEROBIASBSSW 228 MOS6_CAPZEROBIASBS,
#define MOS6_VBD 229 MOS6_CAPZEROBIASBSSW,
#define MOS6_VBS 230 MOS6_VBD,
#define MOS6_VGS 231 MOS6_VBS,
#define MOS6_VDS 232 MOS6_VGS,
#define MOS6_CAPGS 233 MOS6_VDS,
#define MOS6_QGS 234 MOS6_CAPGS,
#define MOS6_CQGS 235 MOS6_QGS,
#define MOS6_CAPGD 236 MOS6_CQGS,
#define MOS6_QGD 237 MOS6_CAPGD,
#define MOS6_CQGD 238 MOS6_QGD,
#define MOS6_CAPGB 239 MOS6_CQGD,
#define MOS6_QGB 240 MOS6_CAPGB,
#define MOS6_CQGB 241 MOS6_QGB,
#define MOS6_QBD 242 MOS6_CQGB,
#define MOS6_CQBD 243 MOS6_QBD,
#define MOS6_QBS 244 MOS6_CQBD,
#define MOS6_CQBS 245 MOS6_QBS,
#define MOS6_L_SENS_REAL 246 MOS6_CQBS,
#define MOS6_L_SENS_IMAG 247 MOS6_L_SENS_REAL,
#define MOS6_L_SENS_MAG 248 MOS6_L_SENS_IMAG,
#define MOS6_L_SENS_PH 249 MOS6_L_SENS_MAG,
#define MOS6_L_SENS_CPLX 250 MOS6_L_SENS_PH,
#define MOS6_W_SENS_REAL 251 MOS6_L_SENS_CPLX,
#define MOS6_W_SENS_IMAG 252 MOS6_W_SENS_REAL,
#define MOS6_W_SENS_MAG 253 MOS6_W_SENS_IMAG,
#define MOS6_W_SENS_PH 254 MOS6_W_SENS_MAG,
#define MOS6_W_SENS_CPLX 255 MOS6_W_SENS_PH,
#define MOS6_L_SENS_DC 256 MOS6_W_SENS_CPLX,
#define MOS6_W_SENS_DC 257 MOS6_L_SENS_DC,
#define MOS6_SOURCERESIST 258 MOS6_W_SENS_DC,
#define MOS6_DRAINRESIST 259 MOS6_SOURCERESIST,
MOS6_DRAINRESIST,
};
/* model questions */ /* model questions */

View File

@ -17,13 +17,16 @@ Modified: Alan Gillespie
/* indices to the array of MOSFET(9) noise sources */ /* indices to the array of MOSFET(9) noise sources */
#define MOS9RDNOIZ 0 enum {
#define MOS9RSNOIZ 1 MOS9RDNOIZ = 0,
#define MOS9IDNOIZ 2 MOS9RSNOIZ,
#define MOS9FLNOIZ 3 MOS9IDNOIZ,
#define MOS9TOTNOIZ 4 MOS9FLNOIZ,
MOS9TOTNOIZ,
MOS9NSRCS,
};
#define MOS9NSRCS 5 /* the number of MOSFET(9) noise sources */ /* the number of MOSFET(9) noise sources */
/* information needed for each instance */ /* information needed for each instance */
@ -426,137 +429,141 @@ typedef struct sMOS9model { /* model structure for a resistor */
#endif /*NMOS*/ #endif /*NMOS*/
/* device parameters */ /* device parameters */
#define MOS9_W 1 enum {
#define MOS9_L 2 MOS9_W = 1,
#define MOS9_AS 3 MOS9_L,
#define MOS9_AD 4 MOS9_AS,
#define MOS9_PS 5 MOS9_AD,
#define MOS9_PD 6 MOS9_PS,
#define MOS9_NRS 7 MOS9_PD,
#define MOS9_NRD 8 MOS9_NRS,
#define MOS9_OFF 9 MOS9_NRD,
#define MOS9_IC 10 MOS9_OFF,
#define MOS9_IC_VBS 11 MOS9_IC,
#define MOS9_IC_VDS 12 MOS9_IC_VBS,
#define MOS9_IC_VGS 13 MOS9_IC_VDS,
#define MOS9_W_SENS 14 MOS9_IC_VGS,
#define MOS9_L_SENS 15 MOS9_W_SENS,
#define MOS9_CB 16 MOS9_L_SENS,
#define MOS9_CG 17 MOS9_CB,
#define MOS9_CS 18 MOS9_CG,
#define MOS9_POWER 19 MOS9_CS,
#define MOS9_CGS 20 MOS9_POWER,
#define MOS9_CGD 21 MOS9_CGS,
#define MOS9_DNODE 22 MOS9_CGD,
#define MOS9_GNODE 23 MOS9_DNODE,
#define MOS9_SNODE 24 MOS9_GNODE,
#define MOS9_BNODE 25 MOS9_SNODE,
#define MOS9_DNODEPRIME 26 MOS9_BNODE,
#define MOS9_SNODEPRIME 27 MOS9_DNODEPRIME,
#define MOS9_SOURCECONDUCT 28 MOS9_SNODEPRIME,
#define MOS9_DRAINCONDUCT 29 MOS9_SOURCECONDUCT,
#define MOS9_VON 30 MOS9_DRAINCONDUCT,
#define MOS9_VDSAT 31 MOS9_VON,
#define MOS9_SOURCEVCRIT 32 MOS9_VDSAT,
#define MOS9_DRAINVCRIT 33 MOS9_SOURCEVCRIT,
#define MOS9_CD 34 MOS9_DRAINVCRIT,
#define MOS9_CBS 35 MOS9_CD,
#define MOS9_CBD 36 MOS9_CBS,
#define MOS9_GMBS 37 MOS9_CBD,
#define MOS9_GM 38 MOS9_GMBS,
#define MOS9_GDS 39 MOS9_GM,
#define MOS9_GBD 40 MOS9_GDS,
#define MOS9_GBS 41 MOS9_GBD,
#define MOS9_CAPBD 42 MOS9_GBS,
#define MOS9_CAPBS 43 MOS9_CAPBD,
#define MOS9_CAPZEROBIASBD 44 MOS9_CAPBS,
#define MOS9_CAPZEROBIASBDSW 45 MOS9_CAPZEROBIASBD,
#define MOS9_CAPZEROBIASBS 46 MOS9_CAPZEROBIASBDSW,
#define MOS9_CAPZEROBIASBSSW 47 MOS9_CAPZEROBIASBS,
#define MOS9_VBD 48 MOS9_CAPZEROBIASBSSW,
#define MOS9_VBS 49 MOS9_VBD,
#define MOS9_VGS 50 MOS9_VBS,
#define MOS9_VDS 51 MOS9_VGS,
#define MOS9_CAPGS 52 MOS9_VDS,
#define MOS9_QGS 53 MOS9_CAPGS,
#define MOS9_CQGS 54 MOS9_QGS,
#define MOS9_CAPGD 55 MOS9_CQGS,
#define MOS9_QGD 56 MOS9_CAPGD,
#define MOS9_CQGD 57 MOS9_QGD,
#define MOS9_CAPGB 58 MOS9_CQGD,
#define MOS9_QGB 59 MOS9_CAPGB,
#define MOS9_CQGB 60 MOS9_QGB,
#define MOS9_QBD 61 MOS9_CQGB,
#define MOS9_CQBD 62 MOS9_QBD,
#define MOS9_QBS 63 MOS9_CQBD,
#define MOS9_CQBS 64 MOS9_QBS,
#define MOS9_W_SENS_REAL 65 MOS9_CQBS,
#define MOS9_W_SENS_IMAG 66 MOS9_W_SENS_REAL,
#define MOS9_W_SENS_MAG 67 MOS9_W_SENS_IMAG,
#define MOS9_W_SENS_PH 68 MOS9_W_SENS_MAG,
#define MOS9_W_SENS_CPLX 69 MOS9_W_SENS_PH,
#define MOS9_L_SENS_REAL 70 MOS9_W_SENS_CPLX,
#define MOS9_L_SENS_IMAG 71 MOS9_L_SENS_REAL,
#define MOS9_L_SENS_MAG 72 MOS9_L_SENS_IMAG,
#define MOS9_L_SENS_PH 73 MOS9_L_SENS_MAG,
#define MOS9_L_SENS_CPLX 74 MOS9_L_SENS_PH,
#define MOS9_W_SENS_DC 75 MOS9_L_SENS_CPLX,
#define MOS9_L_SENS_DC 76 MOS9_W_SENS_DC,
#define MOS9_TEMP 77 MOS9_L_SENS_DC,
#define MOS9_SOURCERESIST 78 MOS9_TEMP,
#define MOS9_DRAINRESIST 79 MOS9_SOURCERESIST,
#define MOS9_M 80 MOS9_DRAINRESIST,
#define MOS9_DTEMP 81 MOS9_M,
MOS9_DTEMP,
};
/* model parameters */ /* model parameters */
#define MOS9_MOD_VTO 101 enum {
#define MOS9_MOD_KP 102 MOS9_MOD_VTO = 101,
#define MOS9_MOD_GAMMA 103 MOS9_MOD_KP,
#define MOS9_MOD_PHI 104 MOS9_MOD_GAMMA,
#define MOS9_MOD_RD 105 MOS9_MOD_PHI,
#define MOS9_MOD_RS 106 MOS9_MOD_RD,
#define MOS9_MOD_CBD 107 MOS9_MOD_RS,
#define MOS9_MOD_CBS 108 MOS9_MOD_CBD,
#define MOS9_MOD_IS 109 MOS9_MOD_CBS,
#define MOS9_MOD_PB 110 MOS9_MOD_IS,
#define MOS9_MOD_CGSO 111 MOS9_MOD_PB,
#define MOS9_MOD_CGDO 112 MOS9_MOD_CGSO,
#define MOS9_MOD_CGBO 113 MOS9_MOD_CGDO,
#define MOS9_MOD_RSH 114 MOS9_MOD_CGBO,
#define MOS9_MOD_CJ 115 MOS9_MOD_RSH,
#define MOS9_MOD_MJ 116 MOS9_MOD_CJ,
#define MOS9_MOD_CJSW 117 MOS9_MOD_MJ,
#define MOS9_MOD_MJSW 118 MOS9_MOD_CJSW,
#define MOS9_MOD_JS 119 MOS9_MOD_MJSW,
#define MOS9_MOD_TOX 120 MOS9_MOD_JS,
#define MOS9_MOD_LD 121 MOS9_MOD_TOX,
#define MOS9_MOD_U0 122 MOS9_MOD_LD,
#define MOS9_MOD_FC 123 MOS9_MOD_U0,
#define MOS9_MOD_NSUB 124 MOS9_MOD_FC,
#define MOS9_MOD_TPG 125 MOS9_MOD_NSUB,
#define MOS9_MOD_NSS 126 MOS9_MOD_TPG,
#define MOS9_MOD_ETA 127 MOS9_MOD_NSS,
#define MOS9_MOD_DELTA 128 MOS9_MOD_ETA,
#define MOS9_MOD_NFS 129 MOS9_MOD_DELTA,
#define MOS9_MOD_THETA 130 MOS9_MOD_NFS,
#define MOS9_MOD_VMAX 131 MOS9_MOD_THETA,
#define MOS9_MOD_KAPPA 132 MOS9_MOD_VMAX,
#define MOS9_MOD_NMOS 133 MOS9_MOD_KAPPA,
#define MOS9_MOD_PMOS 134 MOS9_MOD_NMOS,
#define MOS9_MOD_XJ 135 MOS9_MOD_PMOS,
#define MOS9_MOD_UEXP 136 MOS9_MOD_XJ,
#define MOS9_MOD_NEFF 137 MOS9_MOD_UEXP,
#define MOS9_MOD_XD 138 MOS9_MOD_NEFF,
#define MOS9_MOD_ALPHA 139 MOS9_MOD_XD,
#define MOS9_DELTA 140 MOS9_MOD_ALPHA,
#define MOS9_MOD_TNOM 141 MOS9_DELTA,
#define MOS9_MOD_KF 142 MOS9_MOD_TNOM,
#define MOS9_MOD_AF 143 MOS9_MOD_KF,
#define MOS9_MOD_TYPE 144 MOS9_MOD_AF,
#define MOS9_MOD_XL 145 MOS9_MOD_TYPE,
#define MOS9_MOD_WD 146 MOS9_MOD_XL,
#define MOS9_MOD_XW 147 MOS9_MOD_WD,
#define MOS9_MOD_DELVTO 148 MOS9_MOD_XW,
MOS9_MOD_DELVTO,
};
/* device questions */ /* device questions */

View File

@ -119,39 +119,43 @@ typedef struct sNBJTmodel { /* model structure for a bjt */
#define PNP -1 #define PNP -1
/* device parameters */ /* device parameters */
#define NBJT_AREA 1 enum {
#define NBJT_OFF 2 NBJT_AREA = 1,
#define NBJT_IC_FILE 3 NBJT_OFF,
#define NBJT_PRINT 4 NBJT_IC_FILE,
#define NBJT_TEMP 5 NBJT_PRINT,
NBJT_TEMP,
};
#define NBJT_G11 8 enum {
#define NBJT_C11 9 NBJT_G11 = 8,
#define NBJT_Y11 10 NBJT_C11,
#define NBJT_G12 11 NBJT_Y11,
#define NBJT_C12 12 NBJT_G12,
#define NBJT_Y12 13 NBJT_C12,
#define NBJT_G13 14 NBJT_Y12,
#define NBJT_C13 15 NBJT_G13,
#define NBJT_Y13 16 NBJT_C13,
#define NBJT_G21 17 NBJT_Y13,
#define NBJT_C21 18 NBJT_G21,
#define NBJT_Y21 19 NBJT_C21,
#define NBJT_G22 20 NBJT_Y21,
#define NBJT_C22 21 NBJT_G22,
#define NBJT_Y22 22 NBJT_C22,
#define NBJT_G23 23 NBJT_Y22,
#define NBJT_C23 24 NBJT_G23,
#define NBJT_Y23 25 NBJT_C23,
#define NBJT_G31 26 NBJT_Y23,
#define NBJT_C31 27 NBJT_G31,
#define NBJT_Y31 28 NBJT_C31,
#define NBJT_G32 29 NBJT_Y31,
#define NBJT_C32 30 NBJT_G32,
#define NBJT_Y32 31 NBJT_C32,
#define NBJT_G33 32 NBJT_Y32,
#define NBJT_C33 33 NBJT_G33,
#define NBJT_Y33 34 NBJT_C33,
NBJT_Y33,
};
/* model parameters */ /* model parameters */
/* NOTE: all true model parameters have been moved to IFcardInfo structures */ /* NOTE: all true model parameters have been moved to IFcardInfo structures */

View File

@ -66,9 +66,11 @@ typedef struct sNDEVmodel { /* model structure for a diode */
/* device parameters */ /* device parameters */
#define NDEV_MODEL_FILE 1 #define NDEV_MODEL_FILE 1
/* model parameters */ /* model parameters */
#define NDEV_MOD_NDEV 101 enum {
#define NDEV_REMOTE 102 NDEV_MOD_NDEV = 101,
#define NDEV_PORT 103 NDEV_REMOTE,
NDEV_PORT,
};
#include "ndevext.h" #include "ndevext.h"

View File

@ -101,26 +101,27 @@ typedef struct sNUMDmodel { /* model structure for a diode */
#define NP -1 #define NP -1
/* device parameters */ /* device parameters */
#define NUMD_AREA 1 enum {
#define NUMD_IC_FILE 2 NUMD_AREA = 1,
#define NUMD_OFF 3 NUMD_IC_FILE,
#define NUMD_PRINT 4 NUMD_OFF,
#define NUMD_TEMP 5 NUMD_PRINT,
#define NUMD_VD 6 NUMD_TEMP,
#define NUMD_ID 7 NUMD_VD,
NUMD_ID,
#define NUMD_G11 8 NUMD_G11,
#define NUMD_C11 9 NUMD_C11,
#define NUMD_Y11 10 NUMD_Y11,
#define NUMD_G12 11 NUMD_G12,
#define NUMD_C12 12 NUMD_C12,
#define NUMD_Y12 13 NUMD_Y12,
#define NUMD_G21 14 NUMD_G21,
#define NUMD_C21 15 NUMD_C21,
#define NUMD_Y21 16 NUMD_Y21,
#define NUMD_G22 17 NUMD_G22,
#define NUMD_C22 18 NUMD_C22,
#define NUMD_Y22 19 NUMD_Y22,
};
/* model parameters */ /* model parameters */
/* NOTE: all true model parameters have been moved to IFcardInfo structures */ /* NOTE: all true model parameters have been moved to IFcardInfo structures */

View File

@ -17,11 +17,14 @@ Modified: 2000 AlansFixes
/* indices to array of RES noise sources */ /* indices to array of RES noise sources */
#define RESTHNOIZ 0 /* Thermal noise source */ enum {
#define RESFLNOIZ 1 /* Flicker noise source */ RESTHNOIZ = 0,
#define RESTOTNOIZ 2 /* Total noise */ RESFLNOIZ,
RESTOTNOIZ,
RESNSRCS,
};
#define RESNSRCS 3 /* the number of RES noise sources */ /* the number of RES noise sources */
/* information used to describe a single instance */ /* information used to describe a single instance */
@ -135,52 +138,60 @@ typedef struct sRESmodel { /* model structure for a resistor */
} RESmodel; } RESmodel;
/* device parameters */ /* device parameters */
#define RES_RESIST 1 enum {
#define RES_WIDTH 2 RES_RESIST = 1,
#define RES_LENGTH 3 RES_WIDTH,
#define RES_CONDUCT 4 RES_LENGTH,
#define RES_RESIST_SENS 5 RES_CONDUCT,
#define RES_CURRENT 6 RES_RESIST_SENS,
#define RES_POWER 7 RES_CURRENT,
#define RES_TEMP 8 RES_POWER,
RES_TEMP,
};
/* serban */ /* serban */
#define RES_ACRESIST 10 enum {
#define RES_ACCONDUCT 11 RES_ACRESIST = 10,
#define RES_M 12 /* pn */ RES_ACCONDUCT,
#define RES_SCALE 13 /* pn */ RES_M,
#define RES_DTEMP 14 /* pn */ RES_SCALE,
#define RES_NOISY 15 /* pn */ RES_DTEMP,
/* tanaka */ RES_NOISY,
#define RES_TC1 16 RES_TC1,
#define RES_TC2 17 RES_TC2,
#define RES_BV_MAX 18 RES_BV_MAX,
#define RES_TCE 19 RES_TCE,
};
/* model parameters */ /* model parameters */
#define RES_MOD_TC1 101 enum {
#define RES_MOD_TC2 102 RES_MOD_TC1 = 101,
#define RES_MOD_RSH 103 RES_MOD_TC2,
#define RES_MOD_DEFWIDTH 104 RES_MOD_RSH,
#define RES_MOD_DEFLENGTH 105 RES_MOD_DEFWIDTH,
#define RES_MOD_NARROW 106 RES_MOD_DEFLENGTH,
#define RES_MOD_R 107 RES_MOD_NARROW,
#define RES_MOD_TNOM 108 RES_MOD_R,
#define RES_MOD_SHORT 109 RES_MOD_TNOM,
#define RES_MOD_KF 110 RES_MOD_SHORT,
#define RES_MOD_AF 111 RES_MOD_KF,
#define RES_MOD_BV_MAX 112 RES_MOD_AF,
#define RES_MOD_LF 113 RES_MOD_BV_MAX,
#define RES_MOD_WF 114 RES_MOD_LF,
#define RES_MOD_EF 115 RES_MOD_WF,
#define RES_MOD_TCE 116 RES_MOD_EF,
RES_MOD_TCE,
};
/* device questions */ /* device questions */
#define RES_QUEST_SENS_REAL 201 enum {
#define RES_QUEST_SENS_IMAG 202 RES_QUEST_SENS_REAL = 201,
#define RES_QUEST_SENS_MAG 203 RES_QUEST_SENS_IMAG,
#define RES_QUEST_SENS_PH 204 RES_QUEST_SENS_MAG,
#define RES_QUEST_SENS_CPLX 205 RES_QUEST_SENS_PH,
#define RES_QUEST_SENS_DC 206 RES_QUEST_SENS_CPLX,
RES_QUEST_SENS_DC,
};
/* model questions */ /* model questions */

View File

@ -35,13 +35,16 @@ ngspice integration
/* indices to the array of SOI(3) noise sources */ /* indices to the array of SOI(3) noise sources */
#define SOI3RDNOIZ 0 enum {
#define SOI3RSNOIZ 1 SOI3RDNOIZ = 0,
#define SOI3IDNOIZ 2 SOI3RSNOIZ,
#define SOI3FLNOIZ 3 SOI3IDNOIZ,
#define SOI3TOTNOIZ 4 SOI3FLNOIZ,
SOI3TOTNOIZ,
SOI3NSRCS,
};
#define SOI3NSRCS 5 /* the number of SOI(3) noise sources */ /* the number of SOI(3) noise sources */
/* information needed for each instance */ /* information needed for each instance */
@ -619,212 +622,245 @@ typedef struct sSOI3model { /* model structure for an SOI3 MOSFET */
#define SOI3_W 1 #define SOI3_W 1
#define SOI3_L 2 #define SOI3_L 2
#define SOI3_M 25 #define SOI3_M 25
#define SOI3_AS 3 enum {
#define SOI3_AD 4 SOI3_AS = 3,
#define SOI3_AB 5 SOI3_AD,
#define SOI3_PS 6 SOI3_AB,
#define SOI3_PD 7 SOI3_PS,
#define SOI3_PB 8 SOI3_PD,
#define SOI3_NRS 9 SOI3_PB,
#define SOI3_NRD 10 SOI3_NRS,
#define SOI3_OFF 11 SOI3_NRD,
#define SOI3_IC 12 SOI3_OFF,
#define SOI3_IC_VBS 13 SOI3_IC,
#define SOI3_IC_VDS 14 SOI3_IC_VBS,
#define SOI3_IC_VGFS 15 SOI3_IC_VDS,
#define SOI3_IC_VGBS 16 SOI3_IC_VGFS,
#define SOI3_W_SENS 17 SOI3_IC_VGBS,
#define SOI3_L_SENS 18 SOI3_W_SENS,
#define SOI3_IB 19 SOI3_L_SENS,
#define SOI3_IGF 20 SOI3_IB,
#define SOI3_IGB 21 SOI3_IGF,
#define SOI3_IS 22 SOI3_IGB,
#define SOI3_POWER 23 SOI3_IS,
#define SOI3_TEMP 24 SOI3_POWER,
SOI3_TEMP,
};
/* model parameters */ /* model parameters */
#define SOI3_MOD_VTO 101 #define SOI3_MOD_VTO 101
#define SOI3_MOD_VFBF 149 #define SOI3_MOD_VFBF 149
#define SOI3_MOD_KP 102 enum {
#define SOI3_MOD_GAMMA 103 SOI3_MOD_KP = 102,
#define SOI3_MOD_PHI 104 SOI3_MOD_GAMMA,
#define SOI3_MOD_LAMBDA 105 SOI3_MOD_PHI,
SOI3_MOD_LAMBDA,
};
#define SOI3_MOD_THETA 139 #define SOI3_MOD_THETA 139
#define SOI3_MOD_RD 106 enum {
#define SOI3_MOD_RS 107 SOI3_MOD_RD = 106,
#define SOI3_MOD_CBD 108 SOI3_MOD_RS,
#define SOI3_MOD_CBS 109 SOI3_MOD_CBD,
#define SOI3_MOD_IS 110 SOI3_MOD_CBS,
#define SOI3_MOD_PB 111 SOI3_MOD_IS,
#define SOI3_MOD_CGFSO 112 SOI3_MOD_PB,
#define SOI3_MOD_CGFDO 113 SOI3_MOD_CGFSO,
#define SOI3_MOD_CGFBO 114 SOI3_MOD_CGFDO,
#define SOI3_MOD_CGBSO 144 SOI3_MOD_CGFBO,
#define SOI3_MOD_CGBDO 145 };
#define SOI3_MOD_CGBBO 146
#define SOI3_MOD_CJ 115 enum {
#define SOI3_MOD_MJ 116 SOI3_MOD_CGBSO = 144,
#define SOI3_MOD_CJSW 117 SOI3_MOD_CGBDO,
#define SOI3_MOD_MJSW 118 SOI3_MOD_CGBBO,
#define SOI3_MOD_JS 119 };
#define SOI3_MOD_TOF 120
enum {
SOI3_MOD_CJ = 115,
SOI3_MOD_MJ,
SOI3_MOD_CJSW,
SOI3_MOD_MJSW,
SOI3_MOD_JS,
SOI3_MOD_TOF,
};
#define SOI3_MOD_TOB 133 #define SOI3_MOD_TOB 133
#define SOI3_MOD_TB 134 #define SOI3_MOD_TB 134
#define SOI3_MOD_LD 121 enum {
#define SOI3_MOD_RSH 122 SOI3_MOD_LD = 121,
#define SOI3_MOD_U0 123 SOI3_MOD_RSH,
#define SOI3_MOD_FC 124 SOI3_MOD_U0,
#define SOI3_MOD_NSUB 125 SOI3_MOD_FC,
#define SOI3_MOD_TPG 126 SOI3_MOD_NSUB,
SOI3_MOD_TPG,
};
#define SOI3_MOD_NQFF 147 #define SOI3_MOD_NQFF 147
#define SOI3_MOD_NQFB 148 #define SOI3_MOD_NQFB 148
#define SOI3_MOD_NSSF 127 #define SOI3_MOD_NSSF 127
#define SOI3_MOD_NSSB 135 #define SOI3_MOD_NSSB 135
#define SOI3_MOD_NSOI3 128 enum {
#define SOI3_MOD_PSOI3 129 SOI3_MOD_NSOI3 = 128,
#define SOI3_MOD_TNOM 130 SOI3_MOD_PSOI3,
#define SOI3_MOD_KF 131 SOI3_MOD_TNOM,
#define SOI3_MOD_AF 132 SOI3_MOD_KF,
SOI3_MOD_AF,
};
#define SOI3_MOD_KOX 142 #define SOI3_MOD_KOX 142
#define SOI3_MOD_SHSI 143 #define SOI3_MOD_SHSI 143
/* extra stuff for newer model - msll Jan96 */ /* extra stuff for newer model - msll Jan96 */
#define SOI3_MOD_SIGMA 150 enum {
#define SOI3_MOD_CHIFB 151 SOI3_MOD_SIGMA = 150,
#define SOI3_MOD_CHIPHI 152 SOI3_MOD_CHIFB,
#define SOI3_MOD_DELTAW 153 SOI3_MOD_CHIPHI,
#define SOI3_MOD_DELTAL 154 SOI3_MOD_DELTAW,
#define SOI3_MOD_VSAT 155 SOI3_MOD_DELTAL,
#define SOI3_MOD_K 156 SOI3_MOD_VSAT,
#define SOI3_MOD_LX 157 SOI3_MOD_K,
#define SOI3_MOD_VP 158 SOI3_MOD_LX,
#define SOI3_MOD_ETA 159 SOI3_MOD_VP,
SOI3_MOD_ETA,
};
#define SOI3_MOD_ALPHA0 140 #define SOI3_MOD_ALPHA0 140
#define SOI3_MOD_BETA0 141 #define SOI3_MOD_BETA0 141
#define SOI3_MOD_LM 160 enum {
#define SOI3_MOD_LM1 161 SOI3_MOD_LM = 160,
#define SOI3_MOD_LM2 162 SOI3_MOD_LM1,
#define SOI3_MOD_ETAD 163 SOI3_MOD_LM2,
#define SOI3_MOD_ETAD1 164 SOI3_MOD_ETAD,
#define SOI3_MOD_IS1 165 SOI3_MOD_ETAD1,
#define SOI3_MOD_JS1 166 SOI3_MOD_IS1,
#define SOI3_MOD_CHIBETA 167 SOI3_MOD_JS1,
#define SOI3_MOD_VFBB 168 SOI3_MOD_CHIBETA,
#define SOI3_MOD_GAMMAB 169 SOI3_MOD_VFBB,
#define SOI3_MOD_CHID 170 SOI3_MOD_GAMMAB,
#define SOI3_MOD_CHID1 171 SOI3_MOD_CHID,
#define SOI3_MOD_DVT 172 SOI3_MOD_CHID1,
#define SOI3_MOD_NLEV 173 SOI3_MOD_DVT,
#define SOI3_MOD_BETABJT 174 SOI3_MOD_NLEV,
#define SOI3_MOD_TAUFBJT 176 SOI3_MOD_BETABJT,
#define SOI3_MOD_TAURBJT 177 };
#define SOI3_MOD_BETAEXP 178
#define SOI3_MOD_TAUEXP 179 enum {
#define SOI3_MOD_RSW 180 SOI3_MOD_TAUFBJT = 176,
#define SOI3_MOD_RDW 181 SOI3_MOD_TAURBJT,
#define SOI3_MOD_FMIN 382 SOI3_MOD_BETAEXP,
#define SOI3_MOD_VTEX 383 SOI3_MOD_TAUEXP,
#define SOI3_MOD_VDEX 384 SOI3_MOD_RSW,
#define SOI3_MOD_DELTA0 385 SOI3_MOD_RDW,
#define SOI3_MOD_CSF 386 };
#define SOI3_MOD_DSI 387
#define SOI3_MOD_NPLUS 388 enum {
#define SOI3_MOD_RTA 389 SOI3_MOD_FMIN = 382,
#define SOI3_MOD_CTA 390 SOI3_MOD_VTEX,
#define SOI3_MOD_MEXP 391 SOI3_MOD_VDEX,
SOI3_MOD_DELTA0,
SOI3_MOD_CSF,
SOI3_MOD_DSI,
SOI3_MOD_NPLUS,
SOI3_MOD_RTA,
SOI3_MOD_CTA,
SOI3_MOD_MEXP,
};
/* device questions */ /* device questions */
#define SOI3_DNODE 201 enum {
#define SOI3_GFNODE 202 SOI3_DNODE = 201,
#define SOI3_SNODE 203 SOI3_GFNODE,
#define SOI3_GBNODE 204 SOI3_SNODE,
#define SOI3_BNODE 205 SOI3_GBNODE,
#define SOI3_DNODEPRIME 206 SOI3_BNODE,
#define SOI3_SNODEPRIME 207 SOI3_DNODEPRIME,
#define SOI3_TNODE 208 SOI3_SNODEPRIME,
#define SOI3_BRANCH 209 SOI3_TNODE,
#define SOI3_SOURCECONDUCT 210 SOI3_BRANCH,
#define SOI3_DRAINCONDUCT 211 SOI3_SOURCECONDUCT,
#define SOI3_VON 212 SOI3_DRAINCONDUCT,
#define SOI3_VFBF 213 SOI3_VON,
#define SOI3_VDSAT 214 SOI3_VFBF,
#define SOI3_SOURCEVCRIT 215 SOI3_VDSAT,
#define SOI3_DRAINVCRIT 216 SOI3_SOURCEVCRIT,
#define SOI3_ID 217 SOI3_DRAINVCRIT,
#define SOI3_IBS 218 SOI3_ID,
#define SOI3_IBD 219 SOI3_IBS,
#define SOI3_GMBS 220 SOI3_IBD,
#define SOI3_GMF 221 SOI3_GMBS,
#define SOI3_GMB 222 SOI3_GMF,
#define SOI3_GDS 223 SOI3_GMB,
#define SOI3_GBD 224 SOI3_GDS,
#define SOI3_GBS 225 SOI3_GBD,
#define SOI3_CAPBD 226 SOI3_GBS,
#define SOI3_CAPBS 227 SOI3_CAPBD,
#define SOI3_CAPZEROBIASBD 228 SOI3_CAPBS,
#define SOI3_CAPZEROBIASBDSW 229 SOI3_CAPZEROBIASBD,
#define SOI3_CAPZEROBIASBS 230 SOI3_CAPZEROBIASBDSW,
#define SOI3_CAPZEROBIASBSSW 231 SOI3_CAPZEROBIASBS,
#define SOI3_VBD 232 SOI3_CAPZEROBIASBSSW,
#define SOI3_VBS 233 SOI3_VBD,
#define SOI3_VGFS 234 SOI3_VBS,
#define SOI3_VGBS 235 SOI3_VGFS,
#define SOI3_VDS 236 SOI3_VGBS,
#define SOI3_QGF 237 SOI3_VDS,
#define SOI3_IQGF 238 SOI3_QGF,
#define SOI3_QGB 239 SOI3_IQGF,
#define SOI3_IQGB 240 SOI3_QGB,
#define SOI3_QD 241 SOI3_IQGB,
#define SOI3_IQD 242 SOI3_QD,
#define SOI3_QS 243 SOI3_IQD,
#define SOI3_IQS 244 SOI3_QS,
#define SOI3_QBD 245 SOI3_IQS,
#define SOI3_IQBD 246 SOI3_QBD,
#define SOI3_QBS 247 SOI3_IQBD,
#define SOI3_IQBS 248 SOI3_QBS,
#define SOI3_CGFGF 249 SOI3_IQBS,
#define SOI3_CGFD 250 SOI3_CGFGF,
#define SOI3_CGFS 251 SOI3_CGFD,
#define SOI3_CGFDELTAT 252 SOI3_CGFS,
#define SOI3_CGFGB 253 SOI3_CGFDELTAT,
#define SOI3_CDGF 254 SOI3_CGFGB,
#define SOI3_CDD 255 SOI3_CDGF,
#define SOI3_CDS 256 SOI3_CDD,
#define SOI3_CDDELTAT 257 SOI3_CDS,
#define SOI3_CDGB 258 SOI3_CDDELTAT,
#define SOI3_CSGF 259 SOI3_CDGB,
#define SOI3_CSD 260 SOI3_CSGF,
#define SOI3_CSS 261 SOI3_CSD,
#define SOI3_CSDELTAT 262 SOI3_CSS,
#define SOI3_CSGB 263 SOI3_CSDELTAT,
#define SOI3_CGBGF 264 SOI3_CSGB,
#define SOI3_CGBD 265 SOI3_CGBGF,
#define SOI3_CGBS 266 SOI3_CGBD,
#define SOI3_CGBDELTAT 267 SOI3_CGBS,
#define SOI3_CGBGB 268 SOI3_CGBDELTAT,
#define SOI3_L_SENS_REAL 269 SOI3_CGBGB,
#define SOI3_L_SENS_IMAG 270 SOI3_L_SENS_REAL,
#define SOI3_L_SENS_MAG 271 SOI3_L_SENS_IMAG,
#define SOI3_L_SENS_PH 272 SOI3_L_SENS_MAG,
#define SOI3_L_SENS_CPLX 273 SOI3_L_SENS_PH,
#define SOI3_W_SENS_REAL 274 SOI3_L_SENS_CPLX,
#define SOI3_W_SENS_IMAG 275 SOI3_W_SENS_REAL,
#define SOI3_W_SENS_MAG 276 SOI3_W_SENS_IMAG,
#define SOI3_W_SENS_PH 277 SOI3_W_SENS_MAG,
#define SOI3_W_SENS_CPLX 278 SOI3_W_SENS_PH,
#define SOI3_L_SENS_DC 279 SOI3_W_SENS_CPLX,
#define SOI3_W_SENS_DC 280 SOI3_L_SENS_DC,
#define SOI3_RT 281 SOI3_W_SENS_DC,
#define SOI3_CT 282 SOI3_RT,
#define SOI3_VFBB 283 SOI3_CT,
#define SOI3_RT1 284 SOI3_VFBB,
#define SOI3_CT1 285 SOI3_RT1,
#define SOI3_RT2 286 SOI3_CT1,
#define SOI3_CT2 287 SOI3_RT2,
#define SOI3_RT3 288 SOI3_CT2,
#define SOI3_CT3 289 SOI3_RT3,
#define SOI3_RT4 290 SOI3_CT3,
#define SOI3_CT4 291 SOI3_RT4,
#define SOI3_ITOT 292 SOI3_CT4,
SOI3_ITOT,
};
/* model questions */ /* model questions */

View File

@ -84,23 +84,27 @@ typedef struct sSWmodel { /* model structure for a switch */
} SWmodel; } SWmodel;
/* device parameters */ /* device parameters */
#define SW_IC_ON 1 enum {
#define SW_IC_OFF 2 SW_IC_ON = 1,
#define SW_POS_NODE 3 SW_IC_OFF,
#define SW_NEG_NODE 4 SW_POS_NODE,
#define SW_POS_CONT_NODE 5 SW_NEG_NODE,
#define SW_NEG_CONT_NODE 6 SW_POS_CONT_NODE,
#define SW_CURRENT 7 SW_NEG_CONT_NODE,
#define SW_POWER 8 SW_CURRENT,
SW_POWER,
};
/* model parameters */ /* model parameters */
#define SW_MOD_SW 101 enum {
#define SW_MOD_RON 102 SW_MOD_SW = 101,
#define SW_MOD_ROFF 103 SW_MOD_RON,
#define SW_MOD_VTH 104 SW_MOD_ROFF,
#define SW_MOD_VHYS 105 SW_MOD_VTH,
#define SW_MOD_GON 106 SW_MOD_VHYS,
#define SW_MOD_GOFF 107 SW_MOD_GON,
SW_MOD_GOFF,
};
/* device questions */ /* device questions */

View File

@ -100,28 +100,30 @@ typedef struct sTRAmodel { /* model structure for a transmission lines */
} TRAmodel; } TRAmodel;
/* device parameters */ /* device parameters */
#define TRA_Z0 1 enum {
#define TRA_TD 2 TRA_Z0 = 1,
#define TRA_NL 3 TRA_TD,
#define TRA_FREQ 4 TRA_NL,
#define TRA_V1 5 TRA_FREQ,
#define TRA_I1 6 TRA_V1,
#define TRA_V2 7 TRA_I1,
#define TRA_I2 8 TRA_V2,
#define TRA_IC 9 TRA_I2,
#define TRA_RELTOL 10 TRA_IC,
#define TRA_ABSTOL 11 TRA_RELTOL,
#define TRA_POS_NODE1 12 TRA_ABSTOL,
#define TRA_NEG_NODE1 13 TRA_POS_NODE1,
#define TRA_POS_NODE2 14 TRA_NEG_NODE1,
#define TRA_NEG_NODE2 15 TRA_POS_NODE2,
#define TRA_INPUT1 16 TRA_NEG_NODE2,
#define TRA_INPUT2 17 TRA_INPUT1,
#define TRA_DELAY 18 TRA_INPUT2,
#define TRA_BR_EQ1 19 TRA_DELAY,
#define TRA_BR_EQ2 20 TRA_BR_EQ1,
#define TRA_INT_NODE1 21 TRA_BR_EQ2,
#define TRA_INT_NODE2 22 TRA_INT_NODE1,
TRA_INT_NODE2,
};
/* model parameters */ /* model parameters */

View File

@ -78,17 +78,21 @@ typedef struct sTXLmodel { /* model structure for a txl */
} TXLmodel; } TXLmodel;
/* instance parameters */ /* instance parameters */
#define TXL_IN_NODE 1 enum {
#define TXL_OUT_NODE 2 TXL_IN_NODE = 1,
#define TXL_LENGTH 3 TXL_OUT_NODE,
TXL_LENGTH,
};
/* model parameters */ /* model parameters */
#define TXL_R 101 enum {
#define TXL_C 102 TXL_R = 101,
#define TXL_G 103 TXL_C,
#define TXL_L 104 TXL_G,
#define TXL_length 105 TXL_L,
#define TXL_MOD_R 106 TXL_length,
TXL_MOD_R,
};
#include "txlext.h" #include "txlext.h"
extern VI_list_txl *pool_vi_txl; extern VI_list_txl *pool_vi_txl;

View File

@ -63,20 +63,24 @@ typedef struct sURCmodel { /* model structure for a resistor */
} URCmodel; } URCmodel;
/* device parameters */ /* device parameters */
#define URC_LEN 1 enum {
#define URC_LUMPS 2 URC_LEN = 1,
#define URC_POS_NODE 3 URC_LUMPS,
#define URC_NEG_NODE 4 URC_POS_NODE,
#define URC_GND_NODE 5 URC_NEG_NODE,
URC_GND_NODE,
};
/* model parameters */ /* model parameters */
#define URC_MOD_K 101 enum {
#define URC_MOD_FMAX 102 URC_MOD_K = 101,
#define URC_MOD_RPERL 103 URC_MOD_FMAX,
#define URC_MOD_CPERL 104 URC_MOD_RPERL,
#define URC_MOD_ISPERL 105 URC_MOD_CPERL,
#define URC_MOD_RSPERL 106 URC_MOD_ISPERL,
#define URC_MOD_URC 107 URC_MOD_RSPERL,
URC_MOD_URC,
};
/* device questions */ /* device questions */

View File

@ -18,22 +18,25 @@ Spice3 Implementation: 2003 Dietmar Warning DAnalyse GmbH
/* indices to array of VBIC noise sources */ /* indices to array of VBIC noise sources */
#define VBICRCNOIZ 0 enum {
#define VBICRCINOIZ 1 VBICRCNOIZ = 0,
#define VBICRBNOIZ 2 VBICRCINOIZ,
#define VBICRBINOIZ 3 VBICRBNOIZ,
#define VBICRENOIZ 4 VBICRBINOIZ,
#define VBICRBPNOIZ 5 VBICRENOIZ,
#define VBICRSNOIZ 6 VBICRBPNOIZ,
#define VBICICNOIZ 7 VBICRSNOIZ,
#define VBICIBNOIZ 8 VBICICNOIZ,
#define VBICIBEPNOIZ 9 VBICIBNOIZ,
#define VBICICCPNOIZ 10 VBICIBEPNOIZ,
#define VBICFLBENOIZ 11 VBICICCPNOIZ,
#define VBICFLBEPNOIZ 12 VBICFLBENOIZ,
#define VBICTOTNOIZ 13 VBICFLBEPNOIZ,
VBICTOTNOIZ,
VBICNSRCS,
};
#define VBICNSRCS 14 /* the number of VBIC noise sources */ /* the number of VBIC noise sources */
/* data needed to describe a single instance */ /* data needed to describe a single instance */
@ -603,190 +606,197 @@ typedef struct sVBICmodel { /* model structure for a vbic */
#endif /*NPN*/ #endif /*NPN*/
/* device parameters */ /* device parameters */
#define VBIC_AREA 1 enum {
#define VBIC_OFF 2 VBIC_AREA = 1,
#define VBIC_IC 3 VBIC_OFF,
#define VBIC_IC_VBE 4 VBIC_IC,
#define VBIC_IC_VCE 5 VBIC_IC_VBE,
#define VBIC_TEMP 6 VBIC_IC_VCE,
#define VBIC_DTEMP 7 VBIC_TEMP,
#define VBIC_M 8 VBIC_DTEMP,
VBIC_M,
};
/* model parameters */ /* model parameters */
#define VBIC_MOD_NPN 101 enum {
#define VBIC_MOD_PNP 102 VBIC_MOD_NPN = 101,
#define VBIC_MOD_TNOM 103 VBIC_MOD_PNP,
#define VBIC_MOD_RCX 104 VBIC_MOD_TNOM,
#define VBIC_MOD_RCI 105 VBIC_MOD_RCX,
#define VBIC_MOD_VO 106 VBIC_MOD_RCI,
#define VBIC_MOD_GAMM 107 VBIC_MOD_VO,
#define VBIC_MOD_HRCF 108 VBIC_MOD_GAMM,
#define VBIC_MOD_RBX 109 VBIC_MOD_HRCF,
#define VBIC_MOD_RBI 110 VBIC_MOD_RBX,
#define VBIC_MOD_RE 111 VBIC_MOD_RBI,
#define VBIC_MOD_RS 112 VBIC_MOD_RE,
#define VBIC_MOD_RBP 113 VBIC_MOD_RS,
#define VBIC_MOD_IS 114 VBIC_MOD_RBP,
#define VBIC_MOD_NF 115 VBIC_MOD_IS,
#define VBIC_MOD_NR 116 VBIC_MOD_NF,
#define VBIC_MOD_FC 117 VBIC_MOD_NR,
#define VBIC_MOD_CBEO 118 VBIC_MOD_FC,
#define VBIC_MOD_CJE 119 VBIC_MOD_CBEO,
#define VBIC_MOD_PE 120 VBIC_MOD_CJE,
#define VBIC_MOD_ME 121 VBIC_MOD_PE,
#define VBIC_MOD_AJE 122 VBIC_MOD_ME,
#define VBIC_MOD_CBCO 123 VBIC_MOD_AJE,
#define VBIC_MOD_CJC 124 VBIC_MOD_CBCO,
#define VBIC_MOD_QCO 125 VBIC_MOD_CJC,
#define VBIC_MOD_CJEP 126 VBIC_MOD_QCO,
#define VBIC_MOD_PC 127 VBIC_MOD_CJEP,
#define VBIC_MOD_MC 128 VBIC_MOD_PC,
#define VBIC_MOD_AJC 129 VBIC_MOD_MC,
#define VBIC_MOD_CJCP 130 VBIC_MOD_AJC,
#define VBIC_MOD_PS 131 VBIC_MOD_CJCP,
#define VBIC_MOD_MS 132 VBIC_MOD_PS,
#define VBIC_MOD_AJS 133 VBIC_MOD_MS,
#define VBIC_MOD_IBEI 134 VBIC_MOD_AJS,
#define VBIC_MOD_WBE 135 VBIC_MOD_IBEI,
#define VBIC_MOD_NEI 136 VBIC_MOD_WBE,
#define VBIC_MOD_IBEN 137 VBIC_MOD_NEI,
#define VBIC_MOD_NEN 138 VBIC_MOD_IBEN,
#define VBIC_MOD_IBCI 139 VBIC_MOD_NEN,
#define VBIC_MOD_NCI 140 VBIC_MOD_IBCI,
#define VBIC_MOD_IBCN 141 VBIC_MOD_NCI,
#define VBIC_MOD_NCN 142 VBIC_MOD_IBCN,
#define VBIC_MOD_AVC1 143 VBIC_MOD_NCN,
#define VBIC_MOD_AVC2 144 VBIC_MOD_AVC1,
#define VBIC_MOD_ISP 145 VBIC_MOD_AVC2,
#define VBIC_MOD_WSP 146 VBIC_MOD_ISP,
#define VBIC_MOD_NFP 147 VBIC_MOD_WSP,
#define VBIC_MOD_IBEIP 148 VBIC_MOD_NFP,
#define VBIC_MOD_IBENP 149 VBIC_MOD_IBEIP,
#define VBIC_MOD_IBCIP 150 VBIC_MOD_IBENP,
#define VBIC_MOD_NCIP 151 VBIC_MOD_IBCIP,
#define VBIC_MOD_IBCNP 152 VBIC_MOD_NCIP,
#define VBIC_MOD_NCNP 153 VBIC_MOD_IBCNP,
#define VBIC_MOD_VEF 154 VBIC_MOD_NCNP,
#define VBIC_MOD_VER 155 VBIC_MOD_VEF,
#define VBIC_MOD_IKF 156 VBIC_MOD_VER,
#define VBIC_MOD_IKR 157 VBIC_MOD_IKF,
#define VBIC_MOD_IKP 158 VBIC_MOD_IKR,
#define VBIC_MOD_TF 159 VBIC_MOD_IKP,
#define VBIC_MOD_QTF 160 VBIC_MOD_TF,
#define VBIC_MOD_XTF 161 VBIC_MOD_QTF,
#define VBIC_MOD_VTF 162 VBIC_MOD_XTF,
#define VBIC_MOD_ITF 163 VBIC_MOD_VTF,
#define VBIC_MOD_TR 164 VBIC_MOD_ITF,
#define VBIC_MOD_TD 165 VBIC_MOD_TR,
#define VBIC_MOD_KFN 166 VBIC_MOD_TD,
#define VBIC_MOD_AFN 167 VBIC_MOD_KFN,
#define VBIC_MOD_BFN 168 VBIC_MOD_AFN,
#define VBIC_MOD_XRE 169 VBIC_MOD_BFN,
#define VBIC_MOD_XRB 170 VBIC_MOD_XRE,
#define VBIC_MOD_XRBI 171 VBIC_MOD_XRB,
#define VBIC_MOD_XRC 172 VBIC_MOD_XRBI,
#define VBIC_MOD_XRCI 173 VBIC_MOD_XRC,
#define VBIC_MOD_XRS 174 VBIC_MOD_XRCI,
#define VBIC_MOD_XVO 175 VBIC_MOD_XRS,
#define VBIC_MOD_EA 176 VBIC_MOD_XVO,
#define VBIC_MOD_EAIE 177 VBIC_MOD_EA,
#define VBIC_MOD_EAIC 178 VBIC_MOD_EAIE,
#define VBIC_MOD_EAIS 179 VBIC_MOD_EAIC,
#define VBIC_MOD_EANE 180 VBIC_MOD_EAIS,
#define VBIC_MOD_EANC 181 VBIC_MOD_EANE,
#define VBIC_MOD_EANS 182 VBIC_MOD_EANC,
#define VBIC_MOD_XIS 183 VBIC_MOD_EANS,
#define VBIC_MOD_XII 184 VBIC_MOD_XIS,
#define VBIC_MOD_XIN 185 VBIC_MOD_XII,
#define VBIC_MOD_TNF 186 VBIC_MOD_XIN,
#define VBIC_MOD_TAVC 187 VBIC_MOD_TNF,
#define VBIC_MOD_RTH 188 VBIC_MOD_TAVC,
#define VBIC_MOD_CTH 189 VBIC_MOD_RTH,
#define VBIC_MOD_VRT 190 VBIC_MOD_CTH,
#define VBIC_MOD_ART 191 VBIC_MOD_VRT,
#define VBIC_MOD_CCSO 192 VBIC_MOD_ART,
#define VBIC_MOD_QBM 193 VBIC_MOD_CCSO,
#define VBIC_MOD_NKF 194 VBIC_MOD_QBM,
#define VBIC_MOD_XIKF 195 VBIC_MOD_NKF,
#define VBIC_MOD_XRCX 196 VBIC_MOD_XIKF,
#define VBIC_MOD_XRBX 197 VBIC_MOD_XRCX,
#define VBIC_MOD_XRBP 198 VBIC_MOD_XRBX,
#define VBIC_MOD_ISRR 199 VBIC_MOD_XRBP,
#define VBIC_MOD_XISR 200 VBIC_MOD_ISRR,
#define VBIC_MOD_DEAR 201 VBIC_MOD_XISR,
#define VBIC_MOD_EAP 202 VBIC_MOD_DEAR,
#define VBIC_MOD_VBBE 203 VBIC_MOD_EAP,
#define VBIC_MOD_NBBE 204 VBIC_MOD_VBBE,
#define VBIC_MOD_IBBE 205 VBIC_MOD_NBBE,
#define VBIC_MOD_TVBBE1 206 VBIC_MOD_IBBE,
#define VBIC_MOD_TVBBE2 207 VBIC_MOD_TVBBE1,
#define VBIC_MOD_TNBBE 208 VBIC_MOD_TVBBE2,
#define VBIC_MOD_EBBE 209 VBIC_MOD_TNBBE,
#define VBIC_MOD_DTEMP 210 VBIC_MOD_EBBE,
#define VBIC_MOD_VERS 211 VBIC_MOD_DTEMP,
#define VBIC_MOD_VREF 212 VBIC_MOD_VERS,
#define VBIC_MOD_VBE_MAX 213 VBIC_MOD_VREF,
#define VBIC_MOD_VBC_MAX 214 VBIC_MOD_VBE_MAX,
#define VBIC_MOD_VCE_MAX 215 VBIC_MOD_VBC_MAX,
VBIC_MOD_VCE_MAX,
};
/* device questions */ /* device questions */
#define VBIC_QUEST_FT 221 enum {
#define VBIC_QUEST_COLLNODE 222 VBIC_QUEST_FT = 221,
#define VBIC_QUEST_BASENODE 223 VBIC_QUEST_COLLNODE,
#define VBIC_QUEST_EMITNODE 224 VBIC_QUEST_BASENODE,
#define VBIC_QUEST_SUBSNODE 225 VBIC_QUEST_EMITNODE,
#define VBIC_QUEST_COLLCXNODE 226 VBIC_QUEST_SUBSNODE,
#define VBIC_QUEST_COLLCINODE 227 VBIC_QUEST_COLLCXNODE,
#define VBIC_QUEST_BASEBXNODE 228 VBIC_QUEST_COLLCINODE,
#define VBIC_QUEST_BASEBINODE 229 VBIC_QUEST_BASEBXNODE,
#define VBIC_QUEST_BASEBPNODE 230 VBIC_QUEST_BASEBINODE,
#define VBIC_QUEST_EMITEINODE 231 VBIC_QUEST_BASEBPNODE,
#define VBIC_QUEST_SUBSSINODE 232 VBIC_QUEST_EMITEINODE,
#define VBIC_QUEST_VBE 233 VBIC_QUEST_SUBSSINODE,
#define VBIC_QUEST_VBC 234 VBIC_QUEST_VBE,
#define VBIC_QUEST_CC 235 VBIC_QUEST_VBC,
#define VBIC_QUEST_CB 236 VBIC_QUEST_CC,
#define VBIC_QUEST_CE 237 VBIC_QUEST_CB,
#define VBIC_QUEST_CS 238 VBIC_QUEST_CE,
#define VBIC_QUEST_GM 239 VBIC_QUEST_CS,
#define VBIC_QUEST_GO 240 VBIC_QUEST_GM,
#define VBIC_QUEST_GPI 241 VBIC_QUEST_GO,
#define VBIC_QUEST_GMU 242 VBIC_QUEST_GPI,
#define VBIC_QUEST_GX 243 VBIC_QUEST_GMU,
#define VBIC_QUEST_QBE 244 VBIC_QUEST_GX,
#define VBIC_QUEST_CQBE 245 VBIC_QUEST_QBE,
#define VBIC_QUEST_QBC 246 VBIC_QUEST_CQBE,
#define VBIC_QUEST_CQBC 247 VBIC_QUEST_QBC,
#define VBIC_QUEST_QBX 248 VBIC_QUEST_CQBC,
#define VBIC_QUEST_CQBX 249 VBIC_QUEST_QBX,
#define VBIC_QUEST_QBCP 250 VBIC_QUEST_CQBX,
#define VBIC_QUEST_CQBCP 251 VBIC_QUEST_QBCP,
#define VBIC_QUEST_CEXBC 252 VBIC_QUEST_CQBCP,
#define VBIC_QUEST_GEQCB 253 VBIC_QUEST_CEXBC,
#define VBIC_QUEST_GCSUB 254 VBIC_QUEST_GEQCB,
#define VBIC_QUEST_GDSUB 255 VBIC_QUEST_GCSUB,
#define VBIC_QUEST_GEQBX 256 VBIC_QUEST_GDSUB,
#define VBIC_QUEST_CBE 257 VBIC_QUEST_GEQBX,
#define VBIC_QUEST_CBEX 258 VBIC_QUEST_CBE,
#define VBIC_QUEST_CBC 259 VBIC_QUEST_CBEX,
#define VBIC_QUEST_CBCX 260 VBIC_QUEST_CBC,
#define VBIC_QUEST_CBEP 261 VBIC_QUEST_CBCX,
#define VBIC_QUEST_CBCP 262 VBIC_QUEST_CBEP,
#define VBIC_QUEST_SENS_REAL 263 VBIC_QUEST_CBCP,
#define VBIC_QUEST_SENS_IMAG 264 VBIC_QUEST_SENS_REAL,
#define VBIC_QUEST_SENS_MAG 265 VBIC_QUEST_SENS_IMAG,
#define VBIC_QUEST_SENS_PH 266 VBIC_QUEST_SENS_MAG,
#define VBIC_QUEST_SENS_CPLX 267 VBIC_QUEST_SENS_PH,
#define VBIC_QUEST_SENS_DC 268 VBIC_QUEST_SENS_CPLX,
#define VBIC_QUEST_POWER 269 VBIC_QUEST_SENS_DC,
VBIC_QUEST_POWER,
};
/* model questions */ /* model questions */
#define VBIC_MOD_COLLCONDUCT 301 enum {
#define VBIC_MOD_BASECONDUCT 302 VBIC_MOD_COLLCONDUCT = 301,
#define VBIC_MOD_EMITTERCONDUCT 303 VBIC_MOD_BASECONDUCT,
#define VBIC_MOD_SUBSTRATECONDUCT 304 VBIC_MOD_EMITTERCONDUCT,
#define VBIC_MOD_TYPE 305 VBIC_MOD_SUBSTRATECONDUCT,
VBIC_MOD_TYPE,
};
#include "vbicext.h" #include "vbicext.h"
#endif /*VBIC*/ #endif /*VBIC*/

View File

@ -68,28 +68,32 @@ typedef struct sVCCSmodel { /* model structure for a source */
} VCCSmodel; } VCCSmodel;
/* device parameters */ /* device parameters */
#define VCCS_TRANS 1 enum {
#define VCCS_IC 2 VCCS_TRANS = 1,
#define VCCS_POS_NODE 3 VCCS_IC,
#define VCCS_NEG_NODE 4 VCCS_POS_NODE,
#define VCCS_CONT_P_NODE 5 VCCS_NEG_NODE,
#define VCCS_CONT_N_NODE 6 VCCS_CONT_P_NODE,
#define VCCS_CONT_V_OLD 7 VCCS_CONT_N_NODE,
#define VCCS_TRANS_SENS 8 VCCS_CONT_V_OLD,
#define VCCS_CURRENT 9 VCCS_TRANS_SENS,
#define VCCS_POWER 10 VCCS_CURRENT,
#define VCCS_VOLTS 11 VCCS_POWER,
#define VCCS_M 12 VCCS_VOLTS,
VCCS_M,
};
/* model parameters */ /* model parameters */
/* device questions */ /* device questions */
#define VCCS_QUEST_SENS_REAL 201 enum {
#define VCCS_QUEST_SENS_IMAG 202 VCCS_QUEST_SENS_REAL = 201,
#define VCCS_QUEST_SENS_MAG 203 VCCS_QUEST_SENS_IMAG,
#define VCCS_QUEST_SENS_PH 204 VCCS_QUEST_SENS_MAG,
#define VCCS_QUEST_SENS_CPLX 205 VCCS_QUEST_SENS_PH,
#define VCCS_QUEST_SENS_DC 206 VCCS_QUEST_SENS_CPLX,
VCCS_QUEST_SENS_DC,
};
/* model questions */ /* model questions */

View File

@ -72,28 +72,32 @@ typedef struct sVCVSmodel { /* model structure for a source */
} VCVSmodel; } VCVSmodel;
/* device parameters */ /* device parameters */
#define VCVS_GAIN 1 enum {
#define VCVS_POS_NODE 2 VCVS_GAIN = 1,
#define VCVS_NEG_NODE 3 VCVS_POS_NODE,
#define VCVS_CONT_P_NODE 4 VCVS_NEG_NODE,
#define VCVS_CONT_N_NODE 5 VCVS_CONT_P_NODE,
#define VCVS_BR 6 VCVS_CONT_N_NODE,
#define VCVS_IC 7 VCVS_BR,
#define VCVS_CONT_V_OLD 8 VCVS_IC,
#define VCVS_GAIN_SENS 9 VCVS_CONT_V_OLD,
#define VCVS_CURRENT 10 VCVS_GAIN_SENS,
#define VCVS_POWER 11 VCVS_CURRENT,
#define VCVS_VOLTS 12 VCVS_POWER,
VCVS_VOLTS,
};
/* model parameters */ /* model parameters */
/* device questions */ /* device questions */
#define VCVS_QUEST_SENS_REAL 201 enum {
#define VCVS_QUEST_SENS_IMAG 202 VCVS_QUEST_SENS_REAL = 201,
#define VCVS_QUEST_SENS_MAG 203 VCVS_QUEST_SENS_IMAG,
#define VCVS_QUEST_SENS_PH 204 VCVS_QUEST_SENS_MAG,
#define VCVS_QUEST_SENS_CPLX 205 VCVS_QUEST_SENS_PH,
#define VCVS_QUEST_SENS_DC 206 VCVS_QUEST_SENS_CPLX,
VCVS_QUEST_SENS_DC,
};
/* model questions */ /* model questions */

View File

@ -96,46 +96,50 @@ typedef struct sVSRCmodel {
/* source function types (shared with current sources) */ /* source function types (shared with current sources) */
#ifndef PULSE_FUN_TYPES #ifndef PULSE_FUN_TYPES
#define PULSE_FUN_TYPES #define PULSE_FUN_TYPES
#define PULSE 1 enum {
#define SINE 2 PULSE = 1,
#define EXP 3 SINE,
#define SFFM 4 EXP,
#define PWL 5 SFFM,
#define AM 6 PWL,
#define TRNOISE 7 AM,
#define TRRANDOM 8 TRNOISE,
#define EXTERNAL 9 TRRANDOM,
EXTERNAL,
};
#endif #endif
/* device parameters */ /* device parameters */
#define VSRC_DC 1 enum {
#define VSRC_AC 2 VSRC_DC = 1,
#define VSRC_AC_MAG 3 VSRC_AC,
#define VSRC_AC_PHASE 4 VSRC_AC_MAG,
#define VSRC_PULSE 5 VSRC_AC_PHASE,
#define VSRC_SINE 6 VSRC_PULSE,
#define VSRC_EXP 7 VSRC_SINE,
#define VSRC_PWL 8 VSRC_EXP,
#define VSRC_SFFM 9 VSRC_PWL,
#define VSRC_BR 10 VSRC_SFFM,
#define VSRC_FCN_TYPE 11 VSRC_BR,
#define VSRC_FCN_ORDER 12 VSRC_FCN_TYPE,
#define VSRC_FCN_COEFFS 13 VSRC_FCN_ORDER,
#define VSRC_AC_REAL 14 VSRC_FCN_COEFFS,
#define VSRC_AC_IMAG 15 VSRC_AC_REAL,
#define VSRC_POS_NODE 16 VSRC_AC_IMAG,
#define VSRC_NEG_NODE 17 VSRC_POS_NODE,
#define VSRC_CURRENT 18 VSRC_NEG_NODE,
#define VSRC_POWER 19 VSRC_CURRENT,
#define VSRC_D_F1 20 VSRC_POWER,
#define VSRC_D_F2 21 VSRC_D_F1,
VSRC_D_F2,
#define VSRC_AM 22 VSRC_AM,
#define VSRC_R 23 VSRC_R,
#define VSRC_TD 24 VSRC_TD,
#define VSRC_TRNOISE 25 VSRC_TRNOISE,
#define VSRC_TRRANDOM 26 VSRC_TRRANDOM,
#define VSRC_EXTERNAL 27 VSRC_EXTERNAL,
};
/* model parameters */ /* model parameters */