Browse Source

rewrite, use enum instead of #define sequences

see branch "rewrite-defines2enum"
pre-master-46
rlar 8 years ago
parent
commit
45a70b3a53
  1. 24
      src/include/ngspice/acdefs.h
  2. 30
      src/include/ngspice/bdrydefs.h
  3. 9
      src/include/ngspice/cktdefs.h
  4. 14
      src/include/ngspice/contdefs.h
  5. 12
      src/include/ngspice/cpdefs.h
  6. 23
      src/include/ngspice/domndefs.h
  7. 66
      src/include/ngspice/dopdefs.h
  8. 20
      src/include/ngspice/elctdefs.h
  9. 8
      src/include/ngspice/fteoptdefs.h
  10. 8
      src/include/ngspice/hlpdefs.h
  11. 10
      src/include/ngspice/jobdefs.h
  12. 60
      src/include/ngspice/matldefs.h
  13. 16
      src/include/ngspice/meshdefs.h
  14. 18
      src/include/ngspice/methdefs.h
  15. 36
      src/include/ngspice/mobdefs.h
  16. 24
      src/include/ngspice/modldefs.h
  17. 169
      src/include/ngspice/optdefs.h
  18. 40
      src/include/ngspice/optndefs.h
  19. 64
      src/include/ngspice/outpdefs.h
  20. 18
      src/include/ngspice/pssdefs.h
  21. 20
      src/include/ngspice/pzdefs.h
  22. 12
      src/include/ngspice/sen2defs.h
  23. 51
      src/include/ngspice/sensdefs.h
  24. 13
      src/include/ngspice/tfdefs.h
  25. 13
      src/include/ngspice/trandefs.h
  26. 22
      src/include/ngspice/trcvdefs.h
  27. 26
      src/spicelib/devices/asrc/asrcdefs.h
  28. 376
      src/spicelib/devices/bjt/bjtdefs.h
  29. 76
      src/spicelib/devices/cap/capdefs.h
  30. 36
      src/spicelib/devices/cccs/cccsdefs.h
  31. 36
      src/spicelib/devices/ccvs/ccvsdefs.h
  32. 24
      src/spicelib/devices/cpl/cpldefs.h
  33. 32
      src/spicelib/devices/csw/cswdefs.h
  34. 162
      src/spicelib/devices/dio/diodefs.h
  35. 213
      src/spicelib/devices/hfet1/hfetdefs.h
  36. 153
      src/spicelib/devices/hfet2/hfet2defs.h
  37. 89
      src/spicelib/devices/ind/inddefs.h
  38. 82
      src/spicelib/devices/isrc/isrcdefs.h
  39. 132
      src/spicelib/devices/jfet/jfetdefs.h
  40. 92
      src/spicelib/devices/jfet2/jfet2defs.h
  41. 102
      src/spicelib/devices/ltra/ltradefs.h
  42. 119
      src/spicelib/devices/mes/mesdefs.h
  43. 234
      src/spicelib/devices/mesa/mesadefs.h
  44. 251
      src/spicelib/devices/mos1/mos1defs.h
  45. 266
      src/spicelib/devices/mos2/mos2defs.h
  46. 279
      src/spicelib/devices/mos3/mos3defs.h
  47. 248
      src/spicelib/devices/mos6/mos6defs.h
  48. 278
      src/spicelib/devices/mos9/mos9defs.h
  49. 70
      src/spicelib/devices/nbjt/nbjtdefs.h
  50. 8
      src/spicelib/devices/ndev/ndevdefs.h
  51. 41
      src/spicelib/devices/numd/numddefs.h
  52. 102
      src/spicelib/devices/res/resdefs.h
  53. 425
      src/spicelib/devices/soi3/soi3defs.h
  54. 34
      src/spicelib/devices/sw/swdefs.h
  55. 46
      src/spicelib/devices/tra/tradefs.h
  56. 22
      src/spicelib/devices/txl/txldefs.h
  57. 28
      src/spicelib/devices/urc/urcdefs.h
  58. 399
      src/spicelib/devices/vbic/vbicdefs.h
  59. 40
      src/spicelib/devices/vccs/vccsdefs.h
  60. 40
      src/spicelib/devices/vcvs/vcvsdefs.h
  61. 78
      src/spicelib/devices/vsrc/vsrcdefs.h

24
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

30
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

9
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 {

14
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

12
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.

23
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

66
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

20
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

8
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

8
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. */

10
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

60
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

16
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

18
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

36
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

24
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

169
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

40
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

64
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

18
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

20
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

12
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

51
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*/

13
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

13
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

22
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

26
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 */

376
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*/

76
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"

36
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 */

36
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 */

24
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;

32
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 */

162
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*/

213
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)

153
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)

89
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"

82
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 */

132
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 */

92
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 */

102
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 */

119
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"

234
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"

251
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 */

266
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 */

279
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 */

248
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 */

278
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 */

70
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 */

8
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"

41
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 */

102
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 */

425
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 */

34
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 */

46
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 */

22
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;

28
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 */

399
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*/

40
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 */

40
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 */

78
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 */

Loading…
Cancel
Save