@ -102,6 +102,8 @@ typedef struct SPICEdev {
/* procedure to do distortion operations */
int (*DEVnoise)(int, int, GENmodel*,CKTcircuit*, Ndata *, double *);
/* noise routine */
int (*DEVsoaCheck)(CKTcircuit*,GENmodel*);
/* subroutine to call on soa check */
#ifdef CIDER
void (*DEVdump)(GENmodel *, CKTcircuit *);
void (*DEVacct)(GENmodel *, CKTcircuit *, FILE *);
@ -88,6 +88,7 @@ SPICEdev $(module)info = {
NULL, /* DEVsenTrunc */
NULL, /* DEVdisto */
NULL, /* DEVnoise */
NULL, /* DEVsoaCheck */
NULL, /* DEVdump */
NULL, /* DEVacct */
@ -68,6 +68,7 @@ SPICEdev ASRCinfo = {
/* DEVsenTrunc */ NULL,
/* DEVdisto */ NULL, /* DISTO */
/* DEVnoise */ NULL, /* NOISE */
/* DEVsoaCheck */ NULL,
/* DEVdump */ NULL,
/* DEVacct */ NULL,
@ -67,6 +67,7 @@ SPICEdev BJTinfo = { /* description from struct IFdevice */
/* DEVdisto */ BJTdisto,
/* DEVnoise */ BJTnoise,
@ -67,6 +67,7 @@ SPICEdev B1info = {
/* DEVdisto */ B1disto,
/* DEVnoise */ B1noise, /* NOISE */
@ -67,6 +67,7 @@ SPICEdev B2info = {
/* DEVdisto */ NULL,
/* DEVnoise */ B2noise,
@ -66,6 +66,7 @@ SPICEdev BSIM3info = {
/* DEVnoise */ BSIM3noise,
@ -64,6 +64,7 @@ SPICEdev B3SOIDDinfo = {
/* DEVnoise */ B3SOIDDnoise,
@ -65,6 +65,7 @@ SPICEdev B3SOIFDinfo = {
/* DEVnoise */ B3SOIFDnoise,
@ -66,6 +66,7 @@ SPICEdev B3SOIPDinfo = {
/* DEVsenTrunc*/ NULL,
/* DEVdisto*/ NULL,
/* DEVnoise*/ B3SOIPDnoise,
/* DEVdump*/ NULL,
/* DEVacct*/ NULL,
@ -65,6 +65,7 @@ SPICEdev B3v0info = {
/* DEVnoise */ BSIM3v0noise,
@ -65,6 +65,7 @@ SPICEdev BSIM3v1info = {
/* DEVnoise */ BSIM3v1noise,
@ -66,6 +66,7 @@ SPICEdev BSIM3v32info = {
/* DEVnoise */ BSIM3v32noise,
@ -67,6 +67,7 @@ SPICEdev BSIM4info = {
BSIM4noise, /* DEVnoise */
@ -67,6 +67,7 @@ SPICEdev BSIM4v4info = {
BSIM4v4noise, /* DEVnoise */
@ -67,6 +67,7 @@ SPICEdev BSIM4v5info = {
BSIM4v5noise, /* DEVnoise */
@ -67,6 +67,7 @@ SPICEdev BSIM4v6info = {
BSIM4v6noise, /* DEVnoise */
@ -65,6 +65,7 @@ SPICEdev B4SOIinfo = {
/* DEVnoise */ B4SOInoise,
@ -66,6 +66,7 @@ SPICEdev CAPinfo = {
@ -66,6 +66,7 @@ SPICEdev CCCSinfo = {
@ -67,6 +67,7 @@ SPICEdev CCVSinfo = {
@ -67,6 +67,7 @@ SPICEdev CPLinfo = {
/* DEVnoise */ NULL,
@ -69,6 +69,7 @@ SPICEdev CSWinfo = {
/* DEVnoise */ CSWnoise,
@ -68,6 +68,7 @@ SPICEdev DIOinfo = {
/* DEVdisto */ DIOdisto,
/* DEVnoise */ DIOnoise,
@ -67,6 +67,7 @@ SPICEdev HFETAinfo = {
@ -67,6 +67,7 @@ SPICEdev HFET2info = {
@ -65,6 +65,7 @@ SPICEdev HSM2info = {
/* DEVnoise */ HSM2noise,
@ -65,6 +65,7 @@ SPICEdev HSMHVinfo = {
/* DEVnoise */ HSMHVnoise,
@ -66,6 +66,7 @@ SPICEdev INDinfo = {
@ -135,6 +136,7 @@ SPICEdev MUTinfo = {
@ -67,6 +67,7 @@ SPICEdev ISRCinfo = {
@ -67,6 +67,7 @@ SPICEdev JFETinfo = {
/* DEVdisto */ JFETdisto,
/* DEVnoise */ JFETnoise,
@ -67,6 +67,7 @@ SPICEdev JFET2info = {
/* DEVdisto */ NULL, /* AN_disto */
/* DEVnoise */ JFET2noise,
@ -67,6 +67,7 @@ SPICEdev LTRAinfo = {
/* DEVsenTrunc */ NULL, /* */
/* DEVdisto */ NULL, /* disto */
/* DEVnoise */ NULL, /* noise */
@ -67,6 +67,7 @@ SPICEdev MESinfo = {
/* DEVdisto */ MESdisto,
/* DEVnoise */ MESnoise,
@ -67,6 +67,7 @@ SPICEdev MESAinfo = {
@ -67,6 +67,7 @@ SPICEdev MOS1info = {
/* DEVdisto */ MOS1disto,
/* DEVnoise */ MOS1noise,
@ -67,6 +67,7 @@ SPICEdev MOS2info = {
/* DEVdisto */ MOS2disto,
/* DEVnoise */ MOS2noise,
@ -67,6 +67,7 @@ SPICEdev MOS3info = {
/* DEVdisto */ MOS3disto,
/* DEVnoise */ MOS3noise,
@ -67,6 +67,7 @@ SPICEdev MOS6info = {
/* DEVdisto */ NULL, /* Distortion routine */
/* DEVnoise */ NULL, /* Noise routine */
@ -67,6 +67,7 @@ SPICEdev MOS9info = {
/* DEVdisto */ MOS9disto,
/* DEVnoise */ MOS9noise,
@ -67,6 +67,7 @@ SPICEdev NBJTinfo = {
/* DEVdump */ NBJTdump,
/* DEVacct */ NBJTacct,
@ -67,6 +67,7 @@ SPICEdev NBJT2info = {
/* DEVdump */ NBJT2dump,
/* DEVacct */ NBJT2acct,
@ -67,6 +67,7 @@ SPICEdev NDEVinfo = {
@ -67,6 +67,7 @@ SPICEdev NUMDinfo = {
/* DEVdump */ NUMDdump,
/* DEVacct */ NUMDacct,
@ -67,6 +67,7 @@ SPICEdev NUMD2info = {
/* DEVdump */ NUMD2dump,
/* DEVacct */ NUMD2acct,
@ -67,6 +67,7 @@ SPICEdev NUMOSinfo = {
/* DEVdump */ NUMOSdump,
/* DEVacct */ NUMOSacct,
@ -67,6 +67,7 @@ SPICEdev RESinfo = {
/* DEVnoise */ RESnoise,
@ -67,6 +67,7 @@ SPICEdev SOI3info = {
/* DEVnoise */ SOI3noise,
@ -68,6 +68,7 @@ SPICEdev SWinfo = {
/* DEVnoise */ SWnoise,
@ -67,6 +67,7 @@ SPICEdev TRAinfo = {
@ -72,6 +72,7 @@ SPICEdev TXLinfo = {
@ -67,6 +67,7 @@ SPICEdev URCinfo = {
@ -72,6 +72,7 @@ SPICEdev VBICinfo = {
VBICnoise, /* DEVnoise */
@ -67,6 +67,7 @@ SPICEdev VCCSinfo = {
@ -67,6 +67,7 @@ SPICEdev VCVSinfo = {
@ -67,6 +67,7 @@ SPICEdev VSRCinfo = {
@ -942,6 +942,7 @@ static void write_SPICEdev(
fprintf(fp, "NULL, \n"); /* DEVsenTrunc */
fprintf(fp, "NULL, \n"); /* DEVdisto */
fprintf(fp, "NULL, \n"); /* DEVnoise */
fprintf(fp, "NULL, \n"); /* DEVsoaCheck */
fprintf(fp, "#ifdef CIDER \n"); /* CIDER enhancements */
fprintf(fp, "NULL, \n"); /* DEVdump */
fprintf(fp, "NULL, \n"); /* DEVacct */