From 45a70b3a53e9ff7dd98239e4ebccf0ed849011cb Mon Sep 17 00:00:00 2001 From: rlar Date: Mon, 30 Apr 2018 19:04:11 +0200 Subject: [PATCH] rewrite, use enum instead of #define sequences see branch "rewrite-defines2enum" --- src/include/ngspice/acdefs.h | 24 +- src/include/ngspice/bdrydefs.h | 30 +- src/include/ngspice/cktdefs.h | 9 +- src/include/ngspice/contdefs.h | 14 +- src/include/ngspice/cpdefs.h | 12 +- src/include/ngspice/domndefs.h | 23 +- src/include/ngspice/dopdefs.h | 66 ++-- src/include/ngspice/elctdefs.h | 20 +- src/include/ngspice/fteoptdefs.h | 8 +- src/include/ngspice/hlpdefs.h | 8 +- src/include/ngspice/jobdefs.h | 10 +- src/include/ngspice/matldefs.h | 60 ++-- src/include/ngspice/meshdefs.h | 16 +- src/include/ngspice/methdefs.h | 18 +- src/include/ngspice/mobdefs.h | 36 ++- src/include/ngspice/modldefs.h | 24 +- src/include/ngspice/optdefs.h | 169 +++++----- src/include/ngspice/optndefs.h | 40 +-- src/include/ngspice/outpdefs.h | 64 ++-- src/include/ngspice/pssdefs.h | 18 +- src/include/ngspice/pzdefs.h | 20 +- src/include/ngspice/sen2defs.h | 12 +- src/include/ngspice/sensdefs.h | 51 +-- src/include/ngspice/tfdefs.h | 13 +- src/include/ngspice/trandefs.h | 13 +- src/include/ngspice/trcvdefs.h | 22 +- src/spicelib/devices/asrc/asrcdefs.h | 26 +- src/spicelib/devices/bjt/bjtdefs.h | 376 +++++++++++----------- src/spicelib/devices/cap/capdefs.h | 76 +++-- src/spicelib/devices/cccs/cccsdefs.h | 36 ++- src/spicelib/devices/ccvs/ccvsdefs.h | 36 ++- src/spicelib/devices/cpl/cpldefs.h | 24 +- src/spicelib/devices/csw/cswdefs.h | 32 +- src/spicelib/devices/dio/diodefs.h | 162 +++++----- src/spicelib/devices/hfet1/hfetdefs.h | 213 +++++++------ src/spicelib/devices/hfet2/hfet2defs.h | 153 ++++----- src/spicelib/devices/ind/inddefs.h | 89 +++--- src/spicelib/devices/isrc/isrcdefs.h | 82 ++--- src/spicelib/devices/jfet/jfetdefs.h | 132 ++++---- src/spicelib/devices/jfet2/jfet2defs.h | 92 +++--- src/spicelib/devices/ltra/ltradefs.h | 102 +++--- src/spicelib/devices/mes/mesdefs.h | 119 +++---- src/spicelib/devices/mesa/mesadefs.h | 234 +++++++------- src/spicelib/devices/mos1/mos1defs.h | 251 ++++++++------- src/spicelib/devices/mos2/mos2defs.h | 266 ++++++++-------- src/spicelib/devices/mos3/mos3defs.h | 279 ++++++++-------- src/spicelib/devices/mos6/mos6defs.h | 248 ++++++++------- src/spicelib/devices/mos9/mos9defs.h | 278 ++++++++-------- src/spicelib/devices/nbjt/nbjtdefs.h | 70 ++-- src/spicelib/devices/ndev/ndevdefs.h | 8 +- src/spicelib/devices/numd/numddefs.h | 41 +-- src/spicelib/devices/res/resdefs.h | 102 +++--- src/spicelib/devices/soi3/soi3defs.h | 425 +++++++++++++------------ src/spicelib/devices/sw/swdefs.h | 34 +- src/spicelib/devices/tra/tradefs.h | 46 +-- src/spicelib/devices/txl/txldefs.h | 22 +- src/spicelib/devices/urc/urcdefs.h | 28 +- src/spicelib/devices/vbic/vbicdefs.h | 399 +++++++++++------------ src/spicelib/devices/vccs/vccsdefs.h | 40 +-- src/spicelib/devices/vcvs/vcvsdefs.h | 40 +-- src/spicelib/devices/vsrc/vsrcdefs.h | 78 ++--- 61 files changed, 2862 insertions(+), 2577 deletions(-) diff --git a/src/include/ngspice/acdefs.h b/src/include/ngspice/acdefs.h index 5f12777d2..44519078b 100644 --- a/src/include/ngspice/acdefs.h +++ b/src/include/ngspice/acdefs.h @@ -25,15 +25,19 @@ typedef struct { /* available step types: XXX should be somewhere else */ -#define DECADE 1 -#define OCTAVE 2 -#define LINEAR 3 - -#define AC_DEC 1 -#define AC_OCT 2 -#define AC_LIN 3 -#define AC_START 4 -#define AC_STOP 5 -#define AC_STEPS 6 +enum { + DECADE = 1, + OCTAVE, + LINEAR, +}; + +enum { + AC_DEC = 1, + AC_OCT, + AC_LIN, + AC_START, + AC_STOP, + AC_STEPS, +}; #endif diff --git a/src/include/ngspice/bdrydefs.h b/src/include/ngspice/bdrydefs.h index d71752ace..c4e984d4d 100644 --- a/src/include/ngspice/bdrydefs.h +++ b/src/include/ngspice/bdrydefs.h @@ -46,19 +46,21 @@ typedef struct sBDRYcard { } BDRYcard; /* BDRY parameters */ -#define BDRY_X_LOW 1 -#define BDRY_X_HIGH 2 -#define BDRY_Y_LOW 3 -#define BDRY_Y_HIGH 4 -#define BDRY_IX_LOW 5 -#define BDRY_IX_HIGH 6 -#define BDRY_IY_LOW 7 -#define BDRY_IY_HIGH 8 -#define BDRY_DOMAIN 9 -#define BDRY_NEIGHBOR 10 -#define BDRY_QF 11 -#define BDRY_SN 12 -#define BDRY_SP 13 -#define BDRY_LAYER 14 +enum { + BDRY_X_LOW = 1, + BDRY_X_HIGH, + BDRY_Y_LOW, + BDRY_Y_HIGH, + BDRY_IX_LOW, + BDRY_IX_HIGH, + BDRY_IY_LOW, + BDRY_IY_HIGH, + BDRY_DOMAIN, + BDRY_NEIGHBOR, + BDRY_QF, + BDRY_SN, + BDRY_SP, + BDRY_LAYER, +}; #endif diff --git a/src/include/ngspice/cktdefs.h b/src/include/ngspice/cktdefs.h index f7777ae1d..a354ff669 100644 --- a/src/include/ngspice/cktdefs.h +++ b/src/include/ngspice/cktdefs.h @@ -53,10 +53,11 @@ struct CKTnode { }; /* defines for node parameters */ -#define PARM_NS 1 -#define PARM_IC 2 -#define PARM_NODETYPE 3 - +enum { + PARM_NS = 1, + PARM_IC, + PARM_NODETYPE, +}; struct CKTcircuit { diff --git a/src/include/ngspice/contdefs.h b/src/include/ngspice/contdefs.h index cdc9d1c6e..af4172f23 100644 --- a/src/include/ngspice/contdefs.h +++ b/src/include/ngspice/contdefs.h @@ -23,11 +23,13 @@ typedef struct sCONTcard { } CONTcard; /* CONT parameters */ -#define CONT_NEUTRAL 1 -#define CONT_ALUMINUM 2 -#define CONT_P_POLY 3 -#define CONT_N_POLY 4 -#define CONT_WORKFUN 5 -#define CONT_NUMBER 6 +enum { + CONT_NEUTRAL = 1, + CONT_ALUMINUM, + CONT_P_POLY, + CONT_N_POLY, + CONT_WORKFUN, + CONT_NUMBER, +}; #endif diff --git a/src/include/ngspice/cpdefs.h b/src/include/ngspice/cpdefs.h index 743b42c64..4adeb6c6b 100644 --- a/src/include/ngspice/cpdefs.h +++ b/src/include/ngspice/cpdefs.h @@ -67,11 +67,13 @@ struct histent { /* The values returned by cp_usrset(). */ -#define US_OK 1 /* Either not relevant or nothing special. */ -#define US_READONLY 2 /* Complain and don't set this var. */ -#define US_DONTRECORD 3 /* Ok, but don't keep track of this one. */ -#define US_SIMVAR 4 /* OK, recorded in options struct */ -#define US_NOSIMVAR 5 /* Not OK, simulation param but circuit not loaded */ +enum { + US_OK = 1, /* Either not relevant or nothing special. */ + US_READONLY, /* Complain and don't set this var. */ + US_DONTRECORD, /* OK, but don't keep track of this one. */ + US_SIMVAR, /* OK, recorded in options struct */ + US_NOSIMVAR, /* Not OK, simulation param but circuit not loaded */ +}; /* Aliases. These will be expanded if the word is the first in an input * line. The substitution string may contain arg selectors. diff --git a/src/include/ngspice/domndefs.h b/src/include/ngspice/domndefs.h index e1e8127a2..ab7289544 100644 --- a/src/include/ngspice/domndefs.h +++ b/src/include/ngspice/domndefs.h @@ -37,16 +37,17 @@ typedef struct sDOMNcard { } DOMNcard; /* DOMN parameters */ -#define DOMN_X_LOW 1 -#define DOMN_X_HIGH 2 -#define DOMN_Y_LOW 3 -#define DOMN_Y_HIGH 4 -#define DOMN_IX_LOW 5 -#define DOMN_IX_HIGH 6 -#define DOMN_IY_LOW 7 -#define DOMN_IY_HIGH 8 -#define DOMN_NUMBER 9 -#define DOMN_MATERIAL 10 - +enum { + DOMN_X_LOW = 1, + DOMN_X_HIGH, + DOMN_Y_LOW, + DOMN_Y_HIGH, + DOMN_IX_LOW, + DOMN_IX_HIGH, + DOMN_IY_LOW, + DOMN_IY_HIGH, + DOMN_NUMBER, + DOMN_MATERIAL, +}; #endif diff --git a/src/include/ngspice/dopdefs.h b/src/include/ngspice/dopdefs.h index 2374d8037..c57576571 100644 --- a/src/include/ngspice/dopdefs.h +++ b/src/include/ngspice/dopdefs.h @@ -48,37 +48,39 @@ typedef struct sDOPcard { } DOPcard; /* DOP parameters */ -#define DOP_UNIF 1 -#define DOP_LINEAR 2 -#define DOP_GAUSS 3 -#define DOP_ERFC 4 -#define DOP_EXP 5 -#define DOP_SUPREM3 6 -#define DOP_ASCII 7 -#define DOP_SUPASCII 8 -#define DOP_INFILE 9 -#define DOP_BORON 10 -#define DOP_PHOSP 11 -#define DOP_ARSEN 12 -#define DOP_ANTIM 13 -#define DOP_P_TYPE 14 -#define DOP_N_TYPE 15 -#define DOP_X_AXIS 16 -#define DOP_Y_AXIS 17 -#define DOP_X_LOW 18 -#define DOP_X_HIGH 19 -#define DOP_Y_LOW 20 -#define DOP_Y_HIGH 21 -#define DOP_CONC 22 -#define DOP_LOCATION 23 -#define DOP_CHAR_LEN 24 -#define DOP_RATIO_LAT 25 -#define DOP_ROTATE_LAT 26 -#define DOP_UNIF_LAT 27 -#define DOP_LINEAR_LAT 28 -#define DOP_GAUSS_LAT 29 -#define DOP_ERFC_LAT 30 -#define DOP_EXP_LAT 31 -#define DOP_DOMAIN 32 +enum { + DOP_UNIF = 1, + DOP_LINEAR, + DOP_GAUSS, + DOP_ERFC, + DOP_EXP, + DOP_SUPREM3, + DOP_ASCII, + DOP_SUPASCII, + DOP_INFILE, + DOP_BORON, + DOP_PHOSP, + DOP_ARSEN, + DOP_ANTIM, + DOP_P_TYPE, + DOP_N_TYPE, + DOP_X_AXIS, + DOP_Y_AXIS, + DOP_X_LOW, + DOP_X_HIGH, + DOP_Y_LOW, + DOP_Y_HIGH, + DOP_CONC, + DOP_LOCATION, + DOP_CHAR_LEN, + DOP_RATIO_LAT, + DOP_ROTATE_LAT, + DOP_UNIF_LAT, + DOP_LINEAR_LAT, + DOP_GAUSS_LAT, + DOP_ERFC_LAT, + DOP_EXP_LAT, + DOP_DOMAIN, +}; #endif diff --git a/src/include/ngspice/elctdefs.h b/src/include/ngspice/elctdefs.h index db102df3a..96c234508 100644 --- a/src/include/ngspice/elctdefs.h +++ b/src/include/ngspice/elctdefs.h @@ -35,14 +35,16 @@ typedef struct sELCTcard { } ELCTcard; /* ELCT parameters */ -#define ELCT_X_LOW 1 -#define ELCT_X_HIGH 2 -#define ELCT_Y_LOW 3 -#define ELCT_Y_HIGH 4 -#define ELCT_IX_LOW 5 -#define ELCT_IX_HIGH 6 -#define ELCT_IY_LOW 7 -#define ELCT_IY_HIGH 8 -#define ELCT_NUMBER 9 +enum { + ELCT_X_LOW = 1, + ELCT_X_HIGH, + ELCT_Y_LOW, + ELCT_Y_HIGH, + ELCT_IX_LOW, + ELCT_IX_HIGH, + ELCT_IY_LOW, + ELCT_IY_HIGH, + ELCT_NUMBER, +}; #endif diff --git a/src/include/ngspice/fteoptdefs.h b/src/include/ngspice/fteoptdefs.h index 98b5db026..3e457e8b0 100644 --- a/src/include/ngspice/fteoptdefs.h +++ b/src/include/ngspice/fteoptdefs.h @@ -18,8 +18,10 @@ typedef struct sFTESTATistics { } FTESTATistics; -#define FTEOPT_NLDECK 1 -#define FTEOPT_NLT 2 -#define FTEOPT_NPT 3 +enum { + FTEOPT_NLDECK = 1, + FTEOPT_NLT, + FTEOPT_NPT, +}; #endif diff --git a/src/include/ngspice/hlpdefs.h b/src/include/ngspice/hlpdefs.h index f7ca46a1a..811ecbfed 100644 --- a/src/include/ngspice/hlpdefs.h +++ b/src/include/ngspice/hlpdefs.h @@ -96,9 +96,11 @@ typedef struct handle { #define MAX_LINES 25 #define SCROLL_INCR 25 -#define BS_LEFT 0 -#define BS_CENTER 1 -#define BS_UNIF 2 +enum { + BS_LEFT = 0, + BS_CENTER, + BS_UNIF, +}; /* External symbols. */ diff --git a/src/include/ngspice/jobdefs.h b/src/include/ngspice/jobdefs.h index a08772184..9bc0dc44e 100644 --- a/src/include/ngspice/jobdefs.h +++ b/src/include/ngspice/jobdefs.h @@ -16,9 +16,11 @@ struct JOB { IFuid JOBname; /* name of this job */ }; -#define NODOMAIN 0 -#define TIMEDOMAIN 1 -#define FREQUENCYDOMAIN 2 -#define SWEEPDOMAIN 3 +enum { + NODOMAIN = 0, + TIMEDOMAIN, + FREQUENCYDOMAIN, + SWEEPDOMAIN, +}; #endif diff --git a/src/include/ngspice/matldefs.h b/src/include/ngspice/matldefs.h index 39142665d..0c6526b7a 100644 --- a/src/include/ngspice/matldefs.h +++ b/src/include/ngspice/matldefs.h @@ -60,34 +60,36 @@ typedef struct sMATLcard { } MATLcard; /* MATL parameters */ -#define MATL_NC0 1 -#define MATL_NV0 2 -#define MATL_EG0 3 -#define MATL_DEGDT 4 -#define MATL_TREF_EG 5 -#define MATL_DEGDN 6 -#define MATL_NREF_EG 7 -#define MATL_DEGDP 8 -#define MATL_PREF_EG 9 -#define MATL_AFFIN 10 -#define MATL_PERMIT 11 -#define MATL_TAUN0 12 -#define MATL_TAUP0 13 -#define MATL_NSRHN 14 -#define MATL_NSRHP 15 -#define MATL_CNAUG 16 -#define MATL_CPAUG 17 -#define MATL_ARICHN 18 -#define MATL_ARICHP 19 -#define MATL_INSULATOR 20 -#define MATL_OXIDE 21 -#define MATL_NITRIDE 22 -#define MATL_SEMICON 23 -#define MATL_SILICON 24 -#define MATL_POLYSIL 25 -#define MATL_GAAS 26 -#define MATL_NUMBER 27 -#define MATL_DEGDC 28 -#define MATL_CREF_EG 29 +enum { + MATL_NC0 = 1, + MATL_NV0, + MATL_EG0, + MATL_DEGDT, + MATL_TREF_EG, + MATL_DEGDN, + MATL_NREF_EG, + MATL_DEGDP, + MATL_PREF_EG, + MATL_AFFIN, + MATL_PERMIT, + MATL_TAUN0, + MATL_TAUP0, + MATL_NSRHN, + MATL_NSRHP, + MATL_CNAUG, + MATL_CPAUG, + MATL_ARICHN, + MATL_ARICHP, + MATL_INSULATOR, + MATL_OXIDE, + MATL_NITRIDE, + MATL_SEMICON, + MATL_SILICON, + MATL_POLYSIL, + MATL_GAAS, + MATL_NUMBER, + MATL_DEGDC, + MATL_CREF_EG, +}; #endif diff --git a/src/include/ngspice/meshdefs.h b/src/include/ngspice/meshdefs.h index e650a53c0..ea9ee2c89 100644 --- a/src/include/ngspice/meshdefs.h +++ b/src/include/ngspice/meshdefs.h @@ -33,12 +33,14 @@ typedef struct sMESHcard { } MESHcard; /* MESH parameters */ -#define MESH_NUMBER 1 -#define MESH_LOCATION 2 -#define MESH_WIDTH 3 -#define MESH_H_START 4 -#define MESH_H_END 5 -#define MESH_H_MAX 6 -#define MESH_RATIO 7 +enum { + MESH_NUMBER = 1, + MESH_LOCATION, + MESH_WIDTH, + MESH_H_START, + MESH_H_END, + MESH_H_MAX, + MESH_RATIO, +}; #endif diff --git a/src/include/ngspice/methdefs.h b/src/include/ngspice/methdefs.h index 2d40c0ec9..c0ef3fabb 100644 --- a/src/include/ngspice/methdefs.h +++ b/src/include/ngspice/methdefs.h @@ -33,13 +33,15 @@ typedef struct sMETHcard { } METHcard; /* METH parameters */ -#define METH_DABSTOL 1 -#define METH_DRELTOL 2 -#define METH_OMEGA 3 -#define METH_ONEC 4 -#define METH_ACANAL 5 -#define METH_NOMOBDERIV 6 -#define METH_ITLIM 7 -#define METH_VOLTPRED 8 +enum { + METH_DABSTOL = 1, + METH_DRELTOL, + METH_OMEGA, + METH_ONEC, + METH_ACANAL, + METH_NOMOBDERIV, + METH_ITLIM, + METH_VOLTPRED, +}; #endif diff --git a/src/include/ngspice/mobdefs.h b/src/include/ngspice/mobdefs.h index 847450030..539eeb0d0 100644 --- a/src/include/ngspice/mobdefs.h +++ b/src/include/ngspice/mobdefs.h @@ -47,22 +47,24 @@ typedef struct sMOBcard { } MOBcard; /* MOB parameters */ -#define MOB_ELEC 1 -#define MOB_HOLE 2 -#define MOB_MAJOR 3 -#define MOB_MINOR 4 -#define MOB_MUMAX 5 -#define MOB_MUMIN 6 -#define MOB_NTREF 7 -#define MOB_NTEXP 8 -#define MOB_VSAT 9 -#define MOB_VWARM 10 -#define MOB_MUS 11 -#define MOB_EC_A 12 -#define MOB_EC_B 13 -#define MOB_CONC_MOD 14 -#define MOB_FIELD_MOD 15 -#define MOB_MATERIAL 16 -#define MOB_INIT 17 +enum { + MOB_ELEC = 1, + MOB_HOLE, + MOB_MAJOR, + MOB_MINOR, + MOB_MUMAX, + MOB_MUMIN, + MOB_NTREF, + MOB_NTEXP, + MOB_VSAT, + MOB_VWARM, + MOB_MUS, + MOB_EC_A, + MOB_EC_B, + MOB_CONC_MOD, + MOB_FIELD_MOD, + MOB_MATERIAL, + MOB_INIT, +}; #endif diff --git a/src/include/ngspice/modldefs.h b/src/include/ngspice/modldefs.h index b9f0da3a5..6a54a2160 100644 --- a/src/include/ngspice/modldefs.h +++ b/src/include/ngspice/modldefs.h @@ -39,16 +39,18 @@ typedef struct sMODLcard { } MODLcard; /* MODL parameters */ -#define MODL_BGNW 1 -#define MODL_TEMPMOB 2 -#define MODL_CONCMOB 3 -#define MODL_FIELDMOB 4 -#define MODL_TRANSMOB 5 -#define MODL_SURFMOB 6 -#define MODL_MATCHMOB 7 -#define MODL_SRH 8 -#define MODL_CONCTAU 9 -#define MODL_AUGER 10 -#define MODL_AVAL 11 +enum { + MODL_BGNW = 1, + MODL_TEMPMOB, + MODL_CONCMOB, + MODL_FIELDMOB, + MODL_TRANSMOB, + MODL_SURFMOB, + MODL_MATCHMOB, + MODL_SRH, + MODL_CONCTAU, + MODL_AUGER, + MODL_AVAL, +}; #endif diff --git a/src/include/ngspice/optdefs.h b/src/include/ngspice/optdefs.h index bca139d06..524dc5ef8 100644 --- a/src/include/ngspice/optdefs.h +++ b/src/include/ngspice/optdefs.h @@ -48,93 +48,94 @@ typedef struct { STATdevList *STATdevNum; /* PN: Number of instances and models for each device */ } STATistics; -#define OPT_GMIN 1 -#define OPT_RELTOL 2 -#define OPT_ABSTOL 3 -#define OPT_VNTOL 4 -#define OPT_TRTOL 5 -#define OPT_CHGTOL 6 -#define OPT_PIVTOL 7 -#define OPT_PIVREL 8 -#define OPT_TNOM 9 -#define OPT_ITL1 10 -#define OPT_ITL2 11 -#define OPT_ITL3 12 -#define OPT_ITL4 13 -#define OPT_ITL5 14 -#define OPT_DEFL 15 -#define OPT_DEFW 16 -#define OPT_DEFAD 17 -#define OPT_DEFAS 18 -#define OPT_BYPASS 19 -#define OPT_MAXORD 20 - -#define OPT_ITERS 21 -#define OPT_TRANIT 22 -#define OPT_TRANPTS 23 -#define OPT_TRANACCPT 24 -#define OPT_TRANRJCT 25 -#define OPT_TOTANALTIME 26 -#define OPT_TRANTIME 27 -#define OPT_LOADTIME 28 -#define OPT_DECOMP 29 -#define OPT_SOLVE 30 -#define OPT_TRANDECOMP 31 -#define OPT_TRANSOLVE 32 -#define OPT_TEMP 33 -#define OPT_OLDLIMIT 34 -#define OPT_TRANCURITER 35 -#define OPT_SRCSTEPS 36 -#define OPT_GMINSTEPS 37 -#define OPT_MINBREAK 38 -#define OPT_NOOPITER 39 -#define OPT_EQNS 40 -#define OPT_REORDTIME 41 -#define OPT_METHOD 42 -#define OPT_TRYTOCOMPACT 43 -#define OPT_BADMOS3 44 -#define OPT_KEEPOPINFO 45 -#define OPT_TRANLOAD 46 -#define OPT_TRANTRUNC 47 -#define OPT_ACTIME 48 -#define OPT_ACLOAD 49 -#define OPT_ACDECOMP 50 -#define OPT_ACSOLVE 51 -#define OPT_ORIGNZ 52 -#define OPT_FILLNZ 53 -#define OPT_TOTALNZ 54 -#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_GMIN = 1, + OPT_RELTOL, + OPT_ABSTOL, + OPT_VNTOL, + OPT_TRTOL, + OPT_CHGTOL, + OPT_PIVTOL, + OPT_PIVREL, + OPT_TNOM, + OPT_ITL1, + OPT_ITL2, + OPT_ITL3, + OPT_ITL4, + OPT_ITL5, + OPT_DEFL, + OPT_DEFW, + OPT_DEFAD, + OPT_DEFAS, + OPT_BYPASS, + OPT_MAXORD, + OPT_ITERS, + OPT_TRANIT, + OPT_TRANPTS, + OPT_TRANACCPT, + OPT_TRANRJCT, + OPT_TOTANALTIME, + OPT_TRANTIME, + OPT_LOADTIME, + OPT_DECOMP, + OPT_SOLVE, + OPT_TRANDECOMP, + OPT_TRANSOLVE, + OPT_TEMP, + OPT_OLDLIMIT, + OPT_TRANCURITER, + OPT_SRCSTEPS, + OPT_GMINSTEPS, + OPT_MINBREAK, + OPT_NOOPITER, + OPT_EQNS, + OPT_REORDTIME, + OPT_METHOD, + OPT_TRYTOCOMPACT, + OPT_BADMOS3, + OPT_KEEPOPINFO, + OPT_TRANLOAD, + OPT_TRANTRUNC, + OPT_ACTIME, + OPT_ACLOAD, + OPT_ACDECOMP, + OPT_ACSOLVE, + OPT_ORIGNZ, + OPT_FILLNZ, + OPT_TOTALNZ, +}; + +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 /* gtri - begin - wbk - add new options */ -#define OPT_ENH_NOOPALTER 100 -#define OPT_ENH_RAMPTIME 101 -#define OPT_EVT_MAX_EVT_PASSES 102 -#define OPT_EVT_MAX_OP_ALTER 103 -#define OPT_ENH_CONV_LIMIT 104 -#define OPT_ENH_CONV_ABS_STEP 105 -#define OPT_ENH_CONV_STEP 106 -#define OPT_MIF_AUTO_PARTIAL 107 -#define OPT_ENH_RSHUNT 108 +enum { + OPT_ENH_NOOPALTER = 100, + OPT_ENH_RAMPTIME, + OPT_EVT_MAX_EVT_PASSES, + OPT_EVT_MAX_OP_ALTER, + OPT_ENH_CONV_LIMIT, + OPT_ENH_CONV_ABS_STEP, + OPT_ENH_CONV_STEP, + OPT_MIF_AUTO_PARTIAL, + OPT_ENH_RSHUNT, +}; + /* gtri - end - wbk - add new options */ #endif diff --git a/src/include/ngspice/optndefs.h b/src/include/ngspice/optndefs.h index 602709541..ad47e5916 100644 --- a/src/include/ngspice/optndefs.h +++ b/src/include/ngspice/optndefs.h @@ -37,24 +37,26 @@ typedef struct sOPTNcard { } OPTNcard; /* OPTN parameters */ -#define OPTN_RESISTOR 1 -#define OPTN_CAPACITOR 2 -#define OPTN_DIODE 3 -#define OPTN_BIPOLAR 4 -#define OPTN_SOIBJT 5 -#define OPTN_MOSCAP 6 -#define OPTN_MOSFET 7 -#define OPTN_SOIMOS 8 -#define OPTN_JFET 9 -#define OPTN_MESFET 10 -#define OPTN_DEFA 11 -#define OPTN_DEFW 12 -#define OPTN_DEFL 13 -#define OPTN_BASE_AREA 14 -#define OPTN_BASE_LENGTH 15 -#define OPTN_BASE_DEPTH 16 -#define OPTN_TNOM 17 -#define OPTN_IC_FILE 18 -#define OPTN_UNIQUE 19 +enum { + OPTN_RESISTOR = 1, + OPTN_CAPACITOR, + OPTN_DIODE, + OPTN_BIPOLAR, + OPTN_SOIBJT, + OPTN_MOSCAP, + OPTN_MOSFET, + OPTN_SOIMOS, + OPTN_JFET, + OPTN_MESFET, + OPTN_DEFA, + OPTN_DEFW, + OPTN_DEFL, + OPTN_BASE_AREA, + OPTN_BASE_LENGTH, + OPTN_BASE_DEPTH, + OPTN_TNOM, + OPTN_IC_FILE, + OPTN_UNIQUE, +}; #endif diff --git a/src/include/ngspice/outpdefs.h b/src/include/ngspice/outpdefs.h index 5049de7df..69340d16b 100644 --- a/src/include/ngspice/outpdefs.h +++ b/src/include/ngspice/outpdefs.h @@ -72,36 +72,38 @@ typedef struct sOUTPcard { } OUTPcard; /* OUTP parameters */ -#define OUTP_ALL_DEBUG 1 -#define OUTP_DC_DEBUG 2 -#define OUTP_TRAN_DEBUG 3 -#define OUTP_AC_DEBUG 4 -#define OUTP_GEOM 5 -#define OUTP_MESH 6 -#define OUTP_MATERIAL 7 -#define OUTP_GLOBALS 8 -#define OUTP_STATS 9 -#define OUTP_ROOTFILE 10 -#define OUTP_RAWFILE 11 -#define OUTP_HDF 12 -#define OUTP_DOPING 13 -#define OUTP_PSI 14 -#define OUTP_EQU_PSI 15 -#define OUTP_VAC_PSI 16 -#define OUTP_N_CONC 17 -#define OUTP_P_CONC 18 -#define OUTP_PHIN 19 -#define OUTP_PHIP 20 -#define OUTP_PHIC 21 -#define OUTP_PHIV 22 -#define OUTP_E_FIELD 23 -#define OUTP_J_C 24 -#define OUTP_J_D 25 -#define OUTP_J_N 26 -#define OUTP_J_P 27 -#define OUTP_J_T 28 -#define OUTP_U_NET 29 -#define OUTP_MUN 30 -#define OUTP_MUP 31 +enum { + OUTP_ALL_DEBUG = 1, + OUTP_DC_DEBUG, + OUTP_TRAN_DEBUG, + OUTP_AC_DEBUG, + OUTP_GEOM, + OUTP_MESH, + OUTP_MATERIAL, + OUTP_GLOBALS, + OUTP_STATS, + OUTP_ROOTFILE, + OUTP_RAWFILE, + OUTP_HDF, + OUTP_DOPING, + OUTP_PSI, + OUTP_EQU_PSI, + OUTP_VAC_PSI, + OUTP_N_CONC, + OUTP_P_CONC, + OUTP_PHIN, + OUTP_PHIP, + OUTP_PHIC, + OUTP_PHIV, + OUTP_E_FIELD, + OUTP_J_C, + OUTP_J_D, + OUTP_J_N, + OUTP_J_P, + OUTP_J_T, + OUTP_U_NET, + OUTP_MUN, + OUTP_MUP, +}; #endif diff --git a/src/include/ngspice/pssdefs.h b/src/include/ngspice/pssdefs.h index be97554d1..69ed9a4b8 100644 --- a/src/include/ngspice/pssdefs.h +++ b/src/include/ngspice/pssdefs.h @@ -28,13 +28,15 @@ typedef struct { double steady_coeff; } PSSan; -#define GUESSED_FREQ 1 -#define STAB_TIME 2 -#define OSC_NODE 3 -#define PSS_POINTS 4 -#define PSS_HARMS 5 -#define PSS_UIC 6 -#define SC_ITER 7 -#define STEADY_COEFF 8 +enum { + GUESSED_FREQ = 1, + STAB_TIME, + OSC_NODE, + PSS_POINTS, + PSS_HARMS, + PSS_UIC, + SC_ITER, + STEADY_COEFF, +}; #endif diff --git a/src/include/ngspice/pzdefs.h b/src/include/ngspice/pzdefs.h index 46325f6fe..86c3d40a6 100644 --- a/src/include/ngspice/pzdefs.h +++ b/src/include/ngspice/pzdefs.h @@ -44,14 +44,16 @@ struct PZAN { #define PZ_IN_VOL 1 #define PZ_IN_CUR 2 -#define PZ_NODEI 1 -#define PZ_NODEG 2 -#define PZ_NODEJ 3 -#define PZ_NODEK 4 -#define PZ_V 5 -#define PZ_I 6 -#define PZ_POL 7 -#define PZ_ZER 8 -#define PZ_PZ 9 +enum { + PZ_NODEI = 1, + PZ_NODEG, + PZ_NODEJ, + PZ_NODEK, + PZ_V, + PZ_I, + PZ_POL, + PZ_ZER, + PZ_PZ, +}; #endif diff --git a/src/include/ngspice/sen2defs.h b/src/include/ngspice/sen2defs.h index 46c913a85..de8fbd7d3 100644 --- a/src/include/ngspice/sen2defs.h +++ b/src/include/ngspice/sen2defs.h @@ -61,10 +61,12 @@ struct SENstruct { #define ON 1 -#define SEN_AC 1 -#define SEN_DC 2 -#define SEN_TRAN 3 -#define SEN_DEV 4 -#define SEN_PARM 5 +enum { + SEN_AC = 1, + SEN_DC, + SEN_TRAN, + SEN_DEV, + SEN_PARM, +}; #endif diff --git a/src/include/ngspice/sensdefs.h b/src/include/ngspice/sensdefs.h index 43bf72f94..e269eb372 100644 --- a/src/include/ngspice/sensdefs.h +++ b/src/include/ngspice/sensdefs.h @@ -71,29 +71,34 @@ extern int SENSask(CKTcircuit *,JOB *,int ,IFvalue *); extern int SENSsetParam(CKTcircuit *,JOB *,int ,IFvalue *); extern int sens_sens(CKTcircuit *,int); -#define SENS_POS 2 -#define SENS_NEG 3 -#define SENS_SRC 4 -#define SENS_NAME 5 - -#define SENS_START 10 -#define SENS_STOP 11 -#define SENS_STEPS 12 - -#define SENS_DECADE 13 -#define SENS_OCTAVE 14 -#define SENS_LINEAR 15 - -#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 +enum { + SENS_POS = 2, + SENS_NEG, + SENS_SRC, + SENS_NAME, +}; + +enum { + SENS_START = 10, + SENS_STOP, + SENS_STEPS, + SENS_DECADE, + SENS_OCTAVE, + SENS_LINEAR, + SENS_DC, + SENS_DEFTOL, + SENS_DEFPERTURB, + SENS_DEVDEFTOL, + SENS_DEVDEFPERT, + SENS_TYPE, + SENS_DEVICE, +}; + +enum { + SENS_PARAM = 24, + SENS_TOL, + SENS_PERT, +}; #endif /*DEFS*/ diff --git a/src/include/ngspice/tfdefs.h b/src/include/ngspice/tfdefs.h index 45fccf971..1ec048ec4 100644 --- a/src/include/ngspice/tfdefs.h +++ b/src/include/ngspice/tfdefs.h @@ -30,11 +30,12 @@ struct TFan { }; -#define TF_OUTPOS 1 -#define TF_OUTNEG 2 -#define TF_OUTSRC 3 -#define TF_INSRC 4 -#define TF_OUTNAME 5 - +enum { + TF_OUTPOS = 1, + TF_OUTNEG, + TF_OUTSRC, + TF_INSRC, + TF_OUTNAME, +}; #endif diff --git a/src/include/ngspice/trandefs.h b/src/include/ngspice/trandefs.h index 6822596df..bf6bab0ee 100644 --- a/src/include/ngspice/trandefs.h +++ b/src/include/ngspice/trandefs.h @@ -27,9 +27,12 @@ typedef struct { runDesc *TRANplot; } TRANan; -#define TRAN_TSTART 1 -#define TRAN_TSTOP 2 -#define TRAN_TSTEP 3 -#define TRAN_TMAX 4 -#define TRAN_UIC 5 +enum { + TRAN_TSTART = 1, + TRAN_TSTOP, + TRAN_TSTEP, + TRAN_TMAX, + TRAN_UIC, +}; + #endif diff --git a/src/include/ngspice/trcvdefs.h b/src/include/ngspice/trcvdefs.h index e17aa9bf0..4e5ae796a 100644 --- a/src/include/ngspice/trcvdefs.h +++ b/src/include/ngspice/trcvdefs.h @@ -43,15 +43,17 @@ typedef struct { int TRCVnestState; /* iteration state during pause */ } TRCV; -#define DCT_START1 1 -#define DCT_STOP1 2 -#define DCT_STEP1 3 -#define DCT_NAME1 4 -#define DCT_TYPE1 5 -#define DCT_START2 6 -#define DCT_STOP2 7 -#define DCT_STEP2 8 -#define DCT_NAME2 9 -#define DCT_TYPE2 10 +enum { + DCT_START1 = 1, + DCT_STOP1, + DCT_STEP1, + DCT_NAME1, + DCT_TYPE1, + DCT_START2, + DCT_STOP2, + DCT_STEP2, + DCT_NAME2, + DCT_TYPE2, +}; #endif diff --git a/src/spicelib/devices/asrc/asrcdefs.h b/src/spicelib/devices/asrc/asrcdefs.h index 91d8f2fc2..83242a80f 100644 --- a/src/spicelib/devices/asrc/asrcdefs.h +++ b/src/spicelib/devices/asrc/asrcdefs.h @@ -71,18 +71,20 @@ typedef struct sASRCmodel { /* model structure for a source */ /* device parameters */ -#define ASRC_VOLTAGE 1 -#define ASRC_CURRENT 2 -#define ASRC_POS_NODE 3 -#define ASRC_NEG_NODE 4 -#define ASRC_PARSE_TREE 5 -#define ASRC_OUTPUTVOLTAGE 6 -#define ASRC_OUTPUTCURRENT 7 -#define ASRC_TEMP 8 -#define ASRC_DTEMP 9 -#define ASRC_TC1 10 -#define ASRC_TC2 11 -#define ASRC_RTC 12 +enum { + ASRC_VOLTAGE = 1, + ASRC_CURRENT, + ASRC_POS_NODE, + ASRC_NEG_NODE, + ASRC_PARSE_TREE, + ASRC_OUTPUTVOLTAGE, + ASRC_OUTPUTCURRENT, + ASRC_TEMP, + ASRC_DTEMP, + ASRC_TC1, + ASRC_TC2, + ASRC_RTC, +}; /* module-wide variables */ diff --git a/src/spicelib/devices/bjt/bjtdefs.h b/src/spicelib/devices/bjt/bjtdefs.h index 07d4e0608..c8d526cb1 100644 --- a/src/spicelib/devices/bjt/bjtdefs.h +++ b/src/spicelib/devices/bjt/bjtdefs.h @@ -16,15 +16,17 @@ Author: 1985 Thomas L. Quarles /* indices to array of BJT noise sources */ -#define BJTRCNOIZ 0 -#define BJTRBNOIZ 1 -#define BJT_RE_NOISE 2 -#define BJTICNOIZ 3 -#define BJTIBNOIZ 4 -#define BJTFLNOIZ 5 -#define BJTTOTNOIZ 6 - -#define BJTNSRCS 7 /* the number of BJT noise sources */ +enum { + BJTRCNOIZ = 0, + BJTRBNOIZ, + BJT_RE_NOISE, + BJTICNOIZ, + BJTIBNOIZ, + BJTFLNOIZ, + BJTTOTNOIZ, + /* finally, the number of noise sources */ + BJTNSRCS +}; /* data needed to describe a single instance */ @@ -582,186 +584,194 @@ typedef struct sBJTmodel { /* model structure for a bjt */ #endif /* VERTICAL */ /* device parameters */ -#define BJT_AREA 1 -#define BJT_OFF 2 -#define BJT_IC_VBE 3 -#define BJT_IC_VCE 4 -#define BJT_IC 5 -#define BJT_AREA_SENS 6 -#define BJT_TEMP 7 -#define BJT_DTEMP 8 -#define BJT_M 9 -#define BJT_AREAB 10 -#define BJT_AREAC 11 +enum { + BJT_AREA = 1, + BJT_OFF, + BJT_IC_VBE, + BJT_IC_VCE, + BJT_IC, + BJT_AREA_SENS, + BJT_TEMP, + BJT_DTEMP, + BJT_M, + BJT_AREAB, + BJT_AREAC, +}; /* model parameters */ -#define BJT_MOD_NPN 101 -#define BJT_MOD_PNP 102 -#define BJT_MOD_IS 103 -#define BJT_MOD_BF 104 -#define BJT_MOD_NF 105 -#define BJT_MOD_VAF 106 -#define BJT_MOD_IKF 107 -#define BJT_MOD_ISE 108 -#define BJT_MOD_C2 109 -#define BJT_MOD_NE 110 -#define BJT_MOD_BR 111 -#define BJT_MOD_NR 112 -#define BJT_MOD_VAR 113 -#define BJT_MOD_IKR 114 -#define BJT_MOD_ISC 115 -#define BJT_MOD_C4 116 -#define BJT_MOD_NC 117 -#define BJT_MOD_RB 118 -#define BJT_MOD_IRB 119 -#define BJT_MOD_RBM 120 -#define BJT_MOD_RE 121 -#define BJT_MOD_RC 122 -#define BJT_MOD_CJE 123 -#define BJT_MOD_VJE 124 -#define BJT_MOD_MJE 125 -#define BJT_MOD_TF 126 -#define BJT_MOD_XTF 127 -#define BJT_MOD_VTF 128 -#define BJT_MOD_ITF 129 -#define BJT_MOD_PTF 130 -#define BJT_MOD_CJC 131 -#define BJT_MOD_VJC 132 -#define BJT_MOD_MJC 133 -#define BJT_MOD_XCJC 134 -#define BJT_MOD_TR 135 -#define BJT_MOD_CJS 136 -#define BJT_MOD_VJS 137 -#define BJT_MOD_MJS 138 -#define BJT_MOD_XTB 139 -#define BJT_MOD_EG 140 -#define BJT_MOD_XTI 141 -#define BJT_MOD_FC 142 -#define BJT_MOD_AF 143 -#define BJT_MOD_KF 144 -#define BJT_MOD_ISS 145 -#define BJT_MOD_NS 146 -#define BJT_MOD_TNOM 147 -#define BJT_MOD_TLEV 148 -#define BJT_MOD_TLEVC 149 -#define BJT_MOD_TBF1 150 -#define BJT_MOD_TBF2 151 -#define BJT_MOD_TBR1 152 -#define BJT_MOD_TBR2 153 -#define BJT_MOD_TIKF1 154 -#define BJT_MOD_TIKF2 155 -#define BJT_MOD_TIKR1 156 -#define BJT_MOD_TIKR2 157 -#define BJT_MOD_TIRB1 158 -#define BJT_MOD_TIRB2 159 -#define BJT_MOD_TNC1 160 -#define BJT_MOD_TNC2 161 -#define BJT_MOD_TNE1 162 -#define BJT_MOD_TNE2 163 -#define BJT_MOD_TNF1 164 -#define BJT_MOD_TNF2 165 -#define BJT_MOD_TNR1 166 -#define BJT_MOD_TNR2 167 -#define BJT_MOD_TRB1 168 -#define BJT_MOD_TRB2 169 -#define BJT_MOD_TRC1 170 -#define BJT_MOD_TRC2 171 -#define BJT_MOD_TRE1 172 -#define BJT_MOD_TRE2 173 -#define BJT_MOD_TRM1 174 -#define BJT_MOD_TRM2 175 -#define BJT_MOD_TVAF1 176 -#define BJT_MOD_TVAF2 177 -#define BJT_MOD_TVAR1 178 -#define BJT_MOD_TVAR2 179 -#define BJT_MOD_CTC 180 -#define BJT_MOD_CTE 181 -#define BJT_MOD_CTS 182 -#define BJT_MOD_TVJC 183 -#define BJT_MOD_TVJE 184 -#define BJT_MOD_TVJS 185 -#define BJT_MOD_TITF1 186 -#define BJT_MOD_TITF2 187 -#define BJT_MOD_TTF1 188 -#define BJT_MOD_TTF2 189 -#define BJT_MOD_TTR1 190 -#define BJT_MOD_TTR2 191 -#define BJT_MOD_TMJE1 192 -#define BJT_MOD_TMJE2 193 -#define BJT_MOD_TMJC1 194 -#define BJT_MOD_TMJC2 195 -#define BJT_MOD_TMJS1 196 -#define BJT_MOD_TMJS2 197 -#define BJT_MOD_TNS1 198 -#define BJT_MOD_TNS2 199 -#define BJT_MOD_SUBS 200 -#define BJT_MOD_NKF 201 -#define BJT_MOD_TIS1 202 -#define BJT_MOD_TIS2 203 -#define BJT_MOD_TISE1 204 -#define BJT_MOD_TISE2 205 -#define BJT_MOD_TISC1 206 -#define BJT_MOD_TISC2 207 -#define BJT_MOD_VBE_MAX 208 -#define BJT_MOD_VBC_MAX 209 -#define BJT_MOD_VCE_MAX 210 +enum { + BJT_MOD_NPN = 101, + BJT_MOD_PNP, + BJT_MOD_IS, + BJT_MOD_BF, + BJT_MOD_NF, + BJT_MOD_VAF, + BJT_MOD_IKF, + BJT_MOD_ISE, + BJT_MOD_C2, + BJT_MOD_NE, + BJT_MOD_BR, + BJT_MOD_NR, + BJT_MOD_VAR, + BJT_MOD_IKR, + BJT_MOD_ISC, + BJT_MOD_C4, + BJT_MOD_NC, + BJT_MOD_RB, + BJT_MOD_IRB, + BJT_MOD_RBM, + BJT_MOD_RE, + BJT_MOD_RC, + BJT_MOD_CJE, + BJT_MOD_VJE, + BJT_MOD_MJE, + BJT_MOD_TF, + BJT_MOD_XTF, + BJT_MOD_VTF, + BJT_MOD_ITF, + BJT_MOD_PTF, + BJT_MOD_CJC, + BJT_MOD_VJC, + BJT_MOD_MJC, + BJT_MOD_XCJC, + BJT_MOD_TR, + BJT_MOD_CJS, + BJT_MOD_VJS, + BJT_MOD_MJS, + BJT_MOD_XTB, + BJT_MOD_EG, + BJT_MOD_XTI, + BJT_MOD_FC, + BJT_MOD_AF, + BJT_MOD_KF, + BJT_MOD_ISS, + BJT_MOD_NS, + BJT_MOD_TNOM, + BJT_MOD_TLEV, + BJT_MOD_TLEVC, + BJT_MOD_TBF1, + BJT_MOD_TBF2, + BJT_MOD_TBR1, + BJT_MOD_TBR2, + BJT_MOD_TIKF1, + BJT_MOD_TIKF2, + BJT_MOD_TIKR1, + BJT_MOD_TIKR2, + BJT_MOD_TIRB1, + BJT_MOD_TIRB2, + BJT_MOD_TNC1, + BJT_MOD_TNC2, + BJT_MOD_TNE1, + BJT_MOD_TNE2, + BJT_MOD_TNF1, + BJT_MOD_TNF2, + BJT_MOD_TNR1, + BJT_MOD_TNR2, + BJT_MOD_TRB1, + BJT_MOD_TRB2, + BJT_MOD_TRC1, + BJT_MOD_TRC2, + BJT_MOD_TRE1, + BJT_MOD_TRE2, + BJT_MOD_TRM1, + BJT_MOD_TRM2, + BJT_MOD_TVAF1, + BJT_MOD_TVAF2, + BJT_MOD_TVAR1, + BJT_MOD_TVAR2, + BJT_MOD_CTC, + BJT_MOD_CTE, + BJT_MOD_CTS, + BJT_MOD_TVJC, + BJT_MOD_TVJE, + BJT_MOD_TVJS, + BJT_MOD_TITF1, + BJT_MOD_TITF2, + BJT_MOD_TTF1, + BJT_MOD_TTF2, + BJT_MOD_TTR1, + BJT_MOD_TTR2, + BJT_MOD_TMJE1, + BJT_MOD_TMJE2, + BJT_MOD_TMJC1, + BJT_MOD_TMJC2, + BJT_MOD_TMJS1, + BJT_MOD_TMJS2, + BJT_MOD_TNS1, + BJT_MOD_TNS2, + BJT_MOD_SUBS, + BJT_MOD_NKF, + BJT_MOD_TIS1, + BJT_MOD_TIS2, + BJT_MOD_TISE1, + BJT_MOD_TISE2, + BJT_MOD_TISC1, + BJT_MOD_TISC2, + BJT_MOD_VBE_MAX, + BJT_MOD_VBC_MAX, + BJT_MOD_VCE_MAX, +}; /* device questions */ -#define BJT_QUEST_FT 211 -#define BJT_QUEST_COLNODE 212 -#define BJT_QUEST_BASENODE 213 -#define BJT_QUEST_EMITNODE 214 -#define BJT_QUEST_SUBSTNODE 215 -#define BJT_QUEST_COLPRIMENODE 216 -#define BJT_QUEST_BASEPRIMENODE 217 -#define BJT_QUEST_EMITPRIMENODE 218 -#define BJT_QUEST_VBE 219 -#define BJT_QUEST_VBC 220 -#define BJT_QUEST_CC 221 -#define BJT_QUEST_CB 222 -#define BJT_QUEST_GPI 223 -#define BJT_QUEST_GMU 224 -#define BJT_QUEST_GM 225 -#define BJT_QUEST_GO 226 -#define BJT_QUEST_QBE 227 -#define BJT_QUEST_CQBE 228 -#define BJT_QUEST_QBC 229 -#define BJT_QUEST_CQBC 230 -#define BJT_QUEST_QSUB 231 -#define BJT_QUEST_CQSUB 232 -#define BJT_QUEST_QBX 233 -#define BJT_QUEST_CQBX 234 -#define BJT_QUEST_GX 235 -#define BJT_QUEST_CEXBC 236 -#define BJT_QUEST_GEQCB 237 -#define BJT_QUEST_GCSUB 238 -#define BJT_QUEST_GEQBX 239 -#define BJT_QUEST_SENS_REAL 240 -#define BJT_QUEST_SENS_IMAG 241 -#define BJT_QUEST_SENS_MAG 242 -#define BJT_QUEST_SENS_PH 243 -#define BJT_QUEST_SENS_CPLX 244 -#define BJT_QUEST_SENS_DC 245 -#define BJT_QUEST_CE 246 -#define BJT_QUEST_CS 247 -#define BJT_QUEST_POWER 248 -#define BJT_QUEST_CPI 249 -#define BJT_QUEST_CMU 250 -#define BJT_QUEST_CBX 251 -#define BJT_QUEST_CSUB 252 -#define BJT_QUEST_GDSUB 253 +enum { + BJT_QUEST_FT = 211, + BJT_QUEST_COLNODE, + BJT_QUEST_BASENODE, + BJT_QUEST_EMITNODE, + BJT_QUEST_SUBSTNODE, + BJT_QUEST_COLPRIMENODE, + BJT_QUEST_BASEPRIMENODE, + BJT_QUEST_EMITPRIMENODE, + BJT_QUEST_VBE, + BJT_QUEST_VBC, + BJT_QUEST_CC, + BJT_QUEST_CB, + BJT_QUEST_GPI, + BJT_QUEST_GMU, + BJT_QUEST_GM, + BJT_QUEST_GO, + BJT_QUEST_QBE, + BJT_QUEST_CQBE, + BJT_QUEST_QBC, + BJT_QUEST_CQBC, + BJT_QUEST_QSUB, + BJT_QUEST_CQSUB, + BJT_QUEST_QBX, + BJT_QUEST_CQBX, + BJT_QUEST_GX, + BJT_QUEST_CEXBC, + BJT_QUEST_GEQCB, + BJT_QUEST_GCSUB, + BJT_QUEST_GEQBX, + BJT_QUEST_SENS_REAL, + BJT_QUEST_SENS_IMAG, + BJT_QUEST_SENS_MAG, + BJT_QUEST_SENS_PH, + BJT_QUEST_SENS_CPLX, + BJT_QUEST_SENS_DC, + BJT_QUEST_CE, + BJT_QUEST_CS, + BJT_QUEST_POWER, + BJT_QUEST_CPI, + BJT_QUEST_CMU, + BJT_QUEST_CBX, + BJT_QUEST_CSUB, + BJT_QUEST_GDSUB, +}; /* model questions */ -#define BJT_MOD_INVEARLYF 301 -#define BJT_MOD_INVEARLYR 302 -#define BJT_MOD_INVROLLOFFF 303 -#define BJT_MOD_INVROLLOFFR 304 -#define BJT_MOD_COLCONDUCT 305 -#define BJT_MOD_EMITTERCONDUCT 306 -#define BJT_MOD_TRANSVBCFACT 307 -#define BJT_MOD_EXCESSPHASEFACTOR 308 -#define BJT_MOD_TYPE 309 -#define BJT_MOD_QUEST_SUBS 310 +enum { + BJT_MOD_INVEARLYF = 301, + BJT_MOD_INVEARLYR, + BJT_MOD_INVROLLOFFF, + BJT_MOD_INVROLLOFFR, + BJT_MOD_COLCONDUCT, + BJT_MOD_EMITTERCONDUCT, + BJT_MOD_TRANSVBCFACT, + BJT_MOD_EXCESSPHASEFACTOR, + BJT_MOD_TYPE, + BJT_MOD_QUEST_SUBS, +}; #include "bjtext.h" #endif /*BJT*/ diff --git a/src/spicelib/devices/cap/capdefs.h b/src/spicelib/devices/cap/capdefs.h index 5761df119..b7c0e5854 100644 --- a/src/spicelib/devices/cap/capdefs.h +++ b/src/spicelib/devices/cap/capdefs.h @@ -121,45 +121,51 @@ typedef struct sCAPmodel { /* model structure for a capacitor */ } CAPmodel; /* device parameters */ -#define CAP_CAP 1 -#define CAP_IC 2 -#define CAP_WIDTH 3 -#define CAP_LENGTH 4 -#define CAP_CAP_SENS 5 -#define CAP_CURRENT 6 -#define CAP_POWER 7 -#define CAP_TEMP 8 -#define CAP_DTEMP 9 -#define CAP_SCALE 10 -#define CAP_M 11 -#define CAP_TC1 12 -#define CAP_TC2 13 -#define CAP_BV_MAX 14 +enum { + CAP_CAP = 1, + CAP_IC, + CAP_WIDTH, + CAP_LENGTH, + CAP_CAP_SENS, + CAP_CURRENT, + CAP_POWER, + CAP_TEMP, + CAP_DTEMP, + CAP_SCALE, + CAP_M, + CAP_TC1, + CAP_TC2, + CAP_BV_MAX, +}; /* model parameters */ -#define CAP_MOD_CJ 101 -#define CAP_MOD_CJSW 102 -#define CAP_MOD_DEFWIDTH 103 -#define CAP_MOD_C 104 -#define CAP_MOD_NARROW 105 -#define CAP_MOD_SHORT 106 -#define CAP_MOD_DEL 107 -#define CAP_MOD_TC1 108 -#define CAP_MOD_TC2 109 -#define CAP_MOD_TNOM 110 -#define CAP_MOD_DI 111 -#define CAP_MOD_THICK 112 -#define CAP_MOD_CAP 113 -#define CAP_MOD_DEFLENGTH 114 -#define CAP_MOD_BV_MAX 115 +enum { + CAP_MOD_CJ = 101, + CAP_MOD_CJSW, + CAP_MOD_DEFWIDTH, + CAP_MOD_C, + CAP_MOD_NARROW, + CAP_MOD_SHORT, + CAP_MOD_DEL, + CAP_MOD_TC1, + CAP_MOD_TC2, + CAP_MOD_TNOM, + CAP_MOD_DI, + CAP_MOD_THICK, + CAP_MOD_CAP, + CAP_MOD_DEFLENGTH, + CAP_MOD_BV_MAX, +}; /* device questions */ -#define CAP_QUEST_SENS_REAL 201 -#define CAP_QUEST_SENS_IMAG 202 -#define CAP_QUEST_SENS_MAG 203 -#define CAP_QUEST_SENS_PH 204 -#define CAP_QUEST_SENS_CPLX 205 -#define CAP_QUEST_SENS_DC 206 +enum { + CAP_QUEST_SENS_REAL = 201, + CAP_QUEST_SENS_IMAG, + CAP_QUEST_SENS_MAG, + CAP_QUEST_SENS_PH, + CAP_QUEST_SENS_CPLX, + CAP_QUEST_SENS_DC, +}; #include "capext.h" diff --git a/src/spicelib/devices/cccs/cccsdefs.h b/src/spicelib/devices/cccs/cccsdefs.h index c64e9cba0..d6c161495 100644 --- a/src/spicelib/devices/cccs/cccsdefs.h +++ b/src/spicelib/devices/cccs/cccsdefs.h @@ -60,26 +60,30 @@ typedef struct sCCCSmodel { /* model structure for a source */ } CCCSmodel; /* device parameters */ -#define CCCS_GAIN 1 -#define CCCS_CONTROL 2 -#define CCCS_POS_NODE 3 -#define CCCS_NEG_NODE 4 -#define CCCS_CONT_BR 5 -#define CCCS_GAIN_SENS 6 -#define CCCS_CURRENT 7 -#define CCCS_POWER 8 -#define CCCS_VOLTS 9 -#define CCCS_M 10 +enum { + CCCS_GAIN = 1, + CCCS_CONTROL, + CCCS_POS_NODE, + CCCS_NEG_NODE, + CCCS_CONT_BR, + CCCS_GAIN_SENS, + CCCS_CURRENT, + CCCS_POWER, + CCCS_VOLTS, + CCCS_M, +}; /* model parameters */ /* device questions */ -#define CCCS_QUEST_SENS_REAL 201 -#define CCCS_QUEST_SENS_IMAG 202 -#define CCCS_QUEST_SENS_MAG 203 -#define CCCS_QUEST_SENS_PH 204 -#define CCCS_QUEST_SENS_CPLX 205 -#define CCCS_QUEST_SENS_DC 206 +enum { + CCCS_QUEST_SENS_REAL = 201, + CCCS_QUEST_SENS_IMAG, + CCCS_QUEST_SENS_MAG, + CCCS_QUEST_SENS_PH, + CCCS_QUEST_SENS_CPLX, + CCCS_QUEST_SENS_DC, +}; /* model questions */ diff --git a/src/spicelib/devices/ccvs/ccvsdefs.h b/src/spicelib/devices/ccvs/ccvsdefs.h index 09c42fd3c..64276d340 100644 --- a/src/spicelib/devices/ccvs/ccvsdefs.h +++ b/src/spicelib/devices/ccvs/ccvsdefs.h @@ -64,26 +64,30 @@ typedef struct sCCVSmodel { /* model structure for a CCVsource */ } CCVSmodel; /* device parameters */ -#define CCVS_TRANS 1 -#define CCVS_CONTROL 2 -#define CCVS_POS_NODE 3 -#define CCVS_NEG_NODE 4 -#define CCVS_BR 5 -#define CCVS_CONT_BR 6 -#define CCVS_TRANS_SENS 7 -#define CCVS_CURRENT 8 -#define CCVS_POWER 9 -#define CCVS_VOLTS 10 +enum { + CCVS_TRANS = 1, + CCVS_CONTROL, + CCVS_POS_NODE, + CCVS_NEG_NODE, + CCVS_BR, + CCVS_CONT_BR, + CCVS_TRANS_SENS, + CCVS_CURRENT, + CCVS_POWER, + CCVS_VOLTS, +}; /* model parameters */ /* device questions */ -#define CCVS_QUEST_SENS_REAL 201 -#define CCVS_QUEST_SENS_IMAG 202 -#define CCVS_QUEST_SENS_MAG 203 -#define CCVS_QUEST_SENS_PH 204 -#define CCVS_QUEST_SENS_CPLX 205 -#define CCVS_QUEST_SENS_DC 206 +enum { + CCVS_QUEST_SENS_REAL = 201, + CCVS_QUEST_SENS_IMAG, + CCVS_QUEST_SENS_MAG, + CCVS_QUEST_SENS_PH, + CCVS_QUEST_SENS_CPLX, + CCVS_QUEST_SENS_DC, +}; /* model questions */ diff --git a/src/spicelib/devices/cpl/cpldefs.h b/src/spicelib/devices/cpl/cpldefs.h index 10ec38923..fb981a926 100644 --- a/src/spicelib/devices/cpl/cpldefs.h +++ b/src/spicelib/devices/cpl/cpldefs.h @@ -90,18 +90,22 @@ typedef struct sCPLmodel { /* model structure for a cpl */ } CPLmodel; /* instance parameters */ -#define CPL_POS_NODE 1 -#define CPL_NEG_NODE 2 -#define CPL_DIM 3 -#define CPL_LENGTH 4 +enum { + CPL_POS_NODE = 1, + CPL_NEG_NODE, + CPL_DIM, + CPL_LENGTH, +}; /* model parameters */ -#define CPL_R 101 -#define CPL_C 102 -#define CPL_G 103 -#define CPL_L 104 -#define CPL_length 105 -#define CPL_MOD_R 106 +enum { + CPL_R = 101, + CPL_C, + CPL_G, + CPL_L, + CPL_length, + CPL_MOD_R, +}; #include "cplext.h" extern VI_list *pool_vi; diff --git a/src/spicelib/devices/csw/cswdefs.h b/src/spicelib/devices/csw/cswdefs.h index 0b1a214c8..30fc08568 100644 --- a/src/spicelib/devices/csw/cswdefs.h +++ b/src/spicelib/devices/csw/cswdefs.h @@ -85,22 +85,26 @@ typedef struct sCSWmodel { /* model structure for a switch */ } CSWmodel; /* device parameters */ -#define CSW_CONTROL 1 -#define CSW_IC_ON 2 -#define CSW_IC_OFF 3 -#define CSW_POS_NODE 4 -#define CSW_NEG_NODE 5 -#define CSW_CURRENT 6 -#define CSW_POWER 7 +enum { + CSW_CONTROL = 1, + CSW_IC_ON, + CSW_IC_OFF, + CSW_POS_NODE, + CSW_NEG_NODE, + CSW_CURRENT, + CSW_POWER, +}; /* model parameters */ -#define CSW_CSW 101 -#define CSW_RON 102 -#define CSW_ROFF 103 -#define CSW_ITH 104 -#define CSW_IHYS 105 -#define CSW_GON 106 -#define CSW_GOFF 107 +enum { + CSW_CSW = 101, + CSW_RON, + CSW_ROFF, + CSW_ITH, + CSW_IHYS, + CSW_GON, + CSW_GOFF, +}; /* device questions */ diff --git a/src/spicelib/devices/dio/diodefs.h b/src/spicelib/devices/dio/diodefs.h index 060b926cb..fbc936b7b 100644 --- a/src/spicelib/devices/dio/diodefs.h +++ b/src/spicelib/devices/dio/diodefs.h @@ -16,12 +16,14 @@ Modified by Paolo Nenzi 2003 and Dietmar Warning 2012 /* indices to array of diode noise sources */ -#define DIORSNOIZ 0 -#define DIOIDNOIZ 1 -#define DIOFLNOIZ 2 -#define DIOTOTNOIZ 3 - -#define DIONSRCS 4 +enum { + DIORSNOIZ = 0, + DIOIDNOIZ, + DIOFLNOIZ, + DIOTOTNOIZ, + /* finally, the number of noise sources */ + DIONSRCS +}; /* information needed per instance */ @@ -286,80 +288,84 @@ typedef struct sDIOmodel { /* model structure for a diode */ } DIOmodel; /* device parameters */ -#define DIO_AREA 1 -#define DIO_IC 2 -#define DIO_OFF 3 -#define DIO_CURRENT 4 -#define DIO_VOLTAGE 5 -#define DIO_CHARGE 6 -#define DIO_CAPCUR 7 -#define DIO_CONDUCT 8 -#define DIO_AREA_SENS 9 -#define DIO_POWER 10 -#define DIO_TEMP 11 -#define DIO_QUEST_SENS_REAL 12 -#define DIO_QUEST_SENS_IMAG 13 -#define DIO_QUEST_SENS_MAG 14 -#define DIO_QUEST_SENS_PH 15 -#define DIO_QUEST_SENS_CPLX 16 -#define DIO_QUEST_SENS_DC 17 -#define DIO_CAP 18 -#define DIO_PJ 19 -#define DIO_W 20 -#define DIO_L 21 -#define DIO_M 22 -#define DIO_DTEMP 23 +enum { + DIO_AREA = 1, + DIO_IC, + DIO_OFF, + DIO_CURRENT, + DIO_VOLTAGE, + DIO_CHARGE, + DIO_CAPCUR, + DIO_CONDUCT, + DIO_AREA_SENS, + DIO_POWER, + DIO_TEMP, + DIO_QUEST_SENS_REAL, + DIO_QUEST_SENS_IMAG, + DIO_QUEST_SENS_MAG, + DIO_QUEST_SENS_PH, + DIO_QUEST_SENS_CPLX, + DIO_QUEST_SENS_DC, + DIO_CAP, + DIO_PJ, + DIO_W, + DIO_L, + DIO_M, + DIO_DTEMP, +}; /* model parameters */ -#define DIO_MOD_LEVEL 100 -#define DIO_MOD_IS 101 -#define DIO_MOD_RS 102 -#define DIO_MOD_N 103 -#define DIO_MOD_TT 104 -#define DIO_MOD_CJO 105 -#define DIO_MOD_VJ 106 -#define DIO_MOD_M 107 -#define DIO_MOD_EG 108 -#define DIO_MOD_XTI 109 -#define DIO_MOD_FC 110 -#define DIO_MOD_BV 111 -#define DIO_MOD_IBV 112 -#define DIO_MOD_D 113 -#define DIO_MOD_COND 114 -#define DIO_MOD_TNOM 115 -#define DIO_MOD_KF 116 -#define DIO_MOD_AF 117 -#define DIO_MOD_JSW 118 -#define DIO_MOD_CJSW 119 -#define DIO_MOD_VJSW 120 -#define DIO_MOD_MJSW 121 -#define DIO_MOD_IKF 122 -#define DIO_MOD_IKR 123 -#define DIO_MOD_FCS 124 -#define DIO_MOD_TTT1 125 -#define DIO_MOD_TTT2 126 -#define DIO_MOD_TM1 127 -#define DIO_MOD_TM2 128 -#define DIO_MOD_TRS 129 -#define DIO_MOD_TRS2 130 -#define DIO_MOD_TLEV 131 -#define DIO_MOD_TLEVC 132 -#define DIO_MOD_CTA 133 -#define DIO_MOD_CTP 134 -#define DIO_MOD_TPB 135 -#define DIO_MOD_TPHP 136 -#define DIO_MOD_TCV 137 -#define DIO_MOD_NBV 138 -#define DIO_MOD_AREA 139 -#define DIO_MOD_PJ 140 -#define DIO_MOD_NS 141 -#define DIO_MOD_JTUN 142 -#define DIO_MOD_JTUNSW 143 -#define DIO_MOD_NTUN 144 -#define DIO_MOD_XTITUN 145 -#define DIO_MOD_KEG 146 -#define DIO_MOD_FV_MAX 147 -#define DIO_MOD_BV_MAX 148 +enum { + DIO_MOD_LEVEL = 100, + DIO_MOD_IS, + DIO_MOD_RS, + DIO_MOD_N, + DIO_MOD_TT, + DIO_MOD_CJO, + DIO_MOD_VJ, + DIO_MOD_M, + DIO_MOD_EG, + DIO_MOD_XTI, + DIO_MOD_FC, + DIO_MOD_BV, + DIO_MOD_IBV, + DIO_MOD_D, + DIO_MOD_COND, + DIO_MOD_TNOM, + DIO_MOD_KF, + DIO_MOD_AF, + DIO_MOD_JSW, + DIO_MOD_CJSW, + DIO_MOD_VJSW, + DIO_MOD_MJSW, + DIO_MOD_IKF, + DIO_MOD_IKR, + DIO_MOD_FCS, + DIO_MOD_TTT1, + DIO_MOD_TTT2, + DIO_MOD_TM1, + DIO_MOD_TM2, + DIO_MOD_TRS, + DIO_MOD_TRS2, + DIO_MOD_TLEV, + DIO_MOD_TLEVC, + DIO_MOD_CTA, + DIO_MOD_CTP, + DIO_MOD_TPB, + DIO_MOD_TPHP, + DIO_MOD_TCV, + DIO_MOD_NBV, + DIO_MOD_AREA, + DIO_MOD_PJ, + DIO_MOD_NS, + DIO_MOD_JTUN, + DIO_MOD_JTUNSW, + DIO_MOD_NTUN, + DIO_MOD_XTITUN, + DIO_MOD_KEG, + DIO_MOD_FV_MAX, + DIO_MOD_BV_MAX, +}; #include "dioext.h" #endif /*DIO*/ diff --git a/src/spicelib/devices/hfet1/hfetdefs.h b/src/spicelib/devices/hfet1/hfetdefs.h index 64f03f099..5e40379be 100644 --- a/src/spicelib/devices/hfet1/hfetdefs.h +++ b/src/spicelib/devices/hfet1/hfetdefs.h @@ -286,116 +286,125 @@ typedef struct sHFETAmodel { #endif /* device parameters */ -#define HFETA_LENGTH 1 -#define HFETA_WIDTH 2 -#define HFETA_IC_VDS 3 -#define HFETA_IC_VGS 4 -#define HFETA_TEMP 5 -#define HFETA_IC 6 -#define HFETA_OFF 7 -#define HFETA_CS 8 -#define HFETA_POWER 9 -#define HFETA_DTEMP 10 -#define HFETA_M 11 +enum { + HFETA_LENGTH = 1, + HFETA_WIDTH, + HFETA_IC_VDS, + HFETA_IC_VGS, + HFETA_TEMP, + HFETA_IC, + HFETA_OFF, + HFETA_CS, + HFETA_POWER, + HFETA_DTEMP, + HFETA_M, +}; /* model parameters */ -#define HFETA_MOD_VTO 101 -#define HFETA_MOD_LAMBDA 102 -#define HFETA_MOD_RD 103 -#define HFETA_MOD_RS 104 -#define HFETA_MOD_RG 105 -#define HFETA_MOD_RGS 106 -#define HFETA_MOD_RGD 107 -#define HFETA_MOD_RI 108 -#define HFETA_MOD_RF 109 -#define HFETA_MOD_ETA 110 -#define HFETA_MOD_M 111 -#define HFETA_MOD_MC 112 -#define HFETA_MOD_GAMMA 113 -#define HFETA_MOD_SIGMA0 114 -#define HFETA_MOD_VSIGMAT 115 -#define HFETA_MOD_VSIGMA 116 -#define HFETA_MOD_MU 117 -#define HFETA_MOD_DI 118 -#define HFETA_MOD_DELTA 119 -#define HFETA_MOD_VS 120 -#define HFETA_MOD_NMAX 121 -#define HFETA_MOD_DELTAD 122 -#define HFETA_MOD_JS1D 123 -#define HFETA_MOD_JS2D 124 -#define HFETA_MOD_JS1S 125 -#define HFETA_MOD_JS2S 126 -#define HFETA_MOD_M1D 127 -#define HFETA_MOD_M2D 128 -#define HFETA_MOD_M1S 129 -#define HFETA_MOD_M2S 130 -#define HFETA_MOD_EPSI 132 -#define HFETA_MOD_RDI 133 -#define HFETA_MOD_RSI 134 -#define HFETA_MOD_A1 135 -#define HFETA_MOD_A2 136 -#define HFETA_MOD_MV1 137 -#define HFETA_MOD_P 138 -#define HFETA_MOD_KAPPA 139 -#define HFETA_MOD_DELF 140 -#define HFETA_MOD_FGDS 141 -#define HFETA_MOD_TF 142 -#define HFETA_MOD_CDS 143 -#define HFETA_MOD_PHIB 144 -#define HFETA_MOD_TALPHA 145 -#define HFETA_MOD_MT1 146 -#define HFETA_MOD_MT2 147 -#define HFETA_MOD_CK1 148 -#define HFETA_MOD_CK2 149 -#define HFETA_MOD_CM1 150 -#define HFETA_MOD_CM2 151 -#define HFETA_MOD_CM3 152 -#define HFETA_MOD_ASTAR 153 -#define HFETA_MOD_ETA1 154 -#define HFETA_MOD_D1 155 -#define HFETA_MOD_VT1 156 -#define HFETA_MOD_ETA2 157 -#define HFETA_MOD_D2 158 -#define HFETA_MOD_VT2 159 -#define HFETA_MOD_GGR 160 -#define HFETA_MOD_DEL 161 -#define HFETA_MOD_GATEMOD 162 -#define HFETA_MOD_KLAMBDA 163 -#define HFETA_MOD_KMU 164 -#define HFETA_MOD_KVTO 165 -#define HFETA_MOD_NHFET 166 -#define HFETA_MOD_PHFET 167 -#define HFETA_MOD_TYPE 168 +enum { + HFETA_MOD_VTO = 101, + HFETA_MOD_LAMBDA, + HFETA_MOD_RD, + HFETA_MOD_RS, + HFETA_MOD_RG, + HFETA_MOD_RGS, + HFETA_MOD_RGD, + HFETA_MOD_RI, + HFETA_MOD_RF, + HFETA_MOD_ETA, + HFETA_MOD_M, + HFETA_MOD_MC, + HFETA_MOD_GAMMA, + HFETA_MOD_SIGMA0, + HFETA_MOD_VSIGMAT, + HFETA_MOD_VSIGMA, + HFETA_MOD_MU, + HFETA_MOD_DI, + HFETA_MOD_DELTA, + HFETA_MOD_VS, + HFETA_MOD_NMAX, + HFETA_MOD_DELTAD, + HFETA_MOD_JS1D, + HFETA_MOD_JS2D, + HFETA_MOD_JS1S, + HFETA_MOD_JS2S, + HFETA_MOD_M1D, + HFETA_MOD_M2D, + HFETA_MOD_M1S, + HFETA_MOD_M2S, +}; + +enum { + HFETA_MOD_EPSI = 132, + HFETA_MOD_RDI, + HFETA_MOD_RSI, + HFETA_MOD_A1, + HFETA_MOD_A2, + HFETA_MOD_MV1, + HFETA_MOD_P, + HFETA_MOD_KAPPA, + HFETA_MOD_DELF, + HFETA_MOD_FGDS, + HFETA_MOD_TF, + HFETA_MOD_CDS, + HFETA_MOD_PHIB, + HFETA_MOD_TALPHA, + HFETA_MOD_MT1, + HFETA_MOD_MT2, + HFETA_MOD_CK1, + HFETA_MOD_CK2, + HFETA_MOD_CM1, + HFETA_MOD_CM2, + HFETA_MOD_CM3, + HFETA_MOD_ASTAR, + HFETA_MOD_ETA1, + HFETA_MOD_D1, + HFETA_MOD_VT1, + HFETA_MOD_ETA2, + HFETA_MOD_D2, + HFETA_MOD_VT2, + HFETA_MOD_GGR, + HFETA_MOD_DEL, + HFETA_MOD_GATEMOD, + HFETA_MOD_KLAMBDA, + HFETA_MOD_KMU, + HFETA_MOD_KVTO, + HFETA_MOD_NHFET, + HFETA_MOD_PHFET, + HFETA_MOD_TYPE, +}; /* device questions */ -#define HFETA_DRAINNODE 201 -#define HFETA_GATENODE 202 -#define HFETA_SOURCENODE 203 -#define HFETA_DRAINPRIMENODE 204 -#define HFETA_SOURCEPRIMENODE 205 - -#define HFETA_VGS 206 -#define HFETA_VGD 207 -#define HFETA_CG 208 -#define HFETA_CD 209 -#define HFETA_CGD 210 -#define HFETA_GM 211 -#define HFETA_GDS 212 -#define HFETA_GGS 213 -#define HFETA_GGD 214 -#define HFETA_QGS 215 -#define HFETA_CQGS 216 -#define HFETA_QGD 217 -#define HFETA_CQGD 218 +enum { + HFETA_DRAINNODE = 201, + HFETA_GATENODE, + HFETA_SOURCENODE, + HFETA_DRAINPRIMENODE, + HFETA_SOURCEPRIMENODE, + HFETA_VGS, + HFETA_VGD, + HFETA_CG, + HFETA_CD, + HFETA_CGD, + HFETA_GM, + HFETA_GDS, + HFETA_GGS, + HFETA_GGD, + HFETA_QGS, + HFETA_CQGS, + HFETA_QGD, + HFETA_CQGD, +}; /* model questions */ -#define HFETA_MOD_DRAINCONDUCT 301 -#define HFETA_MOD_SOURCECONDUCT 302 -#define HFETA_MOD_DEPLETIONCAP 303 -#define HFETA_MOD_VCRIT 304 - +enum { + HFETA_MOD_DRAINCONDUCT = 301, + HFETA_MOD_SOURCECONDUCT, + HFETA_MOD_DEPLETIONCAP, + HFETA_MOD_VCRIT, +}; #define L (here->HFETAlength) #define W (here->HFETAwidth) diff --git a/src/spicelib/devices/hfet2/hfet2defs.h b/src/spicelib/devices/hfet2/hfet2defs.h index 7710d210b..9afff3d0f 100644 --- a/src/spicelib/devices/hfet2/hfet2defs.h +++ b/src/spicelib/devices/hfet2/hfet2defs.h @@ -188,87 +188,94 @@ typedef struct sHFET2model { #endif /*NMF*/ /* device parameters */ -#define HFET2_LENGTH 1 -#define HFET2_WIDTH 2 -#define HFET2_IC_VDS 3 -#define HFET2_IC_VGS 4 -#define HFET2_IC 5 -#define HFET2_OFF 6 -#define HFET2_CS 7 -#define HFET2_POWER 8 -#define HFET2_TEMP 9 -#define HFET2_DTEMP 10 -#define HFET2_M 11 +enum { + HFET2_LENGTH = 1, + HFET2_WIDTH, + HFET2_IC_VDS, + HFET2_IC_VGS, + HFET2_IC, + HFET2_OFF, + HFET2_CS, + HFET2_POWER, + HFET2_TEMP, + HFET2_DTEMP, + HFET2_M, +}; /* model parameters */ -#define HFET2_MOD_NHFET 101 -#define HFET2_MOD_PHFET 102 -#define HFET2_MOD_CF 103 -#define HFET2_MOD_D1 104 -#define HFET2_MOD_D2 105 -#define HFET2_MOD_DEL 106 -#define HFET2_MOD_DELTA 107 -#define HFET2_MOD_DELTAD 108 -#define HFET2_MOD_DI 109 -#define HFET2_MOD_EPSI 110 -#define HFET2_MOD_ETA 111 -#define HFET2_MOD_ETA1 112 -#define HFET2_MOD_ETA2 113 -#define HFET2_MOD_GAMMA 114 -#define HFET2_MOD_GGR 115 -#define HFET2_MOD_JS 116 -#define HFET2_MOD_KLAMBDA 117 -#define HFET2_MOD_KMU 118 -#define HFET2_MOD_KNMAX 119 -#define HFET2_MOD_KVTO 120 -#define HFET2_MOD_LAMBDA 121 -#define HFET2_MOD_M 122 -#define HFET2_MOD_MC 123 -#define HFET2_MOD_MU 124 -#define HFET2_MOD_N 125 -#define HFET2_MOD_NMAX 126 -#define HFET2_MOD_P 127 -#define HFET2_MOD_RD 128 -#define HFET2_MOD_RDI 129 -#define HFET2_MOD_RS 130 -#define HFET2_MOD_RSI 131 -#define HFET2_MOD_SIGMA0 132 -#define HFET2_MOD_VS 133 -#define HFET2_MOD_VSIGMA 134 -#define HFET2_MOD_VSIGMAT 135 -#define HFET2_MOD_VT1 136 -#define HFET2_MOD_VT2 137 -#define HFET2_MOD_VTO 138 -#define HFET2_MOD_TYPE 139 +enum { + HFET2_MOD_NHFET = 101, + HFET2_MOD_PHFET, + HFET2_MOD_CF, + HFET2_MOD_D1, + HFET2_MOD_D2, + HFET2_MOD_DEL, + HFET2_MOD_DELTA, + HFET2_MOD_DELTAD, + HFET2_MOD_DI, + HFET2_MOD_EPSI, + HFET2_MOD_ETA, + HFET2_MOD_ETA1, + HFET2_MOD_ETA2, + HFET2_MOD_GAMMA, + HFET2_MOD_GGR, + HFET2_MOD_JS, + HFET2_MOD_KLAMBDA, + HFET2_MOD_KMU, + HFET2_MOD_KNMAX, + HFET2_MOD_KVTO, + HFET2_MOD_LAMBDA, + HFET2_MOD_M, + HFET2_MOD_MC, + HFET2_MOD_MU, + HFET2_MOD_N, + HFET2_MOD_NMAX, + HFET2_MOD_P, + HFET2_MOD_RD, + HFET2_MOD_RDI, + HFET2_MOD_RS, + HFET2_MOD_RSI, + HFET2_MOD_SIGMA0, + HFET2_MOD_VS, + HFET2_MOD_VSIGMA, + HFET2_MOD_VSIGMAT, + HFET2_MOD_VT1, + HFET2_MOD_VT2, + HFET2_MOD_VTO, + HFET2_MOD_TYPE, +}; /* device questions */ -#define HFET2_DRAINNODE 201 -#define HFET2_GATENODE 202 -#define HFET2_SOURCENODE 203 -#define HFET2_DRAINPRIMENODE 204 -#define HFET2_SOURCEPRIMENODE 205 - -#define HFET2_VGS 206 -#define HFET2_VGD 207 -#define HFET2_CG 208 -#define HFET2_CD 209 -#define HFET2_CGD 210 -#define HFET2_GM 211 -#define HFET2_GDS 212 -#define HFET2_GGS 213 -#define HFET2_GGD 214 -#define HFET2_QGS 215 -#define HFET2_CQGS 216 -#define HFET2_QGD 217 -#define HFET2_CQGD 218 +enum { + HFET2_DRAINNODE = 201, + HFET2_GATENODE, + HFET2_SOURCENODE, + HFET2_DRAINPRIMENODE, + HFET2_SOURCEPRIMENODE, + HFET2_VGS, + HFET2_VGD, + HFET2_CG, + HFET2_CD, + HFET2_CGD, + HFET2_GM, + HFET2_GDS, + HFET2_GGS, + HFET2_GGD, + HFET2_QGS, + HFET2_CQGS, + HFET2_QGD, + HFET2_CQGD, +}; /* model questions */ -#define HFET2_MOD_DRAINCONDUCT 301 -#define HFET2_MOD_SOURCECONDUCT 302 -#define HFET2_MOD_DEPLETIONCAP 303 -#define HFET2_MOD_VCRIT 304 +enum { + HFET2_MOD_DRAINCONDUCT = 301, + HFET2_MOD_SOURCECONDUCT, + HFET2_MOD_DEPLETIONCAP, + HFET2_MOD_VCRIT, +}; #define CF (model->HFET2cf) #define D1 (model->HFET2d1) diff --git a/src/spicelib/devices/ind/inddefs.h b/src/spicelib/devices/ind/inddefs.h index 1a0d9949b..5f55f995a 100644 --- a/src/spicelib/devices/ind/inddefs.h +++ b/src/spicelib/devices/ind/inddefs.h @@ -172,56 +172,65 @@ struct INDsystem { /* device parameters */ -#define IND_IND 1 -#define IND_IC 2 -#define IND_FLUX 3 -#define IND_VOLT 4 -#define IND_IND_SENS 5 -#define IND_CURRENT 6 -#define IND_POWER 7 -#define IND_M 8 -#define IND_TEMP 9 -#define IND_DTEMP 10 -#define IND_SCALE 11 -#define IND_NT 12 -#define IND_TC1 13 -#define IND_TC2 14 +enum { + IND_IND = 1, + IND_IC, + IND_FLUX, + IND_VOLT, + IND_IND_SENS, + IND_CURRENT, + IND_POWER, + IND_M, + IND_TEMP, + IND_DTEMP, + IND_SCALE, + IND_NT, + IND_TC1, + IND_TC2, +}; /* model parameters */ -#define IND_MOD_IND 100 -#define IND_MOD_TC1 101 -#define IND_MOD_TC2 102 -#define IND_MOD_TNOM 103 -#define IND_MOD_CSECT 104 -#define IND_MOD_LENGTH 105 -#define IND_MOD_NT 106 -#define IND_MOD_MU 107 -#define IND_MOD_L 108 +enum { + IND_MOD_IND = 100, + IND_MOD_TC1, + IND_MOD_TC2, + IND_MOD_TNOM, + IND_MOD_CSECT, + IND_MOD_LENGTH, + IND_MOD_NT, + IND_MOD_MU, + IND_MOD_L, +}; /* device questions */ -#define IND_QUEST_SENS_REAL 201 -#define IND_QUEST_SENS_IMAG 202 -#define IND_QUEST_SENS_MAG 203 -#define IND_QUEST_SENS_PH 204 -#define IND_QUEST_SENS_CPLX 205 -#define IND_QUEST_SENS_DC 206 +enum { + IND_QUEST_SENS_REAL = 201, + IND_QUEST_SENS_IMAG, + IND_QUEST_SENS_MAG, + IND_QUEST_SENS_PH, + IND_QUEST_SENS_CPLX, + IND_QUEST_SENS_DC, +}; /* device parameters */ -#define MUT_COEFF 401 -#define MUT_IND1 402 -#define MUT_IND2 403 -#define MUT_COEFF_SENS 404 +enum { + MUT_COEFF = 401, + MUT_IND1, + MUT_IND2, + MUT_COEFF_SENS, +}; /* model parameters */ /* device questions */ -#define MUT_QUEST_SENS_REAL 601 -#define MUT_QUEST_SENS_IMAG 602 -#define MUT_QUEST_SENS_MAG 603 -#define MUT_QUEST_SENS_PH 604 -#define MUT_QUEST_SENS_CPLX 605 -#define MUT_QUEST_SENS_DC 606 - +enum { + MUT_QUEST_SENS_REAL = 601, + MUT_QUEST_SENS_IMAG, + MUT_QUEST_SENS_MAG, + MUT_QUEST_SENS_PH, + MUT_QUEST_SENS_CPLX, + MUT_QUEST_SENS_DC, +}; #include "indext.h" diff --git a/src/spicelib/devices/isrc/isrcdefs.h b/src/spicelib/devices/isrc/isrcdefs.h index 14e373ea8..7564dfeda 100644 --- a/src/spicelib/devices/isrc/isrcdefs.h +++ b/src/spicelib/devices/isrc/isrcdefs.h @@ -89,50 +89,54 @@ typedef struct sISRCmodel { #ifndef PULSE_FUN_TYPES #define PULSE_FUN_TYPES -#define PULSE 1 -#define SINE 2 -#define EXP 3 -#define SFFM 4 -#define PWL 5 -#define AM 6 -#define TRNOISE 7 -#define TRRANDOM 8 -#define EXTERNAL 9 +enum { + PULSE = 1, + SINE, + EXP, + SFFM, + PWL, + AM, + TRNOISE, + TRRANDOM, + EXTERNAL, +}; + #endif /* device parameters */ -#define ISRC_DC 1 -#define ISRC_M 2 -#define ISRC_AC_MAG 3 -#define ISRC_AC_PHASE 4 -#define ISRC_AC 5 -#define ISRC_PULSE 6 -#define ISRC_SINE 7 -#define ISRC_EXP 8 -#define ISRC_PWL 9 -#define ISRC_SFFM 10 -#define ISRC_NEG_NODE 11 -#define ISRC_POS_NODE 12 -#define ISRC_AC_REAL 13 -#define ISRC_AC_IMAG 14 -#define ISRC_FCN_TYPE 15 -#define ISRC_FCN_ORDER 16 -#define ISRC_FCN_COEFFS 17 -#define ISRC_POWER 18 -#define ISRC_D_F1 19 -#define ISRC_D_F2 20 -#define ISRC_VOLTS 21 - -#define ISRC_AM 22 -/* gtri - begin - add define for current source value */ +enum { + ISRC_DC = 1, + ISRC_M, + ISRC_AC_MAG, + ISRC_AC_PHASE, + ISRC_AC, + ISRC_PULSE, + ISRC_SINE, + ISRC_EXP, + ISRC_PWL, + ISRC_SFFM, + ISRC_NEG_NODE, + ISRC_POS_NODE, + ISRC_AC_REAL, + ISRC_AC_IMAG, + ISRC_FCN_TYPE, + ISRC_FCN_ORDER, + ISRC_FCN_COEFFS, + ISRC_POWER, + ISRC_D_F1, + ISRC_D_F2, + ISRC_VOLTS, + ISRC_AM, #ifdef XSPICE -/* needed for outputting results */ -#define ISRC_CURRENT 23 + ISRC_CURRENT, #endif -/* gtri - end - add define for current source value */ -#define ISRC_TRNOISE 25 -#define ISRC_TRRANDOM 26 -#define ISRC_EXTERNAL 27 +}; + +enum { + ISRC_TRNOISE = 25, + ISRC_TRRANDOM, + ISRC_EXTERNAL, +}; /* model parameters */ diff --git a/src/spicelib/devices/jfet/jfetdefs.h b/src/spicelib/devices/jfet/jfetdefs.h index 31c077730..afa47b6b5 100644 --- a/src/spicelib/devices/jfet/jfetdefs.h +++ b/src/spicelib/devices/jfet/jfetdefs.h @@ -19,13 +19,15 @@ Sydney University mods Copyright(c) 1989 Anthony E. Parker, David J. Skellern /* indices to an array of JFET noise sources */ -#define JFETRDNOIZ 0 -#define JFETRSNOIZ 1 -#define JFETIDNOIZ 2 -#define JFETFLNOIZ 3 -#define JFETTOTNOIZ 4 - -#define JFETNSRCS 5 +enum { + JFETRDNOIZ = 0, + JFETRSNOIZ, + JFETIDNOIZ, + JFETFLNOIZ, + JFETTOTNOIZ, + /* finally, the number of noise sources */ + JFETNSRCS +}; /* information used to describe a single instance */ @@ -240,67 +242,73 @@ typedef struct sJFETmodel { /* model structure for a jfet */ #endif /*NJF*/ /* device parameters */ -#define JFET_AREA 1 -#define JFET_IC_VDS 2 -#define JFET_IC_VGS 3 -#define JFET_IC 4 -#define JFET_OFF 5 -#define JFET_TEMP 6 -#define JFET_DTEMP 7 -#define JFET_M 8 +enum { + JFET_AREA = 1, + JFET_IC_VDS, + JFET_IC_VGS, + JFET_IC, + JFET_OFF, + JFET_TEMP, + JFET_DTEMP, + JFET_M, +}; /* model parameters */ -#define JFET_MOD_VTO 101 -#define JFET_MOD_BETA 102 -#define JFET_MOD_LAMBDA 103 -#define JFET_MOD_RD 104 -#define JFET_MOD_RS 105 -#define JFET_MOD_CGS 106 -#define JFET_MOD_CGD 107 -#define JFET_MOD_PB 108 -#define JFET_MOD_IS 109 -#define JFET_MOD_FC 110 -#define JFET_MOD_NJF 111 -#define JFET_MOD_PJF 112 -#define JFET_MOD_TNOM 113 -#define JFET_MOD_KF 114 -#define JFET_MOD_AF 115 -/* Modification for Sydney University JFET model */ -#define JFET_MOD_B 116 -/* end Sydney University mod */ -#define JFET_MOD_TCV 117 -#define JFET_MOD_BEX 118 -#define JFET_MOD_NLEV 119 -#define JFET_MOD_GDSNOI 120 +enum { + JFET_MOD_VTO = 101, + JFET_MOD_BETA, + JFET_MOD_LAMBDA, + JFET_MOD_RD, + JFET_MOD_RS, + JFET_MOD_CGS, + JFET_MOD_CGD, + JFET_MOD_PB, + JFET_MOD_IS, + JFET_MOD_FC, + JFET_MOD_NJF, + JFET_MOD_PJF, + JFET_MOD_TNOM, + JFET_MOD_KF, + JFET_MOD_AF, + JFET_MOD_B, /* Modification for Sydney University JFET model */ + JFET_MOD_TCV, + JFET_MOD_BEX, + JFET_MOD_NLEV, + JFET_MOD_GDSNOI, +}; /* device questions */ -#define JFET_DRAINNODE 301 -#define JFET_GATENODE 302 -#define JFET_SOURCENODE 303 -#define JFET_DRAINPRIMENODE 304 -#define JFET_SOURCEPRIMENODE 305 -#define JFET_VGS 306 -#define JFET_VGD 307 -#define JFET_CG 308 -#define JFET_CD 309 -#define JFET_CGD 310 -#define JFET_GM 311 -#define JFET_GDS 312 -#define JFET_GGS 313 -#define JFET_GGD 314 -#define JFET_QGS 315 -#define JFET_CQGS 316 -#define JFET_QGD 317 -#define JFET_CQGD 318 -#define JFET_CS 319 -#define JFET_POWER 320 +enum { + JFET_DRAINNODE = 301, + JFET_GATENODE, + JFET_SOURCENODE, + JFET_DRAINPRIMENODE, + JFET_SOURCEPRIMENODE, + JFET_VGS, + JFET_VGD, + JFET_CG, + JFET_CD, + JFET_CGD, + JFET_GM, + JFET_GDS, + JFET_GGS, + JFET_GGD, + JFET_QGS, + JFET_CQGS, + JFET_QGD, + JFET_CQGD, + JFET_CS, + JFET_POWER, +}; /* model questions */ -#define JFET_MOD_DRAINCONDUCT 301 -#define JFET_MOD_SOURCECONDUCT 302 -#define JFET_MOD_DEPLETIONCAP 303 -#define JFET_MOD_VCRIT 304 -#define JFET_MOD_TYPE 305 +enum { + JFET_MOD_DRAINCONDUCT = 301, + JFET_MOD_SOURCECONDUCT, + JFET_MOD_DEPLETIONCAP, + JFET_MOD_VCRIT, + JFET_MOD_TYPE, +}; /* function definitions */ diff --git a/src/spicelib/devices/jfet2/jfet2defs.h b/src/spicelib/devices/jfet2/jfet2defs.h index beb348503..1a9be74c9 100644 --- a/src/spicelib/devices/jfet2/jfet2defs.h +++ b/src/spicelib/devices/jfet2/jfet2defs.h @@ -24,13 +24,15 @@ Modified to add PS model and new parameter definitions ( Anthony E. Parker ) /* indices to an array of JFET2 noise sources */ -#define JFET2RDNOIZ 0 -#define JFET2RSNOIZ 1 -#define JFET2IDNOIZ 2 -#define JFET2FLNOIZ 3 -#define JFET2TOTNOIZ 4 - -#define JFET2NSRCS 5 +enum { + JFET2RDNOIZ = 0, + JFET2RSNOIZ, + JFET2IDNOIZ, + JFET2FLNOIZ, + JFET2TOTNOIZ, + /* finally, the number of noise sources */ + JFET2NSRCS +}; /* information used to describe a single instance */ @@ -218,45 +220,51 @@ typedef struct sJFET2model { /* model structure for a jfet */ #endif /*NJF*/ /* device parameters */ -#define JFET2_AREA 1 -#define JFET2_IC_VDS 2 -#define JFET2_IC_VGS 3 -#define JFET2_IC 4 -#define JFET2_OFF 5 -#define JFET2_TEMP 6 -#define JFET2_DTEMP 7 -#define JFET2_M 8 +enum { + JFET2_AREA = 1, + JFET2_IC_VDS, + JFET2_IC_VGS, + JFET2_IC, + JFET2_OFF, + JFET2_TEMP, + JFET2_DTEMP, + JFET2_M, +}; /* device questions */ -#define JFET2_DRAINNODE 301 -#define JFET2_GATENODE 302 -#define JFET2_SOURCENODE 303 -#define JFET2_DRAINPRIMENODE 304 -#define JFET2_SOURCEPRIMENODE 305 -#define JFET2_VGS 306 -#define JFET2_VGD 307 -#define JFET2_CG 308 -#define JFET2_CD 309 -#define JFET2_CGD 310 -#define JFET2_GM 311 -#define JFET2_GDS 312 -#define JFET2_GGS 313 -#define JFET2_GGD 314 -#define JFET2_QGS 315 -#define JFET2_CQGS 316 -#define JFET2_QGD 317 -#define JFET2_CQGD 318 -#define JFET2_CS 319 -#define JFET2_POWER 320 -#define JFET2_VTRAP 321 -#define JFET2_PAVE 322 +enum { + JFET2_DRAINNODE = 301, + JFET2_GATENODE, + JFET2_SOURCENODE, + JFET2_DRAINPRIMENODE, + JFET2_SOURCEPRIMENODE, + JFET2_VGS, + JFET2_VGD, + JFET2_CG, + JFET2_CD, + JFET2_CGD, + JFET2_GM, + JFET2_GDS, + JFET2_GGS, + JFET2_GGD, + JFET2_QGS, + JFET2_CQGS, + JFET2_QGD, + JFET2_CQGD, + JFET2_CS, + JFET2_POWER, + JFET2_VTRAP, + JFET2_PAVE, +}; /* model questions */ -#define JFET2_MOD_DRAINCONDUCT 301 -#define JFET2_MOD_SOURCECONDUCT 302 -#define JFET2_MOD_DEPLETIONCAP 303 -#define JFET2_MOD_VCRIT 304 -#define JFET2_MOD_TYPE 305 +enum { + JFET2_MOD_DRAINCONDUCT = 301, + JFET2_MOD_SOURCECONDUCT, + JFET2_MOD_DEPLETIONCAP, + JFET2_MOD_VCRIT, + JFET2_MOD_TYPE, +}; /* function definitions */ diff --git a/src/spicelib/devices/ltra/ltradefs.h b/src/spicelib/devices/ltra/ltradefs.h index f1f0e3d2e..66ef0c0ef 100644 --- a/src/spicelib/devices/ltra/ltradefs.h +++ b/src/spicelib/devices/ltra/ltradefs.h @@ -181,59 +181,61 @@ typedef struct sLTRAmodel { /* model structure for a transmission lines */ } LTRAmodel; /* device parameters */ -#define LTRA_MOD_LTRA 0 -#define LTRA_MOD_R 1 -#define LTRA_MOD_L 2 -#define LTRA_MOD_G 3 -#define LTRA_MOD_C 4 -#define LTRA_MOD_LEN 5 -#define LTRA_V1 6 -#define LTRA_I1 7 -#define LTRA_V2 8 -#define LTRA_I2 9 -#define LTRA_IC 10 -#define LTRA_MOD_RELTOL 11 -#define LTRA_MOD_ABSTOL 12 -#define LTRA_POS_NODE1 13 -#define LTRA_NEG_NODE1 14 -#define LTRA_POS_NODE2 15 -#define LTRA_NEG_NODE2 16 -#define LTRA_INPUT1 17 -#define LTRA_INPUT2 18 -#define LTRA_DELAY 19 -#define LTRA_BR_EQ1 20 -#define LTRA_BR_EQ2 21 -#define LTRA_MOD_NL 22 -#define LTRA_MOD_FREQ 23 -#define LTRA_MOD_Z0 24 -#define LTRA_MOD_TD 25 - -#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 +enum { + LTRA_MOD_LTRA = 0, + LTRA_MOD_R, + LTRA_MOD_L, + LTRA_MOD_G, + LTRA_MOD_C, + LTRA_MOD_LEN, + LTRA_V1, + LTRA_I1, + LTRA_V2, + LTRA_I2, + LTRA_IC, + LTRA_MOD_RELTOL, + LTRA_MOD_ABSTOL, + LTRA_POS_NODE1, + LTRA_NEG_NODE1, + LTRA_POS_NODE2, + LTRA_NEG_NODE2, + LTRA_INPUT1, + LTRA_INPUT2, + LTRA_DELAY, + LTRA_BR_EQ1, + LTRA_BR_EQ2, + LTRA_MOD_NL, + LTRA_MOD_FREQ, + LTRA_MOD_Z0, + LTRA_MOD_TD, + LTRA_MOD_FULLCONTROL, + LTRA_MOD_HALFCONTROL, + LTRA_MOD_NOCONTROL, + LTRA_MOD_PRINT, + LTRA_MOD_NOPRINT, +}; + /* #define LTRA_MOD_RONLY 31 */ -#define LTRA_MOD_STEPLIMIT 32 -#define LTRA_MOD_NOSTEPLIMIT 33 -#define LTRA_MOD_LININTERP 34 -#define LTRA_MOD_QUADINTERP 35 -#define LTRA_MOD_MIXEDINTERP 36 -#define LTRA_MOD_RLC 37 -#define LTRA_MOD_RC 38 -#define LTRA_MOD_RG 39 -#define LTRA_MOD_LC 40 -#define LTRA_MOD_RL 41 -#define LTRA_MOD_STLINEREL 42 -#define LTRA_MOD_STLINEABS 43 -#define LTRA_MOD_CHOPREL 44 -#define LTRA_MOD_CHOPABS 45 -#define LTRA_MOD_TRUNCNR 46 -#define LTRA_MOD_TRUNCDONTCUT 47 - - +enum { + LTRA_MOD_STEPLIMIT = 32, + LTRA_MOD_NOSTEPLIMIT, + LTRA_MOD_LININTERP, + LTRA_MOD_QUADINTERP, + LTRA_MOD_MIXEDINTERP, + LTRA_MOD_RLC, + LTRA_MOD_RC, + LTRA_MOD_RG, + LTRA_MOD_LC, + LTRA_MOD_RL, + LTRA_MOD_STLINEREL, + LTRA_MOD_STLINEABS, + LTRA_MOD_CHOPREL, + LTRA_MOD_CHOPABS, + LTRA_MOD_TRUNCNR, + LTRA_MOD_TRUNCDONTCUT, +}; /* model parameters */ diff --git a/src/spicelib/devices/mes/mesdefs.h b/src/spicelib/devices/mes/mesdefs.h index 96446245b..89ad77c24 100644 --- a/src/spicelib/devices/mes/mesdefs.h +++ b/src/spicelib/devices/mes/mesdefs.h @@ -18,13 +18,15 @@ Author: 1985 S. Hwang /* indices to the array of MESFET noise sources */ -#define MESRDNOIZ 0 -#define MESRSNOIZ 1 -#define MESIDNOIZ 2 -#define MESFLNOIZ 3 -#define MESTOTNOIZ 4 - -#define MESNSRCS 5 /* the number of MESFET noise sources */ +enum { + MESRDNOIZ = 0, + MESRSNOIZ, + MESIDNOIZ, + MESFLNOIZ, + MESTOTNOIZ, + /* finally, the number of noise sources */ + MESNSRCS +}; /* information used to describe a single instance */ @@ -222,62 +224,69 @@ typedef struct sMESmodel { /* model structure for a mesfet */ #endif /*NMF*/ /* device parameters */ -#define MES_AREA 1 -#define MES_IC_VDS 2 -#define MES_IC_VGS 3 -#define MES_IC 4 -#define MES_OFF 5 -#define MES_CS 6 -#define MES_POWER 7 -#define MES_M 8 +enum { + MES_AREA = 1, + MES_IC_VDS, + MES_IC_VGS, + MES_IC, + MES_OFF, + MES_CS, + MES_POWER, + MES_M, +}; /* model parameters */ -#define MES_MOD_VTO 101 -#define MES_MOD_ALPHA 102 -#define MES_MOD_BETA 103 -#define MES_MOD_LAMBDA 104 -#define MES_MOD_B 105 -#define MES_MOD_RD 106 -#define MES_MOD_RS 107 -#define MES_MOD_CGS 108 -#define MES_MOD_CGD 109 -#define MES_MOD_PB 110 -#define MES_MOD_IS 111 -#define MES_MOD_FC 112 -#define MES_MOD_NMF 113 -#define MES_MOD_PMF 114 -#define MES_MOD_KF 115 -#define MES_MOD_AF 116 +enum { + MES_MOD_VTO = 101, + MES_MOD_ALPHA, + MES_MOD_BETA, + MES_MOD_LAMBDA, + MES_MOD_B, + MES_MOD_RD, + MES_MOD_RS, + MES_MOD_CGS, + MES_MOD_CGD, + MES_MOD_PB, + MES_MOD_IS, + MES_MOD_FC, + MES_MOD_NMF, + MES_MOD_PMF, + MES_MOD_KF, + MES_MOD_AF, +}; /* device questions */ -#define MES_DRAINNODE 201 -#define MES_GATENODE 202 -#define MES_SOURCENODE 203 -#define MES_DRAINPRIMENODE 204 -#define MES_SOURCEPRIMENODE 205 - -#define MES_VGS 206 -#define MES_VGD 207 -#define MES_CG 208 -#define MES_CD 209 -#define MES_CGD 210 -#define MES_GM 211 -#define MES_GDS 212 -#define MES_GGS 213 -#define MES_GGD 214 -#define MES_QGS 215 -#define MES_CQGS 216 -#define MES_QGD 217 -#define MES_CQGD 218 +enum { + MES_DRAINNODE = 201, + MES_GATENODE, + MES_SOURCENODE, + MES_DRAINPRIMENODE, + MES_SOURCEPRIMENODE, + MES_VGS, + MES_VGD, + MES_CG, + MES_CD, + MES_CGD, + MES_GM, + MES_GDS, + MES_GGS, + MES_GGD, + MES_QGS, + MES_CQGS, + MES_QGD, + MES_CQGD, +}; /* model questions */ -#define MES_MOD_DRAINCONDUCT 301 -#define MES_MOD_SOURCECONDUCT 302 -#define MES_MOD_DEPLETIONCAP 303 -#define MES_MOD_VCRIT 304 -#define MES_MOD_TYPE 305 +enum { + MES_MOD_DRAINCONDUCT = 301, + MES_MOD_SOURCECONDUCT, + MES_MOD_DEPLETIONCAP, + MES_MOD_VCRIT, + MES_MOD_TYPE, +}; #include "mesext.h" diff --git a/src/spicelib/devices/mesa/mesadefs.h b/src/spicelib/devices/mesa/mesadefs.h index 21f0e6093..230263b02 100644 --- a/src/spicelib/devices/mesa/mesadefs.h +++ b/src/spicelib/devices/mesa/mesadefs.h @@ -16,13 +16,15 @@ Author: Trond Ytterdal /* indices to the array of MESAFET noise sources */ -#define MESARDNOIZ 0 -#define MESARSNOIZ 1 -#define MESAIDNOIZ 2 -#define MESAFLNOIZ 3 -#define MESATOTNOIZ 4 - -#define MESANSRCS 5 /* the number of MESAFET noise sources */ +enum { + MESARDNOIZ = 0, + MESARSNOIZ, + MESAIDNOIZ, + MESAFLNOIZ, + MESATOTNOIZ, + /* finally, the number of noise sources */ + MESANSRCS +}; /* information used to describe a single instance */ @@ -369,111 +371,123 @@ typedef struct sMESAmodel { /* model structure for a MESAfet */ #endif /* device parameters */ -#define MESA_LENGTH 1 -#define MESA_WIDTH 2 -#define MESA_IC_VDS 3 -#define MESA_IC_VGS 4 -#define MESA_TD 5 -#define MESA_TS 6 -#define MESA_IC 7 -#define MESA_OFF 8 -#define MESA_CS 9 -#define MESA_POWER 10 -#define MESA_DTEMP 11 -#define MESA_M 12 +enum { + MESA_LENGTH = 1, + MESA_WIDTH, + MESA_IC_VDS, + MESA_IC_VGS, + MESA_TD, + MESA_TS, + MESA_IC, + MESA_OFF, + MESA_CS, + MESA_POWER, + MESA_DTEMP, + MESA_M, +}; /* model parameters */ -#define MESA_MOD_VTO 101 -#define MESA_MOD_VS 102 -#define MESA_MOD_LAMBDA 103 -#define MESA_MOD_RD 104 -#define MESA_MOD_RS 105 -#define MESA_MOD_RG 106 -#define MESA_MOD_RI 107 -#define MESA_MOD_RF 108 -#define MESA_MOD_RDI 109 -#define MESA_MOD_RSI 110 -#define MESA_MOD_PHIB 111 -#define MESA_MOD_PHIB1 112 -#define MESA_MOD_ASTAR 113 -#define MESA_MOD_GGR 114 -#define MESA_MOD_DEL 115 -#define MESA_MOD_XCHI 116 -#define MESA_MOD_N 117 -#define MESA_MOD_ETA 118 -#define MESA_MOD_M 119 -#define MESA_MOD_MC 120 -#define MESA_MOD_SIGMA0 121 -#define MESA_MOD_VSIGMAT 122 -#define MESA_MOD_VSIGMA 123 -#define MESA_MOD_MU 124 -#define MESA_MOD_MU1 125 -#define MESA_MOD_MU2 126 -#define MESA_MOD_D 127 -#define MESA_MOD_ND 128 -#define MESA_MOD_DELTA 129 -#define MESA_MOD_TC 130 -#define MESA_MOD_NMF 131 -#define MESA_MOD_TVTO 132 -#define MESA_MOD_TLAMBDA 134 -#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 -#define MESA_GATENODE 202 -#define MESA_SOURCENODE 203 -#define MESA_DRAINPRIMENODE 204 -#define MESA_SOURCEPRIMENODE 205 -#define MESA_GATEPRIMENODE 206 - -#define MESA_VGS 207 -#define MESA_VGD 208 -#define MESA_CG 209 -#define MESA_CD 210 -#define MESA_CGD 211 -#define MESA_GM 212 -#define MESA_GDS 213 -#define MESA_GGS 214 -#define MESA_GGD 215 -#define MESA_QGS 216 -#define MESA_CQGS 217 -#define MESA_QGD 218 -#define MESA_CQGD 219 - -#define MESA_MOD_DRAINCONDUCT 301 -#define MESA_MOD_SOURCECONDUCT 302 -#define MESA_MOD_GATECONDUCT 303 -#define MESA_MOD_DEPLETIONCAP 304 -#define MESA_MOD_VCRIT 305 +enum { + MESA_MOD_VTO = 101, + MESA_MOD_VS, + MESA_MOD_LAMBDA, + MESA_MOD_RD, + MESA_MOD_RS, + MESA_MOD_RG, + MESA_MOD_RI, + MESA_MOD_RF, + MESA_MOD_RDI, + MESA_MOD_RSI, + MESA_MOD_PHIB, + MESA_MOD_PHIB1, + MESA_MOD_ASTAR, + MESA_MOD_GGR, + MESA_MOD_DEL, + MESA_MOD_XCHI, + MESA_MOD_N, + MESA_MOD_ETA, + MESA_MOD_M, + MESA_MOD_MC, + MESA_MOD_SIGMA0, + MESA_MOD_VSIGMAT, + MESA_MOD_VSIGMA, + MESA_MOD_MU, + MESA_MOD_MU1, + MESA_MOD_MU2, + MESA_MOD_D, + MESA_MOD_ND, + MESA_MOD_DELTA, + MESA_MOD_TC, + MESA_MOD_NMF, + MESA_MOD_TVTO, +}; + +enum { + MESA_MOD_TLAMBDA = 134, + MESA_MOD_TETA0, + MESA_MOD_TETA1, + MESA_MOD_TMU, + 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, +}; + +/* device questions */ +enum { + MESA_DRAINNODE = 201, + MESA_GATENODE, + MESA_SOURCENODE, + MESA_DRAINPRIMENODE, + MESA_SOURCEPRIMENODE, + MESA_GATEPRIMENODE, + MESA_VGS, + MESA_VGD, + MESA_CG, + MESA_CD, + MESA_CGD, + MESA_GM, + MESA_GDS, + MESA_GGS, + MESA_GGD, + MESA_QGS, + MESA_CQGS, + MESA_QGD, + MESA_CQGD, +}; + +/* model questions */ +enum { + MESA_MOD_DRAINCONDUCT = 301, + MESA_MOD_SOURCECONDUCT, + MESA_MOD_GATECONDUCT, + MESA_MOD_DEPLETIONCAP, + MESA_MOD_VCRIT, +}; #include "mesaext.h" diff --git a/src/spicelib/devices/mos1/mos1defs.h b/src/spicelib/devices/mos1/mos1defs.h index 48df3e166..c6f98a623 100644 --- a/src/spicelib/devices/mos1/mos1defs.h +++ b/src/spicelib/devices/mos1/mos1defs.h @@ -17,13 +17,15 @@ Modified: 2000 AlansFixes /* indices to the array of MOSFET(1) noise sources */ -#define MOS1RDNOIZ 0 -#define MOS1RSNOIZ 1 -#define MOS1IDNOIZ 2 -#define MOS1FLNOIZ 3 -#define MOS1TOTNOIZ 4 - -#define MOS1NSRCS 5 /* the number of MOS1FET noise sources*/ +enum { + MOS1RDNOIZ = 0, + MOS1RSNOIZ, + MOS1IDNOIZ, + MOS1FLNOIZ, + MOS1TOTNOIZ, + /* finally, the number of noise sources */ + MOS1NSRCS +}; /* information needed for each instance */ @@ -397,123 +399,130 @@ typedef struct sMOS1model { /* model structure for a resistor */ #endif /*NMOS*/ /* device parameters */ -#define MOS1_W 1 -#define MOS1_L 2 -#define MOS1_AS 3 -#define MOS1_AD 4 -#define MOS1_PS 5 -#define MOS1_PD 6 -#define MOS1_NRS 7 -#define MOS1_NRD 8 -#define MOS1_OFF 9 -#define MOS1_IC 10 -#define MOS1_IC_VBS 11 -#define MOS1_IC_VDS 12 -#define MOS1_IC_VGS 13 -#define MOS1_W_SENS 14 -#define MOS1_L_SENS 15 -#define MOS1_CB 16 -#define MOS1_CG 17 -#define MOS1_CS 18 -#define MOS1_POWER 19 -#define MOS1_TEMP 20 -#define MOS1_M 21 -#define MOS1_DTEMP 22 +enum { + MOS1_W = 1, + MOS1_L, + MOS1_AS, + MOS1_AD, + MOS1_PS, + MOS1_PD, + MOS1_NRS, + MOS1_NRD, + MOS1_OFF, + MOS1_IC, + MOS1_IC_VBS, + MOS1_IC_VDS, + MOS1_IC_VGS, + MOS1_W_SENS, + MOS1_L_SENS, + MOS1_CB, + MOS1_CG, + MOS1_CS, + MOS1_POWER, + MOS1_TEMP, + MOS1_M, + MOS1_DTEMP, +}; + /* model paramerers */ -#define MOS1_MOD_VTO 101 -#define MOS1_MOD_KP 102 -#define MOS1_MOD_GAMMA 103 -#define MOS1_MOD_PHI 104 -#define MOS1_MOD_LAMBDA 105 -#define MOS1_MOD_RD 106 -#define MOS1_MOD_RS 107 -#define MOS1_MOD_CBD 108 -#define MOS1_MOD_CBS 109 -#define MOS1_MOD_IS 110 -#define MOS1_MOD_PB 111 -#define MOS1_MOD_CGSO 112 -#define MOS1_MOD_CGDO 113 -#define MOS1_MOD_CGBO 114 -#define MOS1_MOD_CJ 115 -#define MOS1_MOD_MJ 116 -#define MOS1_MOD_CJSW 117 -#define MOS1_MOD_MJSW 118 -#define MOS1_MOD_JS 119 -#define MOS1_MOD_TOX 120 -#define MOS1_MOD_LD 121 -#define MOS1_MOD_RSH 122 -#define MOS1_MOD_U0 123 -#define MOS1_MOD_FC 124 -#define MOS1_MOD_NSUB 125 -#define MOS1_MOD_TPG 126 -#define MOS1_MOD_NSS 127 -#define MOS1_MOD_NMOS 128 -#define MOS1_MOD_PMOS 129 -#define MOS1_MOD_TNOM 130 -#define MOS1_MOD_KF 131 -#define MOS1_MOD_AF 132 -#define MOS1_MOD_TYPE 133 +enum { + MOS1_MOD_VTO = 101, + MOS1_MOD_KP, + MOS1_MOD_GAMMA, + MOS1_MOD_PHI, + MOS1_MOD_LAMBDA, + MOS1_MOD_RD, + MOS1_MOD_RS, + MOS1_MOD_CBD, + MOS1_MOD_CBS, + MOS1_MOD_IS, + MOS1_MOD_PB, + MOS1_MOD_CGSO, + MOS1_MOD_CGDO, + MOS1_MOD_CGBO, + MOS1_MOD_CJ, + MOS1_MOD_MJ, + MOS1_MOD_CJSW, + MOS1_MOD_MJSW, + MOS1_MOD_JS, + MOS1_MOD_TOX, + MOS1_MOD_LD, + MOS1_MOD_RSH, + MOS1_MOD_U0, + MOS1_MOD_FC, + MOS1_MOD_NSUB, + MOS1_MOD_TPG, + MOS1_MOD_NSS, + MOS1_MOD_NMOS, + MOS1_MOD_PMOS, + MOS1_MOD_TNOM, + MOS1_MOD_KF, + MOS1_MOD_AF, + MOS1_MOD_TYPE, +}; /* device questions */ -#define MOS1_CGS 201 -#define MOS1_CGD 202 -#define MOS1_DNODE 203 -#define MOS1_GNODE 204 -#define MOS1_SNODE 205 -#define MOS1_BNODE 206 -#define MOS1_DNODEPRIME 207 -#define MOS1_SNODEPRIME 208 -#define MOS1_SOURCECONDUCT 209 -#define MOS1_DRAINCONDUCT 210 -#define MOS1_VON 211 -#define MOS1_VDSAT 212 -#define MOS1_SOURCEVCRIT 213 -#define MOS1_DRAINVCRIT 214 -#define MOS1_CD 215 -#define MOS1_CBS 216 -#define MOS1_CBD 217 -#define MOS1_GMBS 218 -#define MOS1_GM 219 -#define MOS1_GDS 220 -#define MOS1_GBD 221 -#define MOS1_GBS 222 -#define MOS1_CAPBD 223 -#define MOS1_CAPBS 224 -#define MOS1_CAPZEROBIASBD 225 -#define MOS1_CAPZEROBIASBDSW 226 -#define MOS1_CAPZEROBIASBS 227 -#define MOS1_CAPZEROBIASBSSW 228 -#define MOS1_VBD 229 -#define MOS1_VBS 230 -#define MOS1_VGS 231 -#define MOS1_VDS 232 -#define MOS1_CAPGS 233 -#define MOS1_QGS 234 -#define MOS1_CQGS 235 -#define MOS1_CAPGD 236 -#define MOS1_QGD 237 -#define MOS1_CQGD 238 -#define MOS1_CAPGB 239 -#define MOS1_QGB 240 -#define MOS1_CQGB 241 -#define MOS1_QBD 242 -#define MOS1_CQBD 243 -#define MOS1_QBS 244 -#define MOS1_CQBS 245 -#define MOS1_L_SENS_REAL 246 -#define MOS1_L_SENS_IMAG 247 -#define MOS1_L_SENS_MAG 248 -#define MOS1_L_SENS_PH 249 -#define MOS1_L_SENS_CPLX 250 -#define MOS1_W_SENS_REAL 251 -#define MOS1_W_SENS_IMAG 252 -#define MOS1_W_SENS_MAG 253 -#define MOS1_W_SENS_PH 254 -#define MOS1_W_SENS_CPLX 255 -#define MOS1_L_SENS_DC 256 -#define MOS1_W_SENS_DC 257 -#define MOS1_SOURCERESIST 258 -#define MOS1_DRAINRESIST 259 +enum { + MOS1_CGS = 201, + MOS1_CGD, + MOS1_DNODE, + MOS1_GNODE, + MOS1_SNODE, + MOS1_BNODE, + MOS1_DNODEPRIME, + MOS1_SNODEPRIME, + MOS1_SOURCECONDUCT, + MOS1_DRAINCONDUCT, + MOS1_VON, + MOS1_VDSAT, + MOS1_SOURCEVCRIT, + MOS1_DRAINVCRIT, + MOS1_CD, + MOS1_CBS, + MOS1_CBD, + MOS1_GMBS, + MOS1_GM, + MOS1_GDS, + MOS1_GBD, + MOS1_GBS, + MOS1_CAPBD, + MOS1_CAPBS, + MOS1_CAPZEROBIASBD, + MOS1_CAPZEROBIASBDSW, + MOS1_CAPZEROBIASBS, + MOS1_CAPZEROBIASBSSW, + MOS1_VBD, + MOS1_VBS, + MOS1_VGS, + MOS1_VDS, + MOS1_CAPGS, + MOS1_QGS, + MOS1_CQGS, + MOS1_CAPGD, + MOS1_QGD, + MOS1_CQGD, + MOS1_CAPGB, + MOS1_QGB, + MOS1_CQGB, + MOS1_QBD, + MOS1_CQBD, + MOS1_QBS, + MOS1_CQBS, + MOS1_L_SENS_REAL, + MOS1_L_SENS_IMAG, + MOS1_L_SENS_MAG, + MOS1_L_SENS_PH, + MOS1_L_SENS_CPLX, + MOS1_W_SENS_REAL, + MOS1_W_SENS_IMAG, + MOS1_W_SENS_MAG, + MOS1_W_SENS_PH, + MOS1_W_SENS_CPLX, + MOS1_L_SENS_DC, + MOS1_W_SENS_DC, + MOS1_SOURCERESIST, + MOS1_DRAINRESIST, +}; /* model questions */ diff --git a/src/spicelib/devices/mos2/mos2defs.h b/src/spicelib/devices/mos2/mos2defs.h index 593f6e69f..b937485fb 100644 --- a/src/spicelib/devices/mos2/mos2defs.h +++ b/src/spicelib/devices/mos2/mos2defs.h @@ -17,13 +17,15 @@ Modified: 2000 AlansFIxes /* indices to the array of MOSFET(2) noise sources */ -#define MOS2RDNOIZ 0 -#define MOS2RSNOIZ 1 -#define MOS2IDNOIZ 2 -#define MOS2FLNOIZ 3 -#define MOS2TOTNOIZ 4 - -#define MOS2NSRCS 5 /* the number of MOS2FET noise sources */ +enum { + MOS2RDNOIZ = 0, + MOS2RSNOIZ, + MOS2IDNOIZ, + MOS2FLNOIZ, + MOS2TOTNOIZ, + /* finally, the number of noise sources */ + MOS2NSRCS +}; /* information needed for each instance */ @@ -421,130 +423,136 @@ typedef struct sMOS2model { /* model structure for a resistor */ #endif /*NMOS*/ /* device parameters */ -#define MOS2_W 1 -#define MOS2_L 2 -#define MOS2_AS 3 -#define MOS2_AD 4 -#define MOS2_PS 5 -#define MOS2_PD 6 -#define MOS2_NRS 7 -#define MOS2_NRD 8 -#define MOS2_OFF 9 -#define MOS2_IC 10 -#define MOS2_IC_VBS 11 -#define MOS2_IC_VDS 12 -#define MOS2_IC_VGS 13 -#define MOS2_W_SENS 14 -#define MOS2_L_SENS 15 -#define MOS2_CB 16 -#define MOS2_CG 17 -#define MOS2_CS 18 -#define MOS2_POWER 19 -#define MOS2_CGS 20 -#define MOS2_CGD 21 -#define MOS2_DNODE 22 -#define MOS2_GNODE 23 -#define MOS2_SNODE 24 -#define MOS2_BNODE 25 -#define MOS2_DNODEPRIME 26 -#define MOS2_SNODEPRIME 27 -#define MOS2_SOURCECONDUCT 28 -#define MOS2_DRAINCONDUCT 29 -#define MOS2_VON 30 -#define MOS2_VDSAT 31 -#define MOS2_SOURCEVCRIT 32 -#define MOS2_DRAINVCRIT 33 -#define MOS2_CD 34 -#define MOS2_CBS 35 -#define MOS2_CBD 36 -#define MOS2_GMBS 37 -#define MOS2_GM 38 -#define MOS2_GDS 39 -#define MOS2_GBD 40 -#define MOS2_GBS 41 -#define MOS2_CAPBD 42 -#define MOS2_CAPBS 43 -#define MOS2_CAPZEROBIASBD 44 -#define MOS2_CAPZEROBIASBDSW 45 -#define MOS2_CAPZEROBIASBS 46 -#define MOS2_CAPZEROBIASBSSW 47 -#define MOS2_VBD 48 -#define MOS2_VBS 49 -#define MOS2_VGS 50 -#define MOS2_VDS 51 -#define MOS2_CAPGS 52 -#define MOS2_QGS 53 -#define MOS2_CQGS 54 -#define MOS2_CAPGD 55 -#define MOS2_QGD 56 -#define MOS2_CQGD 57 -#define MOS2_CAPGB 58 -#define MOS2_QGB 59 -#define MOS2_CQGB 60 -#define MOS2_QBD 61 -#define MOS2_CQBD 62 -#define MOS2_QBS 63 -#define MOS2_CQBS 64 -#define MOS2_W_SENS_REAL 65 -#define MOS2_W_SENS_IMAG 66 -#define MOS2_W_SENS_MAG 67 -#define MOS2_W_SENS_PH 68 -#define MOS2_W_SENS_CPLX 69 -#define MOS2_L_SENS_REAL 70 -#define MOS2_L_SENS_IMAG 71 -#define MOS2_L_SENS_MAG 72 -#define MOS2_L_SENS_PH 73 -#define MOS2_L_SENS_CPLX 74 -#define MOS2_L_SENS_DC 75 -#define MOS2_W_SENS_DC 76 -#define MOS2_TEMP 77 -#define MOS2_SOURCERESIST 78 -#define MOS2_DRAINRESIST 79 -#define MOS2_M 80 -#define MOS2_DTEMP 81 +enum { + MOS2_W = 1, + MOS2_L, + MOS2_AS, + MOS2_AD, + MOS2_PS, + MOS2_PD, + MOS2_NRS, + MOS2_NRD, + MOS2_OFF, + MOS2_IC, + MOS2_IC_VBS, + MOS2_IC_VDS, + MOS2_IC_VGS, + MOS2_W_SENS, + MOS2_L_SENS, + MOS2_CB, + MOS2_CG, + MOS2_CS, + MOS2_POWER, + MOS2_CGS, + MOS2_CGD, + MOS2_DNODE, + MOS2_GNODE, + MOS2_SNODE, + MOS2_BNODE, + MOS2_DNODEPRIME, + MOS2_SNODEPRIME, + MOS2_SOURCECONDUCT, + MOS2_DRAINCONDUCT, + MOS2_VON, + MOS2_VDSAT, + MOS2_SOURCEVCRIT, + MOS2_DRAINVCRIT, + MOS2_CD, + MOS2_CBS, + MOS2_CBD, + MOS2_GMBS, + MOS2_GM, + MOS2_GDS, + MOS2_GBD, + MOS2_GBS, + MOS2_CAPBD, + MOS2_CAPBS, + MOS2_CAPZEROBIASBD, + MOS2_CAPZEROBIASBDSW, + MOS2_CAPZEROBIASBS, + MOS2_CAPZEROBIASBSSW, + MOS2_VBD, + MOS2_VBS, + MOS2_VGS, + MOS2_VDS, + MOS2_CAPGS, + MOS2_QGS, + MOS2_CQGS, + MOS2_CAPGD, + MOS2_QGD, + MOS2_CQGD, + MOS2_CAPGB, + MOS2_QGB, + MOS2_CQGB, + MOS2_QBD, + MOS2_CQBD, + MOS2_QBS, + MOS2_CQBS, + MOS2_W_SENS_REAL, + MOS2_W_SENS_IMAG, + MOS2_W_SENS_MAG, + MOS2_W_SENS_PH, + MOS2_W_SENS_CPLX, + MOS2_L_SENS_REAL, + MOS2_L_SENS_IMAG, + MOS2_L_SENS_MAG, + MOS2_L_SENS_PH, + MOS2_L_SENS_CPLX, + MOS2_L_SENS_DC, + MOS2_W_SENS_DC, + MOS2_TEMP, + MOS2_SOURCERESIST, + MOS2_DRAINRESIST, + MOS2_M, + MOS2_DTEMP, +}; /* model paramerers */ -#define MOS2_MOD_VTO 101 -#define MOS2_MOD_KP 102 -#define MOS2_MOD_GAMMA 103 -#define MOS2_MOD_PHI 104 -#define MOS2_MOD_LAMBDA 105 -#define MOS2_MOD_RD 106 -#define MOS2_MOD_RS 107 -#define MOS2_MOD_CBD 108 -#define MOS2_MOD_CBS 109 -#define MOS2_MOD_IS 110 -#define MOS2_MOD_PB 111 -#define MOS2_MOD_CGSO 112 -#define MOS2_MOD_CGDO 113 -#define MOS2_MOD_CGBO 114 -#define MOS2_MOD_CJ 115 -#define MOS2_MOD_MJ 116 -#define MOS2_MOD_CJSW 117 -#define MOS2_MOD_MJSW 118 -#define MOS2_MOD_JS 119 -#define MOS2_MOD_TOX 120 -#define MOS2_MOD_LD 121 -#define MOS2_MOD_RSH 122 -#define MOS2_MOD_U0 123 -#define MOS2_MOD_FC 124 -#define MOS2_MOD_NSUB 125 -#define MOS2_MOD_TPG 126 -#define MOS2_MOD_NSS 127 -#define MOS2_MOD_NFS 128 -#define MOS2_MOD_DELTA 129 -#define MOS2_MOD_UEXP 130 -#define MOS2_MOD_VMAX 131 -#define MOS2_MOD_XJ 132 -#define MOS2_MOD_NEFF 133 -#define MOS2_MOD_UCRIT 134 -#define MOS2_MOD_NMOS 135 -#define MOS2_MOD_PMOS 136 -#define MOS2_MOD_TNOM 137 -#define MOS2_MOD_KF 139 -#define MOS2_MOD_AF 140 -#define MOS2_MOD_TYPE 141 - +enum { + MOS2_MOD_VTO = 101, + MOS2_MOD_KP, + MOS2_MOD_GAMMA, + MOS2_MOD_PHI, + MOS2_MOD_LAMBDA, + MOS2_MOD_RD, + MOS2_MOD_RS, + MOS2_MOD_CBD, + MOS2_MOD_CBS, + MOS2_MOD_IS, + MOS2_MOD_PB, + MOS2_MOD_CGSO, + MOS2_MOD_CGDO, + MOS2_MOD_CGBO, + MOS2_MOD_CJ, + MOS2_MOD_MJ, + MOS2_MOD_CJSW, + MOS2_MOD_MJSW, + MOS2_MOD_JS, + MOS2_MOD_TOX, + MOS2_MOD_LD, + MOS2_MOD_RSH, + MOS2_MOD_U0, + MOS2_MOD_FC, + MOS2_MOD_NSUB, + MOS2_MOD_TPG, + MOS2_MOD_NSS, + MOS2_MOD_NFS, + MOS2_MOD_DELTA, + MOS2_MOD_UEXP, + MOS2_MOD_VMAX, + MOS2_MOD_XJ, + MOS2_MOD_NEFF, + MOS2_MOD_UCRIT, + MOS2_MOD_NMOS, + MOS2_MOD_PMOS, + MOS2_MOD_TNOM, +}; + +enum { + MOS2_MOD_KF = 139, + MOS2_MOD_AF, + MOS2_MOD_TYPE, +}; /* model questions */ diff --git a/src/spicelib/devices/mos3/mos3defs.h b/src/spicelib/devices/mos3/mos3defs.h index ffb68820d..3f61aea80 100644 --- a/src/spicelib/devices/mos3/mos3defs.h +++ b/src/spicelib/devices/mos3/mos3defs.h @@ -17,13 +17,15 @@ Modified: 2000 AlanFixes /* indices to the array of MOSFET(3) noise sources */ -#define MOS3RDNOIZ 0 -#define MOS3RSNOIZ 1 -#define MOS3IDNOIZ 2 -#define MOS3FLNOIZ 3 -#define MOS3TOTNOIZ 4 - -#define MOS3NSRCS 5 /* the number of MOSFET(3) noise sources */ +enum { + MOS3RDNOIZ = 0, + MOS3RSNOIZ, + MOS3IDNOIZ, + MOS3FLNOIZ, + MOS3TOTNOIZ, + /* finally, the number of noise sources */ + MOS3NSRCS +}; /* information needed for each instance */ @@ -424,138 +426,141 @@ typedef struct sMOS3model { /* model structure for a resistor */ #endif /*NMOS*/ /* device parameters */ -#define MOS3_W 1 -#define MOS3_L 2 -#define MOS3_AS 3 -#define MOS3_AD 4 -#define MOS3_PS 5 -#define MOS3_PD 6 -#define MOS3_NRS 7 -#define MOS3_NRD 8 -#define MOS3_OFF 9 -#define MOS3_IC 10 -#define MOS3_IC_VBS 11 -#define MOS3_IC_VDS 12 -#define MOS3_IC_VGS 13 -#define MOS3_W_SENS 14 -#define MOS3_L_SENS 15 -#define MOS3_CB 16 -#define MOS3_CG 17 -#define MOS3_CS 18 -#define MOS3_POWER 19 -#define MOS3_CGS 20 -#define MOS3_CGD 21 -#define MOS3_DNODE 22 -#define MOS3_GNODE 23 -#define MOS3_SNODE 24 -#define MOS3_BNODE 25 -#define MOS3_DNODEPRIME 26 -#define MOS3_SNODEPRIME 27 -#define MOS3_SOURCECONDUCT 28 -#define MOS3_DRAINCONDUCT 29 -#define MOS3_VON 30 -#define MOS3_VDSAT 31 -#define MOS3_SOURCEVCRIT 32 -#define MOS3_DRAINVCRIT 33 -#define MOS3_CD 34 -#define MOS3_CBS 35 -#define MOS3_CBD 36 -#define MOS3_GMBS 37 -#define MOS3_GM 38 -#define MOS3_GDS 39 -#define MOS3_GBD 40 -#define MOS3_GBS 41 -#define MOS3_CAPBD 42 -#define MOS3_CAPBS 43 -#define MOS3_CAPZEROBIASBD 44 -#define MOS3_CAPZEROBIASBDSW 45 -#define MOS3_CAPZEROBIASBS 46 -#define MOS3_CAPZEROBIASBSSW 47 -#define MOS3_VBD 48 -#define MOS3_VBS 49 -#define MOS3_VGS 50 -#define MOS3_VDS 51 -#define MOS3_CAPGS 52 -#define MOS3_QGS 53 -#define MOS3_CQGS 54 -#define MOS3_CAPGD 55 -#define MOS3_QGD 56 -#define MOS3_CQGD 57 -#define MOS3_CAPGB 58 -#define MOS3_QGB 59 -#define MOS3_CQGB 60 -#define MOS3_QBD 61 -#define MOS3_CQBD 62 -#define MOS3_QBS 63 -#define MOS3_CQBS 64 -#define MOS3_W_SENS_REAL 65 -#define MOS3_W_SENS_IMAG 66 -#define MOS3_W_SENS_MAG 67 -#define MOS3_W_SENS_PH 68 -#define MOS3_W_SENS_CPLX 69 -#define MOS3_L_SENS_REAL 70 -#define MOS3_L_SENS_IMAG 71 -#define MOS3_L_SENS_MAG 72 -#define MOS3_L_SENS_PH 73 -#define MOS3_L_SENS_CPLX 74 -#define MOS3_W_SENS_DC 75 -#define MOS3_L_SENS_DC 76 -#define MOS3_TEMP 77 -#define MOS3_SOURCERESIST 78 -#define MOS3_DRAINRESIST 79 -#define MOS3_M 80 -#define MOS3_DTEMP 81 +enum { + MOS3_W = 1, + MOS3_L, + MOS3_AS, + MOS3_AD, + MOS3_PS, + MOS3_PD, + MOS3_NRS, + MOS3_NRD, + MOS3_OFF, + MOS3_IC, + MOS3_IC_VBS, + MOS3_IC_VDS, + MOS3_IC_VGS, + MOS3_W_SENS, + MOS3_L_SENS, + MOS3_CB, + MOS3_CG, + MOS3_CS, + MOS3_POWER, + MOS3_CGS, + MOS3_CGD, + MOS3_DNODE, + MOS3_GNODE, + MOS3_SNODE, + MOS3_BNODE, + MOS3_DNODEPRIME, + MOS3_SNODEPRIME, + MOS3_SOURCECONDUCT, + MOS3_DRAINCONDUCT, + MOS3_VON, + MOS3_VDSAT, + MOS3_SOURCEVCRIT, + MOS3_DRAINVCRIT, + MOS3_CD, + MOS3_CBS, + MOS3_CBD, + MOS3_GMBS, + MOS3_GM, + MOS3_GDS, + MOS3_GBD, + MOS3_GBS, + MOS3_CAPBD, + MOS3_CAPBS, + MOS3_CAPZEROBIASBD, + MOS3_CAPZEROBIASBDSW, + MOS3_CAPZEROBIASBS, + MOS3_CAPZEROBIASBSSW, + MOS3_VBD, + MOS3_VBS, + MOS3_VGS, + MOS3_VDS, + MOS3_CAPGS, + MOS3_QGS, + MOS3_CQGS, + MOS3_CAPGD, + MOS3_QGD, + MOS3_CQGD, + MOS3_CAPGB, + MOS3_QGB, + MOS3_CQGB, + MOS3_QBD, + MOS3_CQBD, + MOS3_QBS, + MOS3_CQBS, + MOS3_W_SENS_REAL, + MOS3_W_SENS_IMAG, + MOS3_W_SENS_MAG, + MOS3_W_SENS_PH, + MOS3_W_SENS_CPLX, + MOS3_L_SENS_REAL, + MOS3_L_SENS_IMAG, + MOS3_L_SENS_MAG, + MOS3_L_SENS_PH, + MOS3_L_SENS_CPLX, + MOS3_W_SENS_DC, + MOS3_L_SENS_DC, + MOS3_TEMP, + MOS3_SOURCERESIST, + MOS3_DRAINRESIST, + MOS3_M, + MOS3_DTEMP, +}; /* model parameters */ -#define MOS3_MOD_VTO 101 -#define MOS3_MOD_KP 102 -#define MOS3_MOD_GAMMA 103 -#define MOS3_MOD_PHI 104 -#define MOS3_MOD_RD 105 -#define MOS3_MOD_RS 106 -#define MOS3_MOD_CBD 107 -#define MOS3_MOD_CBS 108 -#define MOS3_MOD_IS 109 -#define MOS3_MOD_PB 110 -#define MOS3_MOD_CGSO 111 -#define MOS3_MOD_CGDO 112 -#define MOS3_MOD_CGBO 113 -#define MOS3_MOD_RSH 114 -#define MOS3_MOD_CJ 115 -#define MOS3_MOD_MJ 116 -#define MOS3_MOD_CJSW 117 -#define MOS3_MOD_MJSW 118 -#define MOS3_MOD_JS 119 -#define MOS3_MOD_TOX 120 -#define MOS3_MOD_LD 121 -#define MOS3_MOD_U0 122 -#define MOS3_MOD_FC 123 -#define MOS3_MOD_NSUB 124 -#define MOS3_MOD_TPG 125 -#define MOS3_MOD_NSS 126 -#define MOS3_MOD_ETA 127 -#define MOS3_MOD_DELTA 128 -#define MOS3_MOD_NFS 129 -#define MOS3_MOD_THETA 130 -#define MOS3_MOD_VMAX 131 -#define MOS3_MOD_KAPPA 132 -#define MOS3_MOD_NMOS 133 -#define MOS3_MOD_PMOS 134 -#define MOS3_MOD_XJ 135 -#define MOS3_MOD_UEXP 136 -#define MOS3_MOD_NEFF 137 -#define MOS3_MOD_XD 138 -#define MOS3_MOD_ALPHA 139 -#define MOS3_DELTA 140 -#define MOS3_MOD_TNOM 141 -#define MOS3_MOD_KF 142 -#define MOS3_MOD_AF 143 -#define MOS3_MOD_TYPE 144 - -#define MOS3_MOD_XL 145 -#define MOS3_MOD_WD 146 -#define MOS3_MOD_XW 147 -#define MOS3_MOD_DELVTO 148 +enum { + MOS3_MOD_VTO = 101, + MOS3_MOD_KP, + MOS3_MOD_GAMMA, + MOS3_MOD_PHI, + MOS3_MOD_RD, + MOS3_MOD_RS, + MOS3_MOD_CBD, + MOS3_MOD_CBS, + MOS3_MOD_IS, + MOS3_MOD_PB, + MOS3_MOD_CGSO, + MOS3_MOD_CGDO, + MOS3_MOD_CGBO, + MOS3_MOD_RSH, + MOS3_MOD_CJ, + MOS3_MOD_MJ, + MOS3_MOD_CJSW, + MOS3_MOD_MJSW, + MOS3_MOD_JS, + MOS3_MOD_TOX, + MOS3_MOD_LD, + MOS3_MOD_U0, + MOS3_MOD_FC, + MOS3_MOD_NSUB, + MOS3_MOD_TPG, + MOS3_MOD_NSS, + MOS3_MOD_ETA, + MOS3_MOD_DELTA, + MOS3_MOD_NFS, + MOS3_MOD_THETA, + MOS3_MOD_VMAX, + MOS3_MOD_KAPPA, + MOS3_MOD_NMOS, + MOS3_MOD_PMOS, + MOS3_MOD_XJ, + MOS3_MOD_UEXP, + MOS3_MOD_NEFF, + MOS3_MOD_XD, + MOS3_MOD_ALPHA, + MOS3_DELTA, + MOS3_MOD_TNOM, + MOS3_MOD_KF, + MOS3_MOD_AF, + MOS3_MOD_TYPE, + MOS3_MOD_XL, + MOS3_MOD_WD, + MOS3_MOD_XW, + MOS3_MOD_DELVTO, +}; /* device questions */ diff --git a/src/spicelib/devices/mos6/mos6defs.h b/src/spicelib/devices/mos6/mos6defs.h index 8fd3a9979..8d1719fee 100644 --- a/src/spicelib/devices/mos6/mos6defs.h +++ b/src/spicelib/devices/mos6/mos6defs.h @@ -341,131 +341,137 @@ typedef struct sMOS6model { /* model structure for a resistor */ #endif /*NMOS*/ /* device parameters */ -#define MOS6_W 1 -#define MOS6_L 2 -#define MOS6_AS 3 -#define MOS6_AD 4 -#define MOS6_PS 5 -#define MOS6_PD 6 -#define MOS6_NRS 7 -#define MOS6_NRD 8 -#define MOS6_OFF 9 -#define MOS6_IC 10 -#define MOS6_IC_VBS 11 -#define MOS6_IC_VDS 12 -#define MOS6_IC_VGS 13 -#define MOS6_W_SENS 14 -#define MOS6_L_SENS 15 -#define MOS6_CB 16 -#define MOS6_CG 17 -#define MOS6_CS 18 -#define MOS6_POWER 19 -#define MOS6_TEMP 20 -#define MOS6_DTEMP 21 -#define MOS6_M 22 +enum { + MOS6_W = 1, + MOS6_L, + MOS6_AS, + MOS6_AD, + MOS6_PS, + MOS6_PD, + MOS6_NRS, + MOS6_NRD, + MOS6_OFF, + MOS6_IC, + MOS6_IC_VBS, + MOS6_IC_VDS, + MOS6_IC_VGS, + MOS6_W_SENS, + MOS6_L_SENS, + MOS6_CB, + MOS6_CG, + MOS6_CS, + MOS6_POWER, + MOS6_TEMP, + MOS6_DTEMP, + MOS6_M, +}; /* model paramerers */ -#define MOS6_MOD_VTO 101 -#define MOS6_MOD_KV 102 -#define MOS6_MOD_NV 103 -#define MOS6_MOD_KC 104 -#define MOS6_MOD_NC 105 -#define MOS6_MOD_NVTH 106 -#define MOS6_MOD_PS 107 -#define MOS6_MOD_GAMMA 108 -#define MOS6_MOD_GAMMA1 109 -#define MOS6_MOD_SIGMA 110 -#define MOS6_MOD_PHI 111 -#define MOS6_MOD_LAMBDA 112 -#define MOS6_MOD_LAMDA0 113 -#define MOS6_MOD_LAMDA1 114 -#define MOS6_MOD_RD 115 -#define MOS6_MOD_RS 116 -#define MOS6_MOD_CBD 117 -#define MOS6_MOD_CBS 118 -#define MOS6_MOD_IS 119 -#define MOS6_MOD_PB 120 -#define MOS6_MOD_CGSO 121 -#define MOS6_MOD_CGDO 122 -#define MOS6_MOD_CGBO 123 -#define MOS6_MOD_CJ 124 -#define MOS6_MOD_MJ 125 -#define MOS6_MOD_CJSW 126 -#define MOS6_MOD_MJSW 127 -#define MOS6_MOD_JS 128 -#define MOS6_MOD_TOX 129 -#define MOS6_MOD_LD 130 -#define MOS6_MOD_RSH 131 -#define MOS6_MOD_U0 132 -#define MOS6_MOD_FC 133 -#define MOS6_MOD_NSUB 134 -#define MOS6_MOD_TPG 135 -#define MOS6_MOD_NSS 136 -#define MOS6_MOD_NMOS 137 -#define MOS6_MOD_PMOS 138 -#define MOS6_MOD_TNOM 139 -#define MOS6_MOD_TYPE 140 +enum { + MOS6_MOD_VTO = 101, + MOS6_MOD_KV, + MOS6_MOD_NV, + MOS6_MOD_KC, + MOS6_MOD_NC, + MOS6_MOD_NVTH, + MOS6_MOD_PS, + MOS6_MOD_GAMMA, + MOS6_MOD_GAMMA1, + MOS6_MOD_SIGMA, + MOS6_MOD_PHI, + MOS6_MOD_LAMBDA, + MOS6_MOD_LAMDA0, + MOS6_MOD_LAMDA1, + MOS6_MOD_RD, + MOS6_MOD_RS, + MOS6_MOD_CBD, + MOS6_MOD_CBS, + MOS6_MOD_IS, + MOS6_MOD_PB, + MOS6_MOD_CGSO, + MOS6_MOD_CGDO, + MOS6_MOD_CGBO, + MOS6_MOD_CJ, + MOS6_MOD_MJ, + MOS6_MOD_CJSW, + MOS6_MOD_MJSW, + MOS6_MOD_JS, + MOS6_MOD_TOX, + MOS6_MOD_LD, + MOS6_MOD_RSH, + MOS6_MOD_U0, + MOS6_MOD_FC, + MOS6_MOD_NSUB, + MOS6_MOD_TPG, + MOS6_MOD_NSS, + MOS6_MOD_NMOS, + MOS6_MOD_PMOS, + MOS6_MOD_TNOM, + MOS6_MOD_TYPE, +}; /* device questions */ -#define MOS6_CGS 201 -#define MOS6_CGD 202 -#define MOS6_DNODE 203 -#define MOS6_GNODE 204 -#define MOS6_SNODE 205 -#define MOS6_BNODE 206 -#define MOS6_DNODEPRIME 207 -#define MOS6_SNODEPRIME 208 -#define MOS6_SOURCECONDUCT 209 -#define MOS6_DRAINCONDUCT 210 -#define MOS6_VON 211 -#define MOS6_VDSAT 212 -#define MOS6_SOURCEVCRIT 213 -#define MOS6_DRAINVCRIT 214 -#define MOS6_CD 215 -#define MOS6_CBS 216 -#define MOS6_CBD 217 -#define MOS6_GMBS 218 -#define MOS6_GM 219 -#define MOS6_GDS 220 -#define MOS6_GBD 221 -#define MOS6_GBS 222 -#define MOS6_CAPBD 223 -#define MOS6_CAPBS 224 -#define MOS6_CAPZEROBIASBD 225 -#define MOS6_CAPZEROBIASBDSW 226 -#define MOS6_CAPZEROBIASBS 227 -#define MOS6_CAPZEROBIASBSSW 228 -#define MOS6_VBD 229 -#define MOS6_VBS 230 -#define MOS6_VGS 231 -#define MOS6_VDS 232 -#define MOS6_CAPGS 233 -#define MOS6_QGS 234 -#define MOS6_CQGS 235 -#define MOS6_CAPGD 236 -#define MOS6_QGD 237 -#define MOS6_CQGD 238 -#define MOS6_CAPGB 239 -#define MOS6_QGB 240 -#define MOS6_CQGB 241 -#define MOS6_QBD 242 -#define MOS6_CQBD 243 -#define MOS6_QBS 244 -#define MOS6_CQBS 245 -#define MOS6_L_SENS_REAL 246 -#define MOS6_L_SENS_IMAG 247 -#define MOS6_L_SENS_MAG 248 -#define MOS6_L_SENS_PH 249 -#define MOS6_L_SENS_CPLX 250 -#define MOS6_W_SENS_REAL 251 -#define MOS6_W_SENS_IMAG 252 -#define MOS6_W_SENS_MAG 253 -#define MOS6_W_SENS_PH 254 -#define MOS6_W_SENS_CPLX 255 -#define MOS6_L_SENS_DC 256 -#define MOS6_W_SENS_DC 257 -#define MOS6_SOURCERESIST 258 -#define MOS6_DRAINRESIST 259 +enum { + MOS6_CGS = 201, + MOS6_CGD, + MOS6_DNODE, + MOS6_GNODE, + MOS6_SNODE, + MOS6_BNODE, + MOS6_DNODEPRIME, + MOS6_SNODEPRIME, + MOS6_SOURCECONDUCT, + MOS6_DRAINCONDUCT, + MOS6_VON, + MOS6_VDSAT, + MOS6_SOURCEVCRIT, + MOS6_DRAINVCRIT, + MOS6_CD, + MOS6_CBS, + MOS6_CBD, + MOS6_GMBS, + MOS6_GM, + MOS6_GDS, + MOS6_GBD, + MOS6_GBS, + MOS6_CAPBD, + MOS6_CAPBS, + MOS6_CAPZEROBIASBD, + MOS6_CAPZEROBIASBDSW, + MOS6_CAPZEROBIASBS, + MOS6_CAPZEROBIASBSSW, + MOS6_VBD, + MOS6_VBS, + MOS6_VGS, + MOS6_VDS, + MOS6_CAPGS, + MOS6_QGS, + MOS6_CQGS, + MOS6_CAPGD, + MOS6_QGD, + MOS6_CQGD, + MOS6_CAPGB, + MOS6_QGB, + MOS6_CQGB, + MOS6_QBD, + MOS6_CQBD, + MOS6_QBS, + MOS6_CQBS, + MOS6_L_SENS_REAL, + MOS6_L_SENS_IMAG, + MOS6_L_SENS_MAG, + MOS6_L_SENS_PH, + MOS6_L_SENS_CPLX, + MOS6_W_SENS_REAL, + MOS6_W_SENS_IMAG, + MOS6_W_SENS_MAG, + MOS6_W_SENS_PH, + MOS6_W_SENS_CPLX, + MOS6_L_SENS_DC, + MOS6_W_SENS_DC, + MOS6_SOURCERESIST, + MOS6_DRAINRESIST, +}; /* model questions */ diff --git a/src/spicelib/devices/mos9/mos9defs.h b/src/spicelib/devices/mos9/mos9defs.h index cb7c5fdcd..6f39b5019 100644 --- a/src/spicelib/devices/mos9/mos9defs.h +++ b/src/spicelib/devices/mos9/mos9defs.h @@ -17,13 +17,15 @@ Modified: Alan Gillespie /* indices to the array of MOSFET(9) noise sources */ -#define MOS9RDNOIZ 0 -#define MOS9RSNOIZ 1 -#define MOS9IDNOIZ 2 -#define MOS9FLNOIZ 3 -#define MOS9TOTNOIZ 4 - -#define MOS9NSRCS 5 /* the number of MOSFET(9) noise sources */ +enum { + MOS9RDNOIZ = 0, + MOS9RSNOIZ, + MOS9IDNOIZ, + MOS9FLNOIZ, + MOS9TOTNOIZ, + /* finally, the number of noise sources */ + MOS9NSRCS +}; /* information needed for each instance */ @@ -426,137 +428,141 @@ typedef struct sMOS9model { /* model structure for a resistor */ #endif /*NMOS*/ /* device parameters */ -#define MOS9_W 1 -#define MOS9_L 2 -#define MOS9_AS 3 -#define MOS9_AD 4 -#define MOS9_PS 5 -#define MOS9_PD 6 -#define MOS9_NRS 7 -#define MOS9_NRD 8 -#define MOS9_OFF 9 -#define MOS9_IC 10 -#define MOS9_IC_VBS 11 -#define MOS9_IC_VDS 12 -#define MOS9_IC_VGS 13 -#define MOS9_W_SENS 14 -#define MOS9_L_SENS 15 -#define MOS9_CB 16 -#define MOS9_CG 17 -#define MOS9_CS 18 -#define MOS9_POWER 19 -#define MOS9_CGS 20 -#define MOS9_CGD 21 -#define MOS9_DNODE 22 -#define MOS9_GNODE 23 -#define MOS9_SNODE 24 -#define MOS9_BNODE 25 -#define MOS9_DNODEPRIME 26 -#define MOS9_SNODEPRIME 27 -#define MOS9_SOURCECONDUCT 28 -#define MOS9_DRAINCONDUCT 29 -#define MOS9_VON 30 -#define MOS9_VDSAT 31 -#define MOS9_SOURCEVCRIT 32 -#define MOS9_DRAINVCRIT 33 -#define MOS9_CD 34 -#define MOS9_CBS 35 -#define MOS9_CBD 36 -#define MOS9_GMBS 37 -#define MOS9_GM 38 -#define MOS9_GDS 39 -#define MOS9_GBD 40 -#define MOS9_GBS 41 -#define MOS9_CAPBD 42 -#define MOS9_CAPBS 43 -#define MOS9_CAPZEROBIASBD 44 -#define MOS9_CAPZEROBIASBDSW 45 -#define MOS9_CAPZEROBIASBS 46 -#define MOS9_CAPZEROBIASBSSW 47 -#define MOS9_VBD 48 -#define MOS9_VBS 49 -#define MOS9_VGS 50 -#define MOS9_VDS 51 -#define MOS9_CAPGS 52 -#define MOS9_QGS 53 -#define MOS9_CQGS 54 -#define MOS9_CAPGD 55 -#define MOS9_QGD 56 -#define MOS9_CQGD 57 -#define MOS9_CAPGB 58 -#define MOS9_QGB 59 -#define MOS9_CQGB 60 -#define MOS9_QBD 61 -#define MOS9_CQBD 62 -#define MOS9_QBS 63 -#define MOS9_CQBS 64 -#define MOS9_W_SENS_REAL 65 -#define MOS9_W_SENS_IMAG 66 -#define MOS9_W_SENS_MAG 67 -#define MOS9_W_SENS_PH 68 -#define MOS9_W_SENS_CPLX 69 -#define MOS9_L_SENS_REAL 70 -#define MOS9_L_SENS_IMAG 71 -#define MOS9_L_SENS_MAG 72 -#define MOS9_L_SENS_PH 73 -#define MOS9_L_SENS_CPLX 74 -#define MOS9_W_SENS_DC 75 -#define MOS9_L_SENS_DC 76 -#define MOS9_TEMP 77 -#define MOS9_SOURCERESIST 78 -#define MOS9_DRAINRESIST 79 -#define MOS9_M 80 -#define MOS9_DTEMP 81 +enum { + MOS9_W = 1, + MOS9_L, + MOS9_AS, + MOS9_AD, + MOS9_PS, + MOS9_PD, + MOS9_NRS, + MOS9_NRD, + MOS9_OFF, + MOS9_IC, + MOS9_IC_VBS, + MOS9_IC_VDS, + MOS9_IC_VGS, + MOS9_W_SENS, + MOS9_L_SENS, + MOS9_CB, + MOS9_CG, + MOS9_CS, + MOS9_POWER, + MOS9_CGS, + MOS9_CGD, + MOS9_DNODE, + MOS9_GNODE, + MOS9_SNODE, + MOS9_BNODE, + MOS9_DNODEPRIME, + MOS9_SNODEPRIME, + MOS9_SOURCECONDUCT, + MOS9_DRAINCONDUCT, + MOS9_VON, + MOS9_VDSAT, + MOS9_SOURCEVCRIT, + MOS9_DRAINVCRIT, + MOS9_CD, + MOS9_CBS, + MOS9_CBD, + MOS9_GMBS, + MOS9_GM, + MOS9_GDS, + MOS9_GBD, + MOS9_GBS, + MOS9_CAPBD, + MOS9_CAPBS, + MOS9_CAPZEROBIASBD, + MOS9_CAPZEROBIASBDSW, + MOS9_CAPZEROBIASBS, + MOS9_CAPZEROBIASBSSW, + MOS9_VBD, + MOS9_VBS, + MOS9_VGS, + MOS9_VDS, + MOS9_CAPGS, + MOS9_QGS, + MOS9_CQGS, + MOS9_CAPGD, + MOS9_QGD, + MOS9_CQGD, + MOS9_CAPGB, + MOS9_QGB, + MOS9_CQGB, + MOS9_QBD, + MOS9_CQBD, + MOS9_QBS, + MOS9_CQBS, + MOS9_W_SENS_REAL, + MOS9_W_SENS_IMAG, + MOS9_W_SENS_MAG, + MOS9_W_SENS_PH, + MOS9_W_SENS_CPLX, + MOS9_L_SENS_REAL, + MOS9_L_SENS_IMAG, + MOS9_L_SENS_MAG, + MOS9_L_SENS_PH, + MOS9_L_SENS_CPLX, + MOS9_W_SENS_DC, + MOS9_L_SENS_DC, + MOS9_TEMP, + MOS9_SOURCERESIST, + MOS9_DRAINRESIST, + MOS9_M, + MOS9_DTEMP, +}; /* model parameters */ -#define MOS9_MOD_VTO 101 -#define MOS9_MOD_KP 102 -#define MOS9_MOD_GAMMA 103 -#define MOS9_MOD_PHI 104 -#define MOS9_MOD_RD 105 -#define MOS9_MOD_RS 106 -#define MOS9_MOD_CBD 107 -#define MOS9_MOD_CBS 108 -#define MOS9_MOD_IS 109 -#define MOS9_MOD_PB 110 -#define MOS9_MOD_CGSO 111 -#define MOS9_MOD_CGDO 112 -#define MOS9_MOD_CGBO 113 -#define MOS9_MOD_RSH 114 -#define MOS9_MOD_CJ 115 -#define MOS9_MOD_MJ 116 -#define MOS9_MOD_CJSW 117 -#define MOS9_MOD_MJSW 118 -#define MOS9_MOD_JS 119 -#define MOS9_MOD_TOX 120 -#define MOS9_MOD_LD 121 -#define MOS9_MOD_U0 122 -#define MOS9_MOD_FC 123 -#define MOS9_MOD_NSUB 124 -#define MOS9_MOD_TPG 125 -#define MOS9_MOD_NSS 126 -#define MOS9_MOD_ETA 127 -#define MOS9_MOD_DELTA 128 -#define MOS9_MOD_NFS 129 -#define MOS9_MOD_THETA 130 -#define MOS9_MOD_VMAX 131 -#define MOS9_MOD_KAPPA 132 -#define MOS9_MOD_NMOS 133 -#define MOS9_MOD_PMOS 134 -#define MOS9_MOD_XJ 135 -#define MOS9_MOD_UEXP 136 -#define MOS9_MOD_NEFF 137 -#define MOS9_MOD_XD 138 -#define MOS9_MOD_ALPHA 139 -#define MOS9_DELTA 140 -#define MOS9_MOD_TNOM 141 -#define MOS9_MOD_KF 142 -#define MOS9_MOD_AF 143 -#define MOS9_MOD_TYPE 144 -#define MOS9_MOD_XL 145 -#define MOS9_MOD_WD 146 -#define MOS9_MOD_XW 147 -#define MOS9_MOD_DELVTO 148 +enum { + MOS9_MOD_VTO = 101, + MOS9_MOD_KP, + MOS9_MOD_GAMMA, + MOS9_MOD_PHI, + MOS9_MOD_RD, + MOS9_MOD_RS, + MOS9_MOD_CBD, + MOS9_MOD_CBS, + MOS9_MOD_IS, + MOS9_MOD_PB, + MOS9_MOD_CGSO, + MOS9_MOD_CGDO, + MOS9_MOD_CGBO, + MOS9_MOD_RSH, + MOS9_MOD_CJ, + MOS9_MOD_MJ, + MOS9_MOD_CJSW, + MOS9_MOD_MJSW, + MOS9_MOD_JS, + MOS9_MOD_TOX, + MOS9_MOD_LD, + MOS9_MOD_U0, + MOS9_MOD_FC, + MOS9_MOD_NSUB, + MOS9_MOD_TPG, + MOS9_MOD_NSS, + MOS9_MOD_ETA, + MOS9_MOD_DELTA, + MOS9_MOD_NFS, + MOS9_MOD_THETA, + MOS9_MOD_VMAX, + MOS9_MOD_KAPPA, + MOS9_MOD_NMOS, + MOS9_MOD_PMOS, + MOS9_MOD_XJ, + MOS9_MOD_UEXP, + MOS9_MOD_NEFF, + MOS9_MOD_XD, + MOS9_MOD_ALPHA, + MOS9_DELTA, + MOS9_MOD_TNOM, + MOS9_MOD_KF, + MOS9_MOD_AF, + MOS9_MOD_TYPE, + MOS9_MOD_XL, + MOS9_MOD_WD, + MOS9_MOD_XW, + MOS9_MOD_DELVTO, +}; /* device questions */ diff --git a/src/spicelib/devices/nbjt/nbjtdefs.h b/src/spicelib/devices/nbjt/nbjtdefs.h index 730e3e48c..54588a0b2 100644 --- a/src/spicelib/devices/nbjt/nbjtdefs.h +++ b/src/spicelib/devices/nbjt/nbjtdefs.h @@ -119,39 +119,43 @@ typedef struct sNBJTmodel { /* model structure for a bjt */ #define PNP -1 /* device parameters */ -#define NBJT_AREA 1 -#define NBJT_OFF 2 -#define NBJT_IC_FILE 3 -#define NBJT_PRINT 4 -#define NBJT_TEMP 5 - -#define NBJT_G11 8 -#define NBJT_C11 9 -#define NBJT_Y11 10 -#define NBJT_G12 11 -#define NBJT_C12 12 -#define NBJT_Y12 13 -#define NBJT_G13 14 -#define NBJT_C13 15 -#define NBJT_Y13 16 -#define NBJT_G21 17 -#define NBJT_C21 18 -#define NBJT_Y21 19 -#define NBJT_G22 20 -#define NBJT_C22 21 -#define NBJT_Y22 22 -#define NBJT_G23 23 -#define NBJT_C23 24 -#define NBJT_Y23 25 -#define NBJT_G31 26 -#define NBJT_C31 27 -#define NBJT_Y31 28 -#define NBJT_G32 29 -#define NBJT_C32 30 -#define NBJT_Y32 31 -#define NBJT_G33 32 -#define NBJT_C33 33 -#define NBJT_Y33 34 +enum { + NBJT_AREA = 1, + NBJT_OFF, + NBJT_IC_FILE, + NBJT_PRINT, + NBJT_TEMP, +}; + +enum { + NBJT_G11 = 8, + NBJT_C11, + NBJT_Y11, + NBJT_G12, + NBJT_C12, + NBJT_Y12, + NBJT_G13, + NBJT_C13, + NBJT_Y13, + NBJT_G21, + NBJT_C21, + NBJT_Y21, + NBJT_G22, + NBJT_C22, + NBJT_Y22, + NBJT_G23, + NBJT_C23, + NBJT_Y23, + NBJT_G31, + NBJT_C31, + NBJT_Y31, + NBJT_G32, + NBJT_C32, + NBJT_Y32, + NBJT_G33, + NBJT_C33, + NBJT_Y33, +}; /* model parameters */ /* NOTE: all true model parameters have been moved to IFcardInfo structures */ diff --git a/src/spicelib/devices/ndev/ndevdefs.h b/src/spicelib/devices/ndev/ndevdefs.h index 8af7187ca..a7f6ff143 100644 --- a/src/spicelib/devices/ndev/ndevdefs.h +++ b/src/spicelib/devices/ndev/ndevdefs.h @@ -66,9 +66,11 @@ typedef struct sNDEVmodel { /* model structure for a diode */ /* device parameters */ #define NDEV_MODEL_FILE 1 /* model parameters */ -#define NDEV_MOD_NDEV 101 -#define NDEV_REMOTE 102 -#define NDEV_PORT 103 +enum { + NDEV_MOD_NDEV = 101, + NDEV_REMOTE, + NDEV_PORT, +}; #include "ndevext.h" diff --git a/src/spicelib/devices/numd/numddefs.h b/src/spicelib/devices/numd/numddefs.h index f44640977..e9e27b217 100644 --- a/src/spicelib/devices/numd/numddefs.h +++ b/src/spicelib/devices/numd/numddefs.h @@ -101,26 +101,27 @@ typedef struct sNUMDmodel { /* model structure for a diode */ #define NP -1 /* device parameters */ -#define NUMD_AREA 1 -#define NUMD_IC_FILE 2 -#define NUMD_OFF 3 -#define NUMD_PRINT 4 -#define NUMD_TEMP 5 -#define NUMD_VD 6 -#define NUMD_ID 7 - -#define NUMD_G11 8 -#define NUMD_C11 9 -#define NUMD_Y11 10 -#define NUMD_G12 11 -#define NUMD_C12 12 -#define NUMD_Y12 13 -#define NUMD_G21 14 -#define NUMD_C21 15 -#define NUMD_Y21 16 -#define NUMD_G22 17 -#define NUMD_C22 18 -#define NUMD_Y22 19 +enum { + NUMD_AREA = 1, + NUMD_IC_FILE, + NUMD_OFF, + NUMD_PRINT, + NUMD_TEMP, + NUMD_VD, + NUMD_ID, + NUMD_G11, + NUMD_C11, + NUMD_Y11, + NUMD_G12, + NUMD_C12, + NUMD_Y12, + NUMD_G21, + NUMD_C21, + NUMD_Y21, + NUMD_G22, + NUMD_C22, + NUMD_Y22, +}; /* model parameters */ /* NOTE: all true model parameters have been moved to IFcardInfo structures */ diff --git a/src/spicelib/devices/res/resdefs.h b/src/spicelib/devices/res/resdefs.h index 3f79e4ff8..a6e162124 100644 --- a/src/spicelib/devices/res/resdefs.h +++ b/src/spicelib/devices/res/resdefs.h @@ -17,11 +17,13 @@ Modified: 2000 AlansFixes /* indices to array of RES noise sources */ -#define RESTHNOIZ 0 /* Thermal noise source */ -#define RESFLNOIZ 1 /* Flicker noise source */ -#define RESTOTNOIZ 2 /* Total noise */ - -#define RESNSRCS 3 /* the number of RES noise sources */ +enum { + RESTHNOIZ = 0, /* Thermal noise source */ + RESFLNOIZ, /* Flicker noise source */ + RESTOTNOIZ, /* Total noise */ + /* finally, the number of noise sources */ + RESNSRCS +}; /* information used to describe a single instance */ @@ -135,52 +137,60 @@ typedef struct sRESmodel { /* model structure for a resistor */ } RESmodel; /* device parameters */ -#define RES_RESIST 1 -#define RES_WIDTH 2 -#define RES_LENGTH 3 -#define RES_CONDUCT 4 -#define RES_RESIST_SENS 5 -#define RES_CURRENT 6 -#define RES_POWER 7 -#define RES_TEMP 8 +enum { + RES_RESIST = 1, + RES_WIDTH, + RES_LENGTH, + RES_CONDUCT, + RES_RESIST_SENS, + RES_CURRENT, + RES_POWER, + RES_TEMP, +}; + /* serban */ -#define RES_ACRESIST 10 -#define RES_ACCONDUCT 11 -#define RES_M 12 /* pn */ -#define RES_SCALE 13 /* pn */ -#define RES_DTEMP 14 /* pn */ -#define RES_NOISY 15 /* pn */ -/* tanaka */ -#define RES_TC1 16 -#define RES_TC2 17 -#define RES_BV_MAX 18 -#define RES_TCE 19 +enum { + RES_ACRESIST = 10, + RES_ACCONDUCT, + RES_M, + RES_SCALE, + RES_DTEMP, + RES_NOISY, + RES_TC1, + RES_TC2, + RES_BV_MAX, + RES_TCE, +}; /* model parameters */ -#define RES_MOD_TC1 101 -#define RES_MOD_TC2 102 -#define RES_MOD_RSH 103 -#define RES_MOD_DEFWIDTH 104 -#define RES_MOD_DEFLENGTH 105 -#define RES_MOD_NARROW 106 -#define RES_MOD_R 107 -#define RES_MOD_TNOM 108 -#define RES_MOD_SHORT 109 -#define RES_MOD_KF 110 -#define RES_MOD_AF 111 -#define RES_MOD_BV_MAX 112 -#define RES_MOD_LF 113 -#define RES_MOD_WF 114 -#define RES_MOD_EF 115 -#define RES_MOD_TCE 116 +enum { + RES_MOD_TC1 = 101, + RES_MOD_TC2, + RES_MOD_RSH, + RES_MOD_DEFWIDTH, + RES_MOD_DEFLENGTH, + RES_MOD_NARROW, + RES_MOD_R, + RES_MOD_TNOM, + RES_MOD_SHORT, + RES_MOD_KF, + RES_MOD_AF, + RES_MOD_BV_MAX, + RES_MOD_LF, + RES_MOD_WF, + RES_MOD_EF, + RES_MOD_TCE, +}; /* device questions */ -#define RES_QUEST_SENS_REAL 201 -#define RES_QUEST_SENS_IMAG 202 -#define RES_QUEST_SENS_MAG 203 -#define RES_QUEST_SENS_PH 204 -#define RES_QUEST_SENS_CPLX 205 -#define RES_QUEST_SENS_DC 206 +enum { + RES_QUEST_SENS_REAL = 201, + RES_QUEST_SENS_IMAG, + RES_QUEST_SENS_MAG, + RES_QUEST_SENS_PH, + RES_QUEST_SENS_CPLX, + RES_QUEST_SENS_DC, +}; /* model questions */ diff --git a/src/spicelib/devices/soi3/soi3defs.h b/src/spicelib/devices/soi3/soi3defs.h index b8d957555..c0cd9c1fc 100644 --- a/src/spicelib/devices/soi3/soi3defs.h +++ b/src/spicelib/devices/soi3/soi3defs.h @@ -35,13 +35,15 @@ ngspice integration /* indices to the array of SOI(3) noise sources */ -#define SOI3RDNOIZ 0 -#define SOI3RSNOIZ 1 -#define SOI3IDNOIZ 2 -#define SOI3FLNOIZ 3 -#define SOI3TOTNOIZ 4 - -#define SOI3NSRCS 5 /* the number of SOI(3) noise sources */ +enum { + SOI3RDNOIZ = 0, + SOI3RSNOIZ, + SOI3IDNOIZ, + SOI3FLNOIZ, + SOI3TOTNOIZ, + /* finally, the number of noise sources */ + SOI3NSRCS +}; /* information needed for each instance */ @@ -619,212 +621,245 @@ typedef struct sSOI3model { /* model structure for an SOI3 MOSFET */ #define SOI3_W 1 #define SOI3_L 2 #define SOI3_M 25 -#define SOI3_AS 3 -#define SOI3_AD 4 -#define SOI3_AB 5 -#define SOI3_PS 6 -#define SOI3_PD 7 -#define SOI3_PB 8 -#define SOI3_NRS 9 -#define SOI3_NRD 10 -#define SOI3_OFF 11 -#define SOI3_IC 12 -#define SOI3_IC_VBS 13 -#define SOI3_IC_VDS 14 -#define SOI3_IC_VGFS 15 -#define SOI3_IC_VGBS 16 -#define SOI3_W_SENS 17 -#define SOI3_L_SENS 18 -#define SOI3_IB 19 -#define SOI3_IGF 20 -#define SOI3_IGB 21 -#define SOI3_IS 22 -#define SOI3_POWER 23 -#define SOI3_TEMP 24 +enum { + SOI3_AS = 3, + SOI3_AD, + SOI3_AB, + SOI3_PS, + SOI3_PD, + SOI3_PB, + SOI3_NRS, + SOI3_NRD, + SOI3_OFF, + SOI3_IC, + SOI3_IC_VBS, + SOI3_IC_VDS, + SOI3_IC_VGFS, + SOI3_IC_VGBS, + SOI3_W_SENS, + SOI3_L_SENS, + SOI3_IB, + SOI3_IGF, + SOI3_IGB, + SOI3_IS, + SOI3_POWER, + SOI3_TEMP, +}; /* model parameters */ #define SOI3_MOD_VTO 101 #define SOI3_MOD_VFBF 149 -#define SOI3_MOD_KP 102 -#define SOI3_MOD_GAMMA 103 -#define SOI3_MOD_PHI 104 -#define SOI3_MOD_LAMBDA 105 +enum { + SOI3_MOD_KP = 102, + SOI3_MOD_GAMMA, + SOI3_MOD_PHI, + SOI3_MOD_LAMBDA, +}; + #define SOI3_MOD_THETA 139 -#define SOI3_MOD_RD 106 -#define SOI3_MOD_RS 107 -#define SOI3_MOD_CBD 108 -#define SOI3_MOD_CBS 109 -#define SOI3_MOD_IS 110 -#define SOI3_MOD_PB 111 -#define SOI3_MOD_CGFSO 112 -#define SOI3_MOD_CGFDO 113 -#define SOI3_MOD_CGFBO 114 -#define SOI3_MOD_CGBSO 144 -#define SOI3_MOD_CGBDO 145 -#define SOI3_MOD_CGBBO 146 -#define SOI3_MOD_CJ 115 -#define SOI3_MOD_MJ 116 -#define SOI3_MOD_CJSW 117 -#define SOI3_MOD_MJSW 118 -#define SOI3_MOD_JS 119 -#define SOI3_MOD_TOF 120 +enum { + SOI3_MOD_RD = 106, + SOI3_MOD_RS, + SOI3_MOD_CBD, + SOI3_MOD_CBS, + SOI3_MOD_IS, + SOI3_MOD_PB, + SOI3_MOD_CGFSO, + SOI3_MOD_CGFDO, + SOI3_MOD_CGFBO, +}; + +enum { + SOI3_MOD_CGBSO = 144, + SOI3_MOD_CGBDO, + SOI3_MOD_CGBBO, +}; + +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_TB 134 -#define SOI3_MOD_LD 121 -#define SOI3_MOD_RSH 122 -#define SOI3_MOD_U0 123 -#define SOI3_MOD_FC 124 -#define SOI3_MOD_NSUB 125 -#define SOI3_MOD_TPG 126 +enum { + SOI3_MOD_LD = 121, + SOI3_MOD_RSH, + SOI3_MOD_U0, + SOI3_MOD_FC, + SOI3_MOD_NSUB, + SOI3_MOD_TPG, +}; + #define SOI3_MOD_NQFF 147 #define SOI3_MOD_NQFB 148 #define SOI3_MOD_NSSF 127 #define SOI3_MOD_NSSB 135 -#define SOI3_MOD_NSOI3 128 -#define SOI3_MOD_PSOI3 129 -#define SOI3_MOD_TNOM 130 -#define SOI3_MOD_KF 131 -#define SOI3_MOD_AF 132 +enum { + SOI3_MOD_NSOI3 = 128, + SOI3_MOD_PSOI3, + SOI3_MOD_TNOM, + SOI3_MOD_KF, + SOI3_MOD_AF, +}; + #define SOI3_MOD_KOX 142 #define SOI3_MOD_SHSI 143 /* extra stuff for newer model - msll Jan96 */ -#define SOI3_MOD_SIGMA 150 -#define SOI3_MOD_CHIFB 151 -#define SOI3_MOD_CHIPHI 152 -#define SOI3_MOD_DELTAW 153 -#define SOI3_MOD_DELTAL 154 -#define SOI3_MOD_VSAT 155 -#define SOI3_MOD_K 156 -#define SOI3_MOD_LX 157 -#define SOI3_MOD_VP 158 -#define SOI3_MOD_ETA 159 +enum { + SOI3_MOD_SIGMA = 150, + SOI3_MOD_CHIFB, + SOI3_MOD_CHIPHI, + SOI3_MOD_DELTAW, + SOI3_MOD_DELTAL, + SOI3_MOD_VSAT, + SOI3_MOD_K, + SOI3_MOD_LX, + SOI3_MOD_VP, + SOI3_MOD_ETA, +}; + #define SOI3_MOD_ALPHA0 140 #define SOI3_MOD_BETA0 141 -#define SOI3_MOD_LM 160 -#define SOI3_MOD_LM1 161 -#define SOI3_MOD_LM2 162 -#define SOI3_MOD_ETAD 163 -#define SOI3_MOD_ETAD1 164 -#define SOI3_MOD_IS1 165 -#define SOI3_MOD_JS1 166 -#define SOI3_MOD_CHIBETA 167 -#define SOI3_MOD_VFBB 168 -#define SOI3_MOD_GAMMAB 169 -#define SOI3_MOD_CHID 170 -#define SOI3_MOD_CHID1 171 -#define SOI3_MOD_DVT 172 -#define SOI3_MOD_NLEV 173 -#define SOI3_MOD_BETABJT 174 -#define SOI3_MOD_TAUFBJT 176 -#define SOI3_MOD_TAURBJT 177 -#define SOI3_MOD_BETAEXP 178 -#define SOI3_MOD_TAUEXP 179 -#define SOI3_MOD_RSW 180 -#define SOI3_MOD_RDW 181 -#define SOI3_MOD_FMIN 382 -#define SOI3_MOD_VTEX 383 -#define SOI3_MOD_VDEX 384 -#define SOI3_MOD_DELTA0 385 -#define SOI3_MOD_CSF 386 -#define SOI3_MOD_DSI 387 -#define SOI3_MOD_NPLUS 388 -#define SOI3_MOD_RTA 389 -#define SOI3_MOD_CTA 390 -#define SOI3_MOD_MEXP 391 +enum { + SOI3_MOD_LM = 160, + SOI3_MOD_LM1, + SOI3_MOD_LM2, + SOI3_MOD_ETAD, + SOI3_MOD_ETAD1, + SOI3_MOD_IS1, + SOI3_MOD_JS1, + SOI3_MOD_CHIBETA, + SOI3_MOD_VFBB, + SOI3_MOD_GAMMAB, + SOI3_MOD_CHID, + SOI3_MOD_CHID1, + SOI3_MOD_DVT, + SOI3_MOD_NLEV, + SOI3_MOD_BETABJT, +}; + +enum { + SOI3_MOD_TAUFBJT = 176, + SOI3_MOD_TAURBJT, + SOI3_MOD_BETAEXP, + SOI3_MOD_TAUEXP, + SOI3_MOD_RSW, + SOI3_MOD_RDW, +}; + +enum { + SOI3_MOD_FMIN = 382, + SOI3_MOD_VTEX, + 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 */ -#define SOI3_DNODE 201 -#define SOI3_GFNODE 202 -#define SOI3_SNODE 203 -#define SOI3_GBNODE 204 -#define SOI3_BNODE 205 -#define SOI3_DNODEPRIME 206 -#define SOI3_SNODEPRIME 207 -#define SOI3_TNODE 208 -#define SOI3_BRANCH 209 -#define SOI3_SOURCECONDUCT 210 -#define SOI3_DRAINCONDUCT 211 -#define SOI3_VON 212 -#define SOI3_VFBF 213 -#define SOI3_VDSAT 214 -#define SOI3_SOURCEVCRIT 215 -#define SOI3_DRAINVCRIT 216 -#define SOI3_ID 217 -#define SOI3_IBS 218 -#define SOI3_IBD 219 -#define SOI3_GMBS 220 -#define SOI3_GMF 221 -#define SOI3_GMB 222 -#define SOI3_GDS 223 -#define SOI3_GBD 224 -#define SOI3_GBS 225 -#define SOI3_CAPBD 226 -#define SOI3_CAPBS 227 -#define SOI3_CAPZEROBIASBD 228 -#define SOI3_CAPZEROBIASBDSW 229 -#define SOI3_CAPZEROBIASBS 230 -#define SOI3_CAPZEROBIASBSSW 231 -#define SOI3_VBD 232 -#define SOI3_VBS 233 -#define SOI3_VGFS 234 -#define SOI3_VGBS 235 -#define SOI3_VDS 236 -#define SOI3_QGF 237 -#define SOI3_IQGF 238 -#define SOI3_QGB 239 -#define SOI3_IQGB 240 -#define SOI3_QD 241 -#define SOI3_IQD 242 -#define SOI3_QS 243 -#define SOI3_IQS 244 -#define SOI3_QBD 245 -#define SOI3_IQBD 246 -#define SOI3_QBS 247 -#define SOI3_IQBS 248 -#define SOI3_CGFGF 249 -#define SOI3_CGFD 250 -#define SOI3_CGFS 251 -#define SOI3_CGFDELTAT 252 -#define SOI3_CGFGB 253 -#define SOI3_CDGF 254 -#define SOI3_CDD 255 -#define SOI3_CDS 256 -#define SOI3_CDDELTAT 257 -#define SOI3_CDGB 258 -#define SOI3_CSGF 259 -#define SOI3_CSD 260 -#define SOI3_CSS 261 -#define SOI3_CSDELTAT 262 -#define SOI3_CSGB 263 -#define SOI3_CGBGF 264 -#define SOI3_CGBD 265 -#define SOI3_CGBS 266 -#define SOI3_CGBDELTAT 267 -#define SOI3_CGBGB 268 -#define SOI3_L_SENS_REAL 269 -#define SOI3_L_SENS_IMAG 270 -#define SOI3_L_SENS_MAG 271 -#define SOI3_L_SENS_PH 272 -#define SOI3_L_SENS_CPLX 273 -#define SOI3_W_SENS_REAL 274 -#define SOI3_W_SENS_IMAG 275 -#define SOI3_W_SENS_MAG 276 -#define SOI3_W_SENS_PH 277 -#define SOI3_W_SENS_CPLX 278 -#define SOI3_L_SENS_DC 279 -#define SOI3_W_SENS_DC 280 -#define SOI3_RT 281 -#define SOI3_CT 282 -#define SOI3_VFBB 283 -#define SOI3_RT1 284 -#define SOI3_CT1 285 -#define SOI3_RT2 286 -#define SOI3_CT2 287 -#define SOI3_RT3 288 -#define SOI3_CT3 289 -#define SOI3_RT4 290 -#define SOI3_CT4 291 -#define SOI3_ITOT 292 +enum { + SOI3_DNODE = 201, + SOI3_GFNODE, + SOI3_SNODE, + SOI3_GBNODE, + SOI3_BNODE, + SOI3_DNODEPRIME, + SOI3_SNODEPRIME, + SOI3_TNODE, + SOI3_BRANCH, + SOI3_SOURCECONDUCT, + SOI3_DRAINCONDUCT, + SOI3_VON, + SOI3_VFBF, + SOI3_VDSAT, + SOI3_SOURCEVCRIT, + SOI3_DRAINVCRIT, + SOI3_ID, + SOI3_IBS, + SOI3_IBD, + SOI3_GMBS, + SOI3_GMF, + SOI3_GMB, + SOI3_GDS, + SOI3_GBD, + SOI3_GBS, + SOI3_CAPBD, + SOI3_CAPBS, + SOI3_CAPZEROBIASBD, + SOI3_CAPZEROBIASBDSW, + SOI3_CAPZEROBIASBS, + SOI3_CAPZEROBIASBSSW, + SOI3_VBD, + SOI3_VBS, + SOI3_VGFS, + SOI3_VGBS, + SOI3_VDS, + SOI3_QGF, + SOI3_IQGF, + SOI3_QGB, + SOI3_IQGB, + SOI3_QD, + SOI3_IQD, + SOI3_QS, + SOI3_IQS, + SOI3_QBD, + SOI3_IQBD, + SOI3_QBS, + SOI3_IQBS, + SOI3_CGFGF, + SOI3_CGFD, + SOI3_CGFS, + SOI3_CGFDELTAT, + SOI3_CGFGB, + SOI3_CDGF, + SOI3_CDD, + SOI3_CDS, + SOI3_CDDELTAT, + SOI3_CDGB, + SOI3_CSGF, + SOI3_CSD, + SOI3_CSS, + SOI3_CSDELTAT, + SOI3_CSGB, + SOI3_CGBGF, + SOI3_CGBD, + SOI3_CGBS, + SOI3_CGBDELTAT, + SOI3_CGBGB, + SOI3_L_SENS_REAL, + SOI3_L_SENS_IMAG, + SOI3_L_SENS_MAG, + SOI3_L_SENS_PH, + SOI3_L_SENS_CPLX, + SOI3_W_SENS_REAL, + SOI3_W_SENS_IMAG, + SOI3_W_SENS_MAG, + SOI3_W_SENS_PH, + SOI3_W_SENS_CPLX, + SOI3_L_SENS_DC, + SOI3_W_SENS_DC, + SOI3_RT, + SOI3_CT, + SOI3_VFBB, + SOI3_RT1, + SOI3_CT1, + SOI3_RT2, + SOI3_CT2, + SOI3_RT3, + SOI3_CT3, + SOI3_RT4, + SOI3_CT4, + SOI3_ITOT, +}; /* model questions */ diff --git a/src/spicelib/devices/sw/swdefs.h b/src/spicelib/devices/sw/swdefs.h index 981abe1e6..a0df78a8d 100644 --- a/src/spicelib/devices/sw/swdefs.h +++ b/src/spicelib/devices/sw/swdefs.h @@ -84,23 +84,27 @@ typedef struct sSWmodel { /* model structure for a switch */ } SWmodel; /* device parameters */ -#define SW_IC_ON 1 -#define SW_IC_OFF 2 -#define SW_POS_NODE 3 -#define SW_NEG_NODE 4 -#define SW_POS_CONT_NODE 5 -#define SW_NEG_CONT_NODE 6 -#define SW_CURRENT 7 -#define SW_POWER 8 +enum { + SW_IC_ON = 1, + SW_IC_OFF, + SW_POS_NODE, + SW_NEG_NODE, + SW_POS_CONT_NODE, + SW_NEG_CONT_NODE, + SW_CURRENT, + SW_POWER, +}; /* model parameters */ -#define SW_MOD_SW 101 -#define SW_MOD_RON 102 -#define SW_MOD_ROFF 103 -#define SW_MOD_VTH 104 -#define SW_MOD_VHYS 105 -#define SW_MOD_GON 106 -#define SW_MOD_GOFF 107 +enum { + SW_MOD_SW = 101, + SW_MOD_RON, + SW_MOD_ROFF, + SW_MOD_VTH, + SW_MOD_VHYS, + SW_MOD_GON, + SW_MOD_GOFF, +}; /* device questions */ diff --git a/src/spicelib/devices/tra/tradefs.h b/src/spicelib/devices/tra/tradefs.h index d90448f55..3c6617947 100644 --- a/src/spicelib/devices/tra/tradefs.h +++ b/src/spicelib/devices/tra/tradefs.h @@ -100,28 +100,30 @@ typedef struct sTRAmodel { /* model structure for a transmission lines */ } TRAmodel; /* device parameters */ -#define TRA_Z0 1 -#define TRA_TD 2 -#define TRA_NL 3 -#define TRA_FREQ 4 -#define TRA_V1 5 -#define TRA_I1 6 -#define TRA_V2 7 -#define TRA_I2 8 -#define TRA_IC 9 -#define TRA_RELTOL 10 -#define TRA_ABSTOL 11 -#define TRA_POS_NODE1 12 -#define TRA_NEG_NODE1 13 -#define TRA_POS_NODE2 14 -#define TRA_NEG_NODE2 15 -#define TRA_INPUT1 16 -#define TRA_INPUT2 17 -#define TRA_DELAY 18 -#define TRA_BR_EQ1 19 -#define TRA_BR_EQ2 20 -#define TRA_INT_NODE1 21 -#define TRA_INT_NODE2 22 +enum { + TRA_Z0 = 1, + TRA_TD, + TRA_NL, + TRA_FREQ, + TRA_V1, + TRA_I1, + TRA_V2, + TRA_I2, + TRA_IC, + TRA_RELTOL, + TRA_ABSTOL, + TRA_POS_NODE1, + TRA_NEG_NODE1, + TRA_POS_NODE2, + TRA_NEG_NODE2, + TRA_INPUT1, + TRA_INPUT2, + TRA_DELAY, + TRA_BR_EQ1, + TRA_BR_EQ2, + TRA_INT_NODE1, + TRA_INT_NODE2, +}; /* model parameters */ diff --git a/src/spicelib/devices/txl/txldefs.h b/src/spicelib/devices/txl/txldefs.h index ccdba9838..3fd7207a6 100644 --- a/src/spicelib/devices/txl/txldefs.h +++ b/src/spicelib/devices/txl/txldefs.h @@ -78,17 +78,21 @@ typedef struct sTXLmodel { /* model structure for a txl */ } TXLmodel; /* instance parameters */ -#define TXL_IN_NODE 1 -#define TXL_OUT_NODE 2 -#define TXL_LENGTH 3 +enum { + TXL_IN_NODE = 1, + TXL_OUT_NODE, + TXL_LENGTH, +}; /* model parameters */ -#define TXL_R 101 -#define TXL_C 102 -#define TXL_G 103 -#define TXL_L 104 -#define TXL_length 105 -#define TXL_MOD_R 106 +enum { + TXL_R = 101, + TXL_C, + TXL_G, + TXL_L, + TXL_length, + TXL_MOD_R, +}; #include "txlext.h" extern VI_list_txl *pool_vi_txl; diff --git a/src/spicelib/devices/urc/urcdefs.h b/src/spicelib/devices/urc/urcdefs.h index 7f96c1716..3dddbd82f 100644 --- a/src/spicelib/devices/urc/urcdefs.h +++ b/src/spicelib/devices/urc/urcdefs.h @@ -63,20 +63,24 @@ typedef struct sURCmodel { /* model structure for a resistor */ } URCmodel; /* device parameters */ -#define URC_LEN 1 -#define URC_LUMPS 2 -#define URC_POS_NODE 3 -#define URC_NEG_NODE 4 -#define URC_GND_NODE 5 +enum { + URC_LEN = 1, + URC_LUMPS, + URC_POS_NODE, + URC_NEG_NODE, + URC_GND_NODE, +}; /* model parameters */ -#define URC_MOD_K 101 -#define URC_MOD_FMAX 102 -#define URC_MOD_RPERL 103 -#define URC_MOD_CPERL 104 -#define URC_MOD_ISPERL 105 -#define URC_MOD_RSPERL 106 -#define URC_MOD_URC 107 +enum { + URC_MOD_K = 101, + URC_MOD_FMAX, + URC_MOD_RPERL, + URC_MOD_CPERL, + URC_MOD_ISPERL, + URC_MOD_RSPERL, + URC_MOD_URC, +}; /* device questions */ diff --git a/src/spicelib/devices/vbic/vbicdefs.h b/src/spicelib/devices/vbic/vbicdefs.h index c8e4a1c29..33e1414d7 100644 --- a/src/spicelib/devices/vbic/vbicdefs.h +++ b/src/spicelib/devices/vbic/vbicdefs.h @@ -18,22 +18,24 @@ Spice3 Implementation: 2003 Dietmar Warning DAnalyse GmbH /* indices to array of VBIC noise sources */ -#define VBICRCNOIZ 0 -#define VBICRCINOIZ 1 -#define VBICRBNOIZ 2 -#define VBICRBINOIZ 3 -#define VBICRENOIZ 4 -#define VBICRBPNOIZ 5 -#define VBICRSNOIZ 6 -#define VBICICNOIZ 7 -#define VBICIBNOIZ 8 -#define VBICIBEPNOIZ 9 -#define VBICICCPNOIZ 10 -#define VBICFLBENOIZ 11 -#define VBICFLBEPNOIZ 12 -#define VBICTOTNOIZ 13 - -#define VBICNSRCS 14 /* the number of VBIC noise sources */ +enum { + VBICRCNOIZ = 0, + VBICRCINOIZ, + VBICRBNOIZ, + VBICRBINOIZ, + VBICRENOIZ, + VBICRBPNOIZ, + VBICRSNOIZ, + VBICICNOIZ, + VBICIBNOIZ, + VBICIBEPNOIZ, + VBICICCPNOIZ, + VBICFLBENOIZ, + VBICFLBEPNOIZ, + VBICTOTNOIZ, + /* finally, the number of noise sources */ + VBICNSRCS +}; /* data needed to describe a single instance */ @@ -603,190 +605,197 @@ typedef struct sVBICmodel { /* model structure for a vbic */ #endif /*NPN*/ /* device parameters */ -#define VBIC_AREA 1 -#define VBIC_OFF 2 -#define VBIC_IC 3 -#define VBIC_IC_VBE 4 -#define VBIC_IC_VCE 5 -#define VBIC_TEMP 6 -#define VBIC_DTEMP 7 -#define VBIC_M 8 +enum { + VBIC_AREA = 1, + VBIC_OFF, + VBIC_IC, + VBIC_IC_VBE, + VBIC_IC_VCE, + VBIC_TEMP, + VBIC_DTEMP, + VBIC_M, +}; /* model parameters */ -#define VBIC_MOD_NPN 101 -#define VBIC_MOD_PNP 102 -#define VBIC_MOD_TNOM 103 -#define VBIC_MOD_RCX 104 -#define VBIC_MOD_RCI 105 -#define VBIC_MOD_VO 106 -#define VBIC_MOD_GAMM 107 -#define VBIC_MOD_HRCF 108 -#define VBIC_MOD_RBX 109 -#define VBIC_MOD_RBI 110 -#define VBIC_MOD_RE 111 -#define VBIC_MOD_RS 112 -#define VBIC_MOD_RBP 113 -#define VBIC_MOD_IS 114 -#define VBIC_MOD_NF 115 -#define VBIC_MOD_NR 116 -#define VBIC_MOD_FC 117 -#define VBIC_MOD_CBEO 118 -#define VBIC_MOD_CJE 119 -#define VBIC_MOD_PE 120 -#define VBIC_MOD_ME 121 -#define VBIC_MOD_AJE 122 -#define VBIC_MOD_CBCO 123 -#define VBIC_MOD_CJC 124 -#define VBIC_MOD_QCO 125 -#define VBIC_MOD_CJEP 126 -#define VBIC_MOD_PC 127 -#define VBIC_MOD_MC 128 -#define VBIC_MOD_AJC 129 -#define VBIC_MOD_CJCP 130 -#define VBIC_MOD_PS 131 -#define VBIC_MOD_MS 132 -#define VBIC_MOD_AJS 133 -#define VBIC_MOD_IBEI 134 -#define VBIC_MOD_WBE 135 -#define VBIC_MOD_NEI 136 -#define VBIC_MOD_IBEN 137 -#define VBIC_MOD_NEN 138 -#define VBIC_MOD_IBCI 139 -#define VBIC_MOD_NCI 140 -#define VBIC_MOD_IBCN 141 -#define VBIC_MOD_NCN 142 -#define VBIC_MOD_AVC1 143 -#define VBIC_MOD_AVC2 144 -#define VBIC_MOD_ISP 145 -#define VBIC_MOD_WSP 146 -#define VBIC_MOD_NFP 147 -#define VBIC_MOD_IBEIP 148 -#define VBIC_MOD_IBENP 149 -#define VBIC_MOD_IBCIP 150 -#define VBIC_MOD_NCIP 151 -#define VBIC_MOD_IBCNP 152 -#define VBIC_MOD_NCNP 153 -#define VBIC_MOD_VEF 154 -#define VBIC_MOD_VER 155 -#define VBIC_MOD_IKF 156 -#define VBIC_MOD_IKR 157 -#define VBIC_MOD_IKP 158 -#define VBIC_MOD_TF 159 -#define VBIC_MOD_QTF 160 -#define VBIC_MOD_XTF 161 -#define VBIC_MOD_VTF 162 -#define VBIC_MOD_ITF 163 -#define VBIC_MOD_TR 164 -#define VBIC_MOD_TD 165 -#define VBIC_MOD_KFN 166 -#define VBIC_MOD_AFN 167 -#define VBIC_MOD_BFN 168 -#define VBIC_MOD_XRE 169 -#define VBIC_MOD_XRB 170 -#define VBIC_MOD_XRBI 171 -#define VBIC_MOD_XRC 172 -#define VBIC_MOD_XRCI 173 -#define VBIC_MOD_XRS 174 -#define VBIC_MOD_XVO 175 -#define VBIC_MOD_EA 176 -#define VBIC_MOD_EAIE 177 -#define VBIC_MOD_EAIC 178 -#define VBIC_MOD_EAIS 179 -#define VBIC_MOD_EANE 180 -#define VBIC_MOD_EANC 181 -#define VBIC_MOD_EANS 182 -#define VBIC_MOD_XIS 183 -#define VBIC_MOD_XII 184 -#define VBIC_MOD_XIN 185 -#define VBIC_MOD_TNF 186 -#define VBIC_MOD_TAVC 187 -#define VBIC_MOD_RTH 188 -#define VBIC_MOD_CTH 189 -#define VBIC_MOD_VRT 190 -#define VBIC_MOD_ART 191 -#define VBIC_MOD_CCSO 192 -#define VBIC_MOD_QBM 193 -#define VBIC_MOD_NKF 194 -#define VBIC_MOD_XIKF 195 -#define VBIC_MOD_XRCX 196 -#define VBIC_MOD_XRBX 197 -#define VBIC_MOD_XRBP 198 -#define VBIC_MOD_ISRR 199 -#define VBIC_MOD_XISR 200 -#define VBIC_MOD_DEAR 201 -#define VBIC_MOD_EAP 202 -#define VBIC_MOD_VBBE 203 -#define VBIC_MOD_NBBE 204 -#define VBIC_MOD_IBBE 205 -#define VBIC_MOD_TVBBE1 206 -#define VBIC_MOD_TVBBE2 207 -#define VBIC_MOD_TNBBE 208 -#define VBIC_MOD_EBBE 209 -#define VBIC_MOD_DTEMP 210 -#define VBIC_MOD_VERS 211 -#define VBIC_MOD_VREF 212 -#define VBIC_MOD_VBE_MAX 213 -#define VBIC_MOD_VBC_MAX 214 -#define VBIC_MOD_VCE_MAX 215 - - +enum { + VBIC_MOD_NPN = 101, + VBIC_MOD_PNP, + VBIC_MOD_TNOM, + VBIC_MOD_RCX, + VBIC_MOD_RCI, + VBIC_MOD_VO, + VBIC_MOD_GAMM, + VBIC_MOD_HRCF, + VBIC_MOD_RBX, + VBIC_MOD_RBI, + VBIC_MOD_RE, + VBIC_MOD_RS, + VBIC_MOD_RBP, + VBIC_MOD_IS, + VBIC_MOD_NF, + VBIC_MOD_NR, + VBIC_MOD_FC, + VBIC_MOD_CBEO, + VBIC_MOD_CJE, + VBIC_MOD_PE, + VBIC_MOD_ME, + VBIC_MOD_AJE, + VBIC_MOD_CBCO, + VBIC_MOD_CJC, + VBIC_MOD_QCO, + VBIC_MOD_CJEP, + VBIC_MOD_PC, + VBIC_MOD_MC, + VBIC_MOD_AJC, + VBIC_MOD_CJCP, + VBIC_MOD_PS, + VBIC_MOD_MS, + VBIC_MOD_AJS, + VBIC_MOD_IBEI, + VBIC_MOD_WBE, + VBIC_MOD_NEI, + VBIC_MOD_IBEN, + VBIC_MOD_NEN, + VBIC_MOD_IBCI, + VBIC_MOD_NCI, + VBIC_MOD_IBCN, + VBIC_MOD_NCN, + VBIC_MOD_AVC1, + VBIC_MOD_AVC2, + VBIC_MOD_ISP, + VBIC_MOD_WSP, + VBIC_MOD_NFP, + VBIC_MOD_IBEIP, + VBIC_MOD_IBENP, + VBIC_MOD_IBCIP, + VBIC_MOD_NCIP, + VBIC_MOD_IBCNP, + VBIC_MOD_NCNP, + VBIC_MOD_VEF, + VBIC_MOD_VER, + VBIC_MOD_IKF, + VBIC_MOD_IKR, + VBIC_MOD_IKP, + VBIC_MOD_TF, + VBIC_MOD_QTF, + VBIC_MOD_XTF, + VBIC_MOD_VTF, + VBIC_MOD_ITF, + VBIC_MOD_TR, + VBIC_MOD_TD, + VBIC_MOD_KFN, + VBIC_MOD_AFN, + VBIC_MOD_BFN, + VBIC_MOD_XRE, + VBIC_MOD_XRB, + VBIC_MOD_XRBI, + VBIC_MOD_XRC, + VBIC_MOD_XRCI, + VBIC_MOD_XRS, + VBIC_MOD_XVO, + VBIC_MOD_EA, + VBIC_MOD_EAIE, + VBIC_MOD_EAIC, + VBIC_MOD_EAIS, + VBIC_MOD_EANE, + VBIC_MOD_EANC, + VBIC_MOD_EANS, + VBIC_MOD_XIS, + VBIC_MOD_XII, + VBIC_MOD_XIN, + VBIC_MOD_TNF, + VBIC_MOD_TAVC, + VBIC_MOD_RTH, + VBIC_MOD_CTH, + VBIC_MOD_VRT, + VBIC_MOD_ART, + VBIC_MOD_CCSO, + VBIC_MOD_QBM, + VBIC_MOD_NKF, + VBIC_MOD_XIKF, + VBIC_MOD_XRCX, + VBIC_MOD_XRBX, + VBIC_MOD_XRBP, + VBIC_MOD_ISRR, + VBIC_MOD_XISR, + VBIC_MOD_DEAR, + VBIC_MOD_EAP, + VBIC_MOD_VBBE, + VBIC_MOD_NBBE, + VBIC_MOD_IBBE, + VBIC_MOD_TVBBE1, + VBIC_MOD_TVBBE2, + VBIC_MOD_TNBBE, + VBIC_MOD_EBBE, + VBIC_MOD_DTEMP, + VBIC_MOD_VERS, + VBIC_MOD_VREF, + VBIC_MOD_VBE_MAX, + VBIC_MOD_VBC_MAX, + VBIC_MOD_VCE_MAX, +}; + /* device questions */ -#define VBIC_QUEST_FT 221 -#define VBIC_QUEST_COLLNODE 222 -#define VBIC_QUEST_BASENODE 223 -#define VBIC_QUEST_EMITNODE 224 -#define VBIC_QUEST_SUBSNODE 225 -#define VBIC_QUEST_COLLCXNODE 226 -#define VBIC_QUEST_COLLCINODE 227 -#define VBIC_QUEST_BASEBXNODE 228 -#define VBIC_QUEST_BASEBINODE 229 -#define VBIC_QUEST_BASEBPNODE 230 -#define VBIC_QUEST_EMITEINODE 231 -#define VBIC_QUEST_SUBSSINODE 232 -#define VBIC_QUEST_VBE 233 -#define VBIC_QUEST_VBC 234 -#define VBIC_QUEST_CC 235 -#define VBIC_QUEST_CB 236 -#define VBIC_QUEST_CE 237 -#define VBIC_QUEST_CS 238 -#define VBIC_QUEST_GM 239 -#define VBIC_QUEST_GO 240 -#define VBIC_QUEST_GPI 241 -#define VBIC_QUEST_GMU 242 -#define VBIC_QUEST_GX 243 -#define VBIC_QUEST_QBE 244 -#define VBIC_QUEST_CQBE 245 -#define VBIC_QUEST_QBC 246 -#define VBIC_QUEST_CQBC 247 -#define VBIC_QUEST_QBX 248 -#define VBIC_QUEST_CQBX 249 -#define VBIC_QUEST_QBCP 250 -#define VBIC_QUEST_CQBCP 251 -#define VBIC_QUEST_CEXBC 252 -#define VBIC_QUEST_GEQCB 253 -#define VBIC_QUEST_GCSUB 254 -#define VBIC_QUEST_GDSUB 255 -#define VBIC_QUEST_GEQBX 256 -#define VBIC_QUEST_CBE 257 -#define VBIC_QUEST_CBEX 258 -#define VBIC_QUEST_CBC 259 -#define VBIC_QUEST_CBCX 260 -#define VBIC_QUEST_CBEP 261 -#define VBIC_QUEST_CBCP 262 -#define VBIC_QUEST_SENS_REAL 263 -#define VBIC_QUEST_SENS_IMAG 264 -#define VBIC_QUEST_SENS_MAG 265 -#define VBIC_QUEST_SENS_PH 266 -#define VBIC_QUEST_SENS_CPLX 267 -#define VBIC_QUEST_SENS_DC 268 -#define VBIC_QUEST_POWER 269 +enum { + VBIC_QUEST_FT = 221, + VBIC_QUEST_COLLNODE, + VBIC_QUEST_BASENODE, + VBIC_QUEST_EMITNODE, + VBIC_QUEST_SUBSNODE, + VBIC_QUEST_COLLCXNODE, + VBIC_QUEST_COLLCINODE, + VBIC_QUEST_BASEBXNODE, + VBIC_QUEST_BASEBINODE, + VBIC_QUEST_BASEBPNODE, + VBIC_QUEST_EMITEINODE, + VBIC_QUEST_SUBSSINODE, + VBIC_QUEST_VBE, + VBIC_QUEST_VBC, + VBIC_QUEST_CC, + VBIC_QUEST_CB, + VBIC_QUEST_CE, + VBIC_QUEST_CS, + VBIC_QUEST_GM, + VBIC_QUEST_GO, + VBIC_QUEST_GPI, + VBIC_QUEST_GMU, + VBIC_QUEST_GX, + VBIC_QUEST_QBE, + VBIC_QUEST_CQBE, + VBIC_QUEST_QBC, + VBIC_QUEST_CQBC, + VBIC_QUEST_QBX, + VBIC_QUEST_CQBX, + VBIC_QUEST_QBCP, + VBIC_QUEST_CQBCP, + VBIC_QUEST_CEXBC, + VBIC_QUEST_GEQCB, + VBIC_QUEST_GCSUB, + VBIC_QUEST_GDSUB, + VBIC_QUEST_GEQBX, + VBIC_QUEST_CBE, + VBIC_QUEST_CBEX, + VBIC_QUEST_CBC, + VBIC_QUEST_CBCX, + VBIC_QUEST_CBEP, + VBIC_QUEST_CBCP, + VBIC_QUEST_SENS_REAL, + VBIC_QUEST_SENS_IMAG, + VBIC_QUEST_SENS_MAG, + VBIC_QUEST_SENS_PH, + VBIC_QUEST_SENS_CPLX, + VBIC_QUEST_SENS_DC, + VBIC_QUEST_POWER, +}; /* model questions */ -#define VBIC_MOD_COLLCONDUCT 301 -#define VBIC_MOD_BASECONDUCT 302 -#define VBIC_MOD_EMITTERCONDUCT 303 -#define VBIC_MOD_SUBSTRATECONDUCT 304 -#define VBIC_MOD_TYPE 305 +enum { + VBIC_MOD_COLLCONDUCT = 301, + VBIC_MOD_BASECONDUCT, + VBIC_MOD_EMITTERCONDUCT, + VBIC_MOD_SUBSTRATECONDUCT, + VBIC_MOD_TYPE, +}; #include "vbicext.h" #endif /*VBIC*/ diff --git a/src/spicelib/devices/vccs/vccsdefs.h b/src/spicelib/devices/vccs/vccsdefs.h index 3b9d9cde5..dfe146852 100644 --- a/src/spicelib/devices/vccs/vccsdefs.h +++ b/src/spicelib/devices/vccs/vccsdefs.h @@ -68,28 +68,32 @@ typedef struct sVCCSmodel { /* model structure for a source */ } VCCSmodel; /* device parameters */ -#define VCCS_TRANS 1 -#define VCCS_IC 2 -#define VCCS_POS_NODE 3 -#define VCCS_NEG_NODE 4 -#define VCCS_CONT_P_NODE 5 -#define VCCS_CONT_N_NODE 6 -#define VCCS_CONT_V_OLD 7 -#define VCCS_TRANS_SENS 8 -#define VCCS_CURRENT 9 -#define VCCS_POWER 10 -#define VCCS_VOLTS 11 -#define VCCS_M 12 +enum { + VCCS_TRANS = 1, + VCCS_IC, + VCCS_POS_NODE, + VCCS_NEG_NODE, + VCCS_CONT_P_NODE, + VCCS_CONT_N_NODE, + VCCS_CONT_V_OLD, + VCCS_TRANS_SENS, + VCCS_CURRENT, + VCCS_POWER, + VCCS_VOLTS, + VCCS_M, +}; /* model parameters */ /* device questions */ -#define VCCS_QUEST_SENS_REAL 201 -#define VCCS_QUEST_SENS_IMAG 202 -#define VCCS_QUEST_SENS_MAG 203 -#define VCCS_QUEST_SENS_PH 204 -#define VCCS_QUEST_SENS_CPLX 205 -#define VCCS_QUEST_SENS_DC 206 +enum { + VCCS_QUEST_SENS_REAL = 201, + VCCS_QUEST_SENS_IMAG, + VCCS_QUEST_SENS_MAG, + VCCS_QUEST_SENS_PH, + VCCS_QUEST_SENS_CPLX, + VCCS_QUEST_SENS_DC, +}; /* model questions */ diff --git a/src/spicelib/devices/vcvs/vcvsdefs.h b/src/spicelib/devices/vcvs/vcvsdefs.h index a2c36874e..07f0bbdf5 100644 --- a/src/spicelib/devices/vcvs/vcvsdefs.h +++ b/src/spicelib/devices/vcvs/vcvsdefs.h @@ -72,28 +72,32 @@ typedef struct sVCVSmodel { /* model structure for a source */ } VCVSmodel; /* device parameters */ -#define VCVS_GAIN 1 -#define VCVS_POS_NODE 2 -#define VCVS_NEG_NODE 3 -#define VCVS_CONT_P_NODE 4 -#define VCVS_CONT_N_NODE 5 -#define VCVS_BR 6 -#define VCVS_IC 7 -#define VCVS_CONT_V_OLD 8 -#define VCVS_GAIN_SENS 9 -#define VCVS_CURRENT 10 -#define VCVS_POWER 11 -#define VCVS_VOLTS 12 +enum { + VCVS_GAIN = 1, + VCVS_POS_NODE, + VCVS_NEG_NODE, + VCVS_CONT_P_NODE, + VCVS_CONT_N_NODE, + VCVS_BR, + VCVS_IC, + VCVS_CONT_V_OLD, + VCVS_GAIN_SENS, + VCVS_CURRENT, + VCVS_POWER, + VCVS_VOLTS, +}; /* model parameters */ /* device questions */ -#define VCVS_QUEST_SENS_REAL 201 -#define VCVS_QUEST_SENS_IMAG 202 -#define VCVS_QUEST_SENS_MAG 203 -#define VCVS_QUEST_SENS_PH 204 -#define VCVS_QUEST_SENS_CPLX 205 -#define VCVS_QUEST_SENS_DC 206 +enum { + VCVS_QUEST_SENS_REAL = 201, + VCVS_QUEST_SENS_IMAG, + VCVS_QUEST_SENS_MAG, + VCVS_QUEST_SENS_PH, + VCVS_QUEST_SENS_CPLX, + VCVS_QUEST_SENS_DC, +}; /* model questions */ diff --git a/src/spicelib/devices/vsrc/vsrcdefs.h b/src/spicelib/devices/vsrc/vsrcdefs.h index 0a7a707df..784c7c05c 100644 --- a/src/spicelib/devices/vsrc/vsrcdefs.h +++ b/src/spicelib/devices/vsrc/vsrcdefs.h @@ -96,46 +96,50 @@ typedef struct sVSRCmodel { /* source function types (shared with current sources) */ #ifndef PULSE_FUN_TYPES #define PULSE_FUN_TYPES -#define PULSE 1 -#define SINE 2 -#define EXP 3 -#define SFFM 4 -#define PWL 5 -#define AM 6 -#define TRNOISE 7 -#define TRRANDOM 8 -#define EXTERNAL 9 +enum { + PULSE = 1, + SINE, + EXP, + SFFM, + PWL, + AM, + TRNOISE, + TRRANDOM, + EXTERNAL, +}; + #endif /* device parameters */ -#define VSRC_DC 1 -#define VSRC_AC 2 -#define VSRC_AC_MAG 3 -#define VSRC_AC_PHASE 4 -#define VSRC_PULSE 5 -#define VSRC_SINE 6 -#define VSRC_EXP 7 -#define VSRC_PWL 8 -#define VSRC_SFFM 9 -#define VSRC_BR 10 -#define VSRC_FCN_TYPE 11 -#define VSRC_FCN_ORDER 12 -#define VSRC_FCN_COEFFS 13 -#define VSRC_AC_REAL 14 -#define VSRC_AC_IMAG 15 -#define VSRC_POS_NODE 16 -#define VSRC_NEG_NODE 17 -#define VSRC_CURRENT 18 -#define VSRC_POWER 19 -#define VSRC_D_F1 20 -#define VSRC_D_F2 21 - -#define VSRC_AM 22 -#define VSRC_R 23 -#define VSRC_TD 24 -#define VSRC_TRNOISE 25 -#define VSRC_TRRANDOM 26 -#define VSRC_EXTERNAL 27 +enum { + VSRC_DC = 1, + VSRC_AC, + VSRC_AC_MAG, + VSRC_AC_PHASE, + VSRC_PULSE, + VSRC_SINE, + VSRC_EXP, + VSRC_PWL, + VSRC_SFFM, + VSRC_BR, + VSRC_FCN_TYPE, + VSRC_FCN_ORDER, + VSRC_FCN_COEFFS, + VSRC_AC_REAL, + VSRC_AC_IMAG, + VSRC_POS_NODE, + VSRC_NEG_NODE, + VSRC_CURRENT, + VSRC_POWER, + VSRC_D_F1, + VSRC_D_F2, + VSRC_AM, + VSRC_R, + VSRC_TD, + VSRC_TRNOISE, + VSRC_TRRANDOM, + VSRC_EXTERNAL, +}; /* model parameters */