rewrite, use enum instead of #define sequences
see branch "rewrite-defines2enum"
This commit is contained in:
parent
3a7e9411c3
commit
45a70b3a53
|
|
@ -25,15 +25,19 @@ typedef struct {
|
|||
|
||||
/* available step types: XXX should be somewhere else */
|
||||
|
||||
#define DECADE 1
|
||||
#define OCTAVE 2
|
||||
#define LINEAR 3
|
||||
enum {
|
||||
DECADE = 1,
|
||||
OCTAVE,
|
||||
LINEAR,
|
||||
};
|
||||
|
||||
#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 {
|
||||
AC_DEC = 1,
|
||||
AC_OCT,
|
||||
AC_LIN,
|
||||
AC_START,
|
||||
AC_STOP,
|
||||
AC_STEPS,
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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. */
|
||||
|
||||
|
|
|
|||
|
|
@ -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,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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
enum {
|
||||
SENS_POS = 2,
|
||||
SENS_NEG,
|
||||
SENS_SRC,
|
||||
SENS_NAME,
|
||||
};
|
||||
|
||||
#define SENS_START 10
|
||||
#define SENS_STOP 11
|
||||
#define SENS_STEPS 12
|
||||
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,
|
||||
};
|
||||
|
||||
#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_PARAM = 24,
|
||||
SENS_TOL,
|
||||
SENS_PERT,
|
||||
};
|
||||
|
||||
#endif /*DEFS*/
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
||||
|
|
|
|||
|
|
@ -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*/
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
||||
|
|
|
|||
|
|
@ -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*/
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
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_FULLCONTROL 26
|
||||
#define LTRA_MOD_HALFCONTROL 27
|
||||
#define LTRA_MOD_NOCONTROL 28
|
||||
#define LTRA_MOD_PRINT 29
|
||||
#define LTRA_MOD_NOPRINT 30
|
||||
/*
|
||||
#define LTRA_MOD_RONLY 31
|
||||
*/
|
||||
#define LTRA_MOD_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 */
|
||||
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
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,
|
||||
};
|
||||
|
||||
#define MESA_DRAINNODE 201
|
||||
#define MESA_GATENODE 202
|
||||
#define MESA_SOURCENODE 203
|
||||
#define MESA_DRAINPRIMENODE 204
|
||||
#define MESA_SOURCEPRIMENODE 205
|
||||
#define MESA_GATEPRIMENODE 206
|
||||
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,
|
||||
};
|
||||
|
||||
#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
|
||||
/* 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,
|
||||
};
|
||||
|
||||
#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
|
||||
/* model questions */
|
||||
enum {
|
||||
MESA_MOD_DRAINCONDUCT = 301,
|
||||
MESA_MOD_SOURCECONDUCT,
|
||||
MESA_MOD_GATECONDUCT,
|
||||
MESA_MOD_DEPLETIONCAP,
|
||||
MESA_MOD_VCRIT,
|
||||
};
|
||||
|
||||
#include "mesaext.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 */
|
||||
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
enum {
|
||||
NBJT_AREA = 1,
|
||||
NBJT_OFF,
|
||||
NBJT_IC_FILE,
|
||||
NBJT_PRINT,
|
||||
NBJT_TEMP,
|
||||
};
|
||||
|
||||
#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_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 */
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
||||
|
|
|
|||
|
|
@ -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*/
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
||||
|
|
|
|||
|
|
@ -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…
Reference in New Issue