N_MXVLNTH, drop noise variable name limitation
This commit is contained in:
parent
306ada7dd0
commit
2f329bd8b4
|
|
@ -119,8 +119,18 @@ typedef struct {
|
||||||
|
|
||||||
/* misc constants */
|
/* misc constants */
|
||||||
|
|
||||||
#define N_MXVLNTH 64 /* maximum length for noise output variables we will generate */
|
#define NOISE_ADD_OUTVAR(ckt, data, fmt, aname, bname) \
|
||||||
/* (see MAXVLENGTH in FTE/writedata.c) */
|
do { \
|
||||||
|
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1); \
|
||||||
|
if (!data->namelist) \
|
||||||
|
return E_NOMEM; \
|
||||||
|
char *name = tprintf(fmt, aname, bname); \
|
||||||
|
if (!name) \
|
||||||
|
return E_NOMEM; \
|
||||||
|
SPfrontEnd->IFnewUid(ckt, &(data->namelist[data->numPlots++]), \
|
||||||
|
NULL, name, UID_OTHER, NULL); \
|
||||||
|
tfree(name); \
|
||||||
|
} while(0)
|
||||||
|
|
||||||
|
|
||||||
void NevalSrc (double *noise, double *lnNoise, CKTcircuit *ckt, int type, int node1, int node2, double param);
|
void NevalSrc (double *noise, double *lnNoise, CKTcircuit *ckt, int type, int node1, int node2, double param);
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,6 @@ BJTnoise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt,
|
||||||
BJTmodel *firstModel = (BJTmodel *) genmodel;
|
BJTmodel *firstModel = (BJTmodel *) genmodel;
|
||||||
BJTmodel *model;
|
BJTmodel *model;
|
||||||
BJTinstance *inst;
|
BJTinstance *inst;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
double noizDens[BJTNSRCS];
|
double noizDens[BJTNSRCS];
|
||||||
|
|
@ -67,40 +66,14 @@ for (model=firstModel; model != NULL; model=model->BJTnextModel) {
|
||||||
|
|
||||||
case N_DENS:
|
case N_DENS:
|
||||||
for (i=0; i < BJTNSRCS; i++) {
|
for (i=0; i < BJTNSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_%s%s",
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_%s%s", inst->BJTname, BJTnNames[i]);
|
||||||
inst->BJTname,BJTnNames[i]);
|
|
||||||
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i=0; i < BJTNSRCS; i++) {
|
for (i=0; i < BJTNSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_total_%s%s",
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_total_%s%s", inst->BJTname, BJTnNames[i]);
|
||||||
inst->BJTname,BJTnNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total_%s%s", inst->BJTname, BJTnNames[i]);
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
(void)sprintf(name,"inoise_total_%s%s",
|
|
||||||
inst->BJTname,BJTnNames[i]);
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,6 @@ B1noise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt,
|
||||||
B1model *firstModel = (B1model *) genmodel;
|
B1model *firstModel = (B1model *) genmodel;
|
||||||
B1model *model;
|
B1model *model;
|
||||||
B1instance *inst;
|
B1instance *inst;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
double noizDens[B1NSRCS];
|
double noizDens[B1NSRCS];
|
||||||
|
|
@ -61,45 +60,14 @@ B1noise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt,
|
||||||
|
|
||||||
case N_DENS:
|
case N_DENS:
|
||||||
for (i=0; i < B1NSRCS; i++) {
|
for (i=0; i < B1NSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_%s%s",inst->B1name,B1nNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_%s%s", inst->B1name, B1nNames[i]);
|
||||||
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i=0; i < B1NSRCS; i++) {
|
for (i=0; i < B1NSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_total_%s%s",inst->B1name,B1nNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_total_%s%s", inst->B1name, B1nNames[i]);
|
||||||
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total_%s%s", inst->B1name, B1nNames[i]);
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
(void)sprintf(name,"inoise_total_%s%s",inst->B1name,B1nNames[i]);
|
|
||||||
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,6 @@ B2noise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt,
|
||||||
B2model *firstModel = (B2model *) genmodel;
|
B2model *firstModel = (B2model *) genmodel;
|
||||||
B2model *model;
|
B2model *model;
|
||||||
B2instance *inst;
|
B2instance *inst;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
double noizDens[B2NSRCS];
|
double noizDens[B2NSRCS];
|
||||||
|
|
@ -61,45 +60,14 @@ B2noise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt,
|
||||||
|
|
||||||
case N_DENS:
|
case N_DENS:
|
||||||
for (i=0; i < B2NSRCS; i++) {
|
for (i=0; i < B2NSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_%s%s",inst->B2name,B2nNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_%s%s", inst->B2name, B2nNames[i]);
|
||||||
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i=0; i < B2NSRCS; i++) {
|
for (i=0; i < B2NSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_total_%s%s",inst->B2name,B2nNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_total_%s%s", inst->B2name, B2nNames[i]);
|
||||||
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total_%s%s", inst->B2name, B2nNames[i]);
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
(void)sprintf(name,"inoise_total_%s%s",inst->B2name,B2nNames[i]);
|
|
||||||
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -113,7 +113,6 @@ NOISEAN *job = (NOISEAN *) ckt->CKTcurJob;
|
||||||
BSIM3model *model = (BSIM3model *)inModel;
|
BSIM3model *model = (BSIM3model *)inModel;
|
||||||
BSIM3instance *here;
|
BSIM3instance *here;
|
||||||
struct bsim3SizeDependParam *pParam;
|
struct bsim3SizeDependParam *pParam;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
double noizDens[BSIM3NSRCS];
|
double noizDens[BSIM3NSRCS];
|
||||||
|
|
@ -153,44 +152,13 @@ int i;
|
||||||
{ switch (mode)
|
{ switch (mode)
|
||||||
{ case N_DENS:
|
{ case N_DENS:
|
||||||
for (i = 0; i < BSIM3NSRCS; i++)
|
for (i = 0; i < BSIM3NSRCS; i++)
|
||||||
{ (void) sprintf(name, "onoise.%s%s",
|
{ NOISE_ADD_OUTVAR(ckt, data, "onoise.%s%s", here->BSIM3name, BSIM3nNames[i]);
|
||||||
here->BSIM3name,
|
|
||||||
BSIM3nNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i = 0; i < BSIM3NSRCS; i++)
|
for (i = 0; i < BSIM3NSRCS; i++)
|
||||||
{ (void) sprintf(name, "onoise_total.%s%s",
|
{ NOISE_ADD_OUTVAR(ckt, data, "onoise_total.%s%s", here->BSIM3name, BSIM3nNames[i]);
|
||||||
here->BSIM3name,
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total.%s%s", here->BSIM3name, BSIM3nNames[i]);
|
||||||
BSIM3nNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
(void) sprintf(name, "inoise_total.%s%s",
|
|
||||||
here->BSIM3name,
|
|
||||||
BSIM3nNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,6 @@ NOISEAN *job = (NOISEAN *) ckt->CKTcurJob;
|
||||||
B3SOIDDmodel *model = (B3SOIDDmodel *)inModel;
|
B3SOIDDmodel *model = (B3SOIDDmodel *)inModel;
|
||||||
B3SOIDDinstance *here;
|
B3SOIDDinstance *here;
|
||||||
struct b3soiddSizeDependParam *pParam;
|
struct b3soiddSizeDependParam *pParam;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
double noizDens[B3SOIDDNSRCS];
|
double noizDens[B3SOIDDNSRCS];
|
||||||
|
|
@ -142,44 +141,13 @@ int i;
|
||||||
{ switch (mode)
|
{ switch (mode)
|
||||||
{ case N_DENS:
|
{ case N_DENS:
|
||||||
for (i = 0; i < B3SOIDDNSRCS; i++)
|
for (i = 0; i < B3SOIDDNSRCS; i++)
|
||||||
{ (void) sprintf(name, "onoise.%s%s",
|
{ NOISE_ADD_OUTVAR(ckt, data, "onoise.%s%s", here->B3SOIDDname, B3SOIDDnNames[i]);
|
||||||
here->B3SOIDDname,
|
|
||||||
B3SOIDDnNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i = 0; i < B3SOIDDNSRCS; i++)
|
for (i = 0; i < B3SOIDDNSRCS; i++)
|
||||||
{ (void) sprintf(name, "onoise_total.%s%s",
|
{ NOISE_ADD_OUTVAR(ckt, data, "onoise_total.%s%s", here->B3SOIDDname, B3SOIDDnNames[i]);
|
||||||
here->B3SOIDDname,
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total.%s%s", here->B3SOIDDname, B3SOIDDnNames[i]);
|
||||||
B3SOIDDnNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
(void) sprintf(name, "inoise_total.%s%s",
|
|
||||||
here->B3SOIDDname,
|
|
||||||
B3SOIDDnNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,6 @@ NOISEAN *job = (NOISEAN *) ckt->CKTcurJob;
|
||||||
B3SOIFDmodel *model = (B3SOIFDmodel *)inModel;
|
B3SOIFDmodel *model = (B3SOIFDmodel *)inModel;
|
||||||
B3SOIFDinstance *here;
|
B3SOIFDinstance *here;
|
||||||
struct b3soifdSizeDependParam *pParam;
|
struct b3soifdSizeDependParam *pParam;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
double noizDens[B3SOIFDNSRCS];
|
double noizDens[B3SOIFDNSRCS];
|
||||||
|
|
@ -142,44 +141,13 @@ int i;
|
||||||
{ switch (mode)
|
{ switch (mode)
|
||||||
{ case N_DENS:
|
{ case N_DENS:
|
||||||
for (i = 0; i < B3SOIFDNSRCS; i++)
|
for (i = 0; i < B3SOIFDNSRCS; i++)
|
||||||
{ (void) sprintf(name, "onoise.%s%s",
|
{ NOISE_ADD_OUTVAR(ckt, data, "onoise.%s%s", here->B3SOIFDname, B3SOIFDnNames[i]);
|
||||||
here->B3SOIFDname,
|
|
||||||
B3SOIFDnNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i = 0; i < B3SOIFDNSRCS; i++)
|
for (i = 0; i < B3SOIFDNSRCS; i++)
|
||||||
{ (void) sprintf(name, "onoise_total.%s%s",
|
{ NOISE_ADD_OUTVAR(ckt, data, "onoise_total.%s%s", here->B3SOIFDname, B3SOIFDnNames[i]);
|
||||||
here->B3SOIFDname,
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total.%s%s", here->B3SOIFDname, B3SOIFDnNames[i]);
|
||||||
B3SOIFDnNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
(void) sprintf(name, "inoise_total.%s%s",
|
|
||||||
here->B3SOIFDname,
|
|
||||||
B3SOIFDnNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,6 @@ NOISEAN *job = (NOISEAN *) ckt->CKTcurJob;
|
||||||
B3SOIPDmodel *model = (B3SOIPDmodel *)inModel;
|
B3SOIPDmodel *model = (B3SOIPDmodel *)inModel;
|
||||||
B3SOIPDinstance *here;
|
B3SOIPDinstance *here;
|
||||||
struct b3soipdSizeDependParam *pParam;
|
struct b3soipdSizeDependParam *pParam;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
double noizDens[B3SOIPDNSRCS];
|
double noizDens[B3SOIPDNSRCS];
|
||||||
|
|
@ -146,44 +145,13 @@ int i;
|
||||||
{ switch (mode)
|
{ switch (mode)
|
||||||
{ case N_DENS:
|
{ case N_DENS:
|
||||||
for (i = 0; i < B3SOIPDNSRCS; i++)
|
for (i = 0; i < B3SOIPDNSRCS; i++)
|
||||||
{ (void) sprintf(name, "onoise.%s%s",
|
{ NOISE_ADD_OUTVAR(ckt, data, "onoise.%s%s", here->B3SOIPDname, B3SOIPDnNames[i]);
|
||||||
here->B3SOIPDname,
|
|
||||||
B3SOIPDnNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i = 0; i < B3SOIPDNSRCS; i++)
|
for (i = 0; i < B3SOIPDNSRCS; i++)
|
||||||
{ (void) sprintf(name, "onoise_total.%s%s",
|
{ NOISE_ADD_OUTVAR(ckt, data, "onoise_total.%s%s", here->B3SOIPDname, B3SOIPDnNames[i]);
|
||||||
here->B3SOIPDname,
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total.%s%s", here->B3SOIPDname, B3SOIPDnNames[i]);
|
||||||
B3SOIPDnNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
(void) sprintf(name, "inoise_total.%s%s",
|
|
||||||
here->B3SOIPDname,
|
|
||||||
B3SOIPDnNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,6 @@ NOISEAN *job = (NOISEAN *) ckt->CKTcurJob;
|
||||||
BSIM3v0model *model = (BSIM3v0model *)inModel;
|
BSIM3v0model *model = (BSIM3v0model *)inModel;
|
||||||
BSIM3v0instance *here;
|
BSIM3v0instance *here;
|
||||||
struct bsim3v0SizeDependParam *pParam;
|
struct bsim3v0SizeDependParam *pParam;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
double noizDens[BSIM3v0NSRCS];
|
double noizDens[BSIM3v0NSRCS];
|
||||||
|
|
@ -115,44 +114,13 @@ int i;
|
||||||
{ switch (mode)
|
{ switch (mode)
|
||||||
{ case N_DENS:
|
{ case N_DENS:
|
||||||
for (i = 0; i < BSIM3v0NSRCS; i++)
|
for (i = 0; i < BSIM3v0NSRCS; i++)
|
||||||
{ (void) sprintf(name, "onoise.%s%s",
|
{ NOISE_ADD_OUTVAR(ckt, data, "onoise.%s%s", here->BSIM3v0name, BSIM3v0nNames[i]);
|
||||||
here->BSIM3v0name,
|
|
||||||
BSIM3v0nNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i = 0; i < BSIM3v0NSRCS; i++)
|
for (i = 0; i < BSIM3v0NSRCS; i++)
|
||||||
{ (void) sprintf(name, "onoise_total.%s%s",
|
{ NOISE_ADD_OUTVAR(ckt, data, "onoise_total.%s%s", here->BSIM3v0name, BSIM3v0nNames[i]);
|
||||||
here->BSIM3v0name,
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total.%s%s", here->BSIM3v0name, BSIM3v0nNames[i]);
|
||||||
BSIM3v0nNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
(void) sprintf(name, "inoise_total.%s%s",
|
|
||||||
here->BSIM3v0name,
|
|
||||||
BSIM3v0nNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -100,7 +100,6 @@ NOISEAN *job = (NOISEAN *) ckt->CKTcurJob;
|
||||||
BSIM3v1model *model = (BSIM3v1model *)inModel;
|
BSIM3v1model *model = (BSIM3v1model *)inModel;
|
||||||
BSIM3v1instance *here;
|
BSIM3v1instance *here;
|
||||||
struct bsim3v1SizeDependParam *pParam;
|
struct bsim3v1SizeDependParam *pParam;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
double noizDens[BSIM3v1NSRCS];
|
double noizDens[BSIM3v1NSRCS];
|
||||||
|
|
@ -138,50 +137,13 @@ int i;
|
||||||
{ switch (mode)
|
{ switch (mode)
|
||||||
{ case N_DENS:
|
{ case N_DENS:
|
||||||
for (i = 0; i < BSIM3v1NSRCS; i++)
|
for (i = 0; i < BSIM3v1NSRCS; i++)
|
||||||
{ (void) sprintf(name, "onoise.%s%s",
|
{ NOISE_ADD_OUTVAR(ckt, data, "onoise.%s%s", here->BSIM3v1name, BSIM3v1nNames[i]);
|
||||||
here->BSIM3v1name,
|
|
||||||
BSIM3v1nNames[i]);
|
|
||||||
data->namelist = TREALLOC(
|
|
||||||
IFuid, data->namelist,
|
|
||||||
data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i = 0; i < BSIM3v1NSRCS; i++)
|
for (i = 0; i < BSIM3v1NSRCS; i++)
|
||||||
{ (void) sprintf(name, "onoise_total.%s%s",
|
{ NOISE_ADD_OUTVAR(ckt, data, "onoise_total.%s%s", here->BSIM3v1name, BSIM3v1nNames[i]);
|
||||||
here->BSIM3v1name,
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total.%s%s", here->BSIM3v1name, BSIM3v1nNames[i]);
|
||||||
BSIM3v1nNames[i]);
|
|
||||||
data->namelist = TREALLOC(
|
|
||||||
IFuid, data->namelist,
|
|
||||||
data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
(void) sprintf(name, "inoise_total.%s%s",
|
|
||||||
here->BSIM3v1name,
|
|
||||||
BSIM3v1nNames[i]);
|
|
||||||
data->namelist = TREALLOC(
|
|
||||||
IFuid, data->namelist,
|
|
||||||
data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -183,7 +183,6 @@ NOISEAN *job = (NOISEAN *) ckt->CKTcurJob;
|
||||||
BSIM3v32model *model = (BSIM3v32model *)inModel;
|
BSIM3v32model *model = (BSIM3v32model *)inModel;
|
||||||
BSIM3v32instance *here;
|
BSIM3v32instance *here;
|
||||||
struct bsim3v32SizeDependParam *pParam;
|
struct bsim3v32SizeDependParam *pParam;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
double noizDens[BSIM3v32NSRCS];
|
double noizDens[BSIM3v32NSRCS];
|
||||||
|
|
@ -222,44 +221,13 @@ int i;
|
||||||
{ switch (mode)
|
{ switch (mode)
|
||||||
{ case N_DENS:
|
{ case N_DENS:
|
||||||
for (i = 0; i < BSIM3v32NSRCS; i++)
|
for (i = 0; i < BSIM3v32NSRCS; i++)
|
||||||
{ (void) sprintf(name, "onoise.%s%s",
|
{ NOISE_ADD_OUTVAR(ckt, data, "onoise.%s%s", here->BSIM3v32name, BSIM3v32nNames[i]);
|
||||||
here->BSIM3v32name,
|
|
||||||
BSIM3v32nNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i = 0; i < BSIM3v32NSRCS; i++)
|
for (i = 0; i < BSIM3v32NSRCS; i++)
|
||||||
{ (void) sprintf(name, "onoise_total.%s%s",
|
{ NOISE_ADD_OUTVAR(ckt, data, "onoise_total.%s%s", here->BSIM3v32name, BSIM3v32nNames[i]);
|
||||||
here->BSIM3v32name,
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total.%s%s", here->BSIM3v32name, BSIM3v32nNames[i]);
|
||||||
BSIM3v32nNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
(void) sprintf(name, "inoise_total.%s%s",
|
|
||||||
here->BSIM3v32name,
|
|
||||||
BSIM3v32nNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -131,7 +131,6 @@ NOISEAN *job = (NOISEAN *) ckt->CKTcurJob;
|
||||||
BSIM4model *model = (BSIM4model *)inModel;
|
BSIM4model *model = (BSIM4model *)inModel;
|
||||||
BSIM4instance *here;
|
BSIM4instance *here;
|
||||||
struct bsim4SizeDependParam *pParam;
|
struct bsim4SizeDependParam *pParam;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
double noizDens[BSIM4NSRCS];
|
double noizDens[BSIM4NSRCS];
|
||||||
|
|
@ -187,47 +186,13 @@ double m;
|
||||||
{ switch (mode)
|
{ switch (mode)
|
||||||
{ case N_DENS:
|
{ case N_DENS:
|
||||||
for (i = 0; i < BSIM4NSRCS; i++)
|
for (i = 0; i < BSIM4NSRCS; i++)
|
||||||
{ (void) sprintf(name, "onoise.%s%s",
|
{ NOISE_ADD_OUTVAR(ckt, data, "onoise.%s%s", here->BSIM4name, BSIM4nNames[i]);
|
||||||
here->BSIM4name,
|
|
||||||
BSIM4nNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid,
|
|
||||||
data->namelist,
|
|
||||||
data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i = 0; i < BSIM4NSRCS; i++)
|
for (i = 0; i < BSIM4NSRCS; i++)
|
||||||
{ (void) sprintf(name, "onoise_total.%s%s",
|
{ NOISE_ADD_OUTVAR(ckt, data, "onoise_total.%s%s", here->BSIM4name, BSIM4nNames[i]);
|
||||||
here->BSIM4name,
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total.%s%s", here->BSIM4name, BSIM4nNames[i]);
|
||||||
BSIM4nNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid,
|
|
||||||
data->namelist,
|
|
||||||
data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
(void) sprintf(name, "inoise_total.%s%s",
|
|
||||||
here->BSIM4name,
|
|
||||||
BSIM4nNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid,
|
|
||||||
data->namelist,
|
|
||||||
data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,6 @@ NOISEAN *job = (NOISEAN *) ckt->CKTcurJob;
|
||||||
BSIM4v5model *model = (BSIM4v5model *)inModel;
|
BSIM4v5model *model = (BSIM4v5model *)inModel;
|
||||||
BSIM4v5instance *here;
|
BSIM4v5instance *here;
|
||||||
struct bsim4v5SizeDependParam *pParam;
|
struct bsim4v5SizeDependParam *pParam;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
double noizDens[BSIM4v5NSRCS];
|
double noizDens[BSIM4v5NSRCS];
|
||||||
|
|
@ -133,44 +132,13 @@ int i;
|
||||||
{ switch (mode)
|
{ switch (mode)
|
||||||
{ case N_DENS:
|
{ case N_DENS:
|
||||||
for (i = 0; i < BSIM4v5NSRCS; i++)
|
for (i = 0; i < BSIM4v5NSRCS; i++)
|
||||||
{ (void) sprintf(name, "onoise.%s%s",
|
{ NOISE_ADD_OUTVAR(ckt, data, "onoise.%s%s", here->BSIM4v5name, BSIM4v5nNames[i]);
|
||||||
here->BSIM4v5name,
|
|
||||||
BSIM4v5nNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i = 0; i < BSIM4v5NSRCS; i++)
|
for (i = 0; i < BSIM4v5NSRCS; i++)
|
||||||
{ (void) sprintf(name, "onoise_total.%s%s",
|
{ NOISE_ADD_OUTVAR(ckt, data, "onoise_total.%s%s", here->BSIM4v5name, BSIM4v5nNames[i]);
|
||||||
here->BSIM4v5name,
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total.%s%s", here->BSIM4v5name, BSIM4v5nNames[i]);
|
||||||
BSIM4v5nNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
(void) sprintf(name, "inoise_total.%s%s",
|
|
||||||
here->BSIM4v5name,
|
|
||||||
BSIM4v5nNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,6 @@ NOISEAN *job = (NOISEAN *) ckt->CKTcurJob;
|
||||||
BSIM4v6model *model = (BSIM4v6model *)inModel;
|
BSIM4v6model *model = (BSIM4v6model *)inModel;
|
||||||
BSIM4v6instance *here;
|
BSIM4v6instance *here;
|
||||||
struct bsim4v6SizeDependParam *pParam;
|
struct bsim4v6SizeDependParam *pParam;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
double noizDens[BSIM4v6NSRCS];
|
double noizDens[BSIM4v6NSRCS];
|
||||||
|
|
@ -134,44 +133,13 @@ int i;
|
||||||
{ switch (mode)
|
{ switch (mode)
|
||||||
{ case N_DENS:
|
{ case N_DENS:
|
||||||
for (i = 0; i < BSIM4v6NSRCS; i++)
|
for (i = 0; i < BSIM4v6NSRCS; i++)
|
||||||
{ (void) sprintf(name, "onoise.%s%s",
|
{ NOISE_ADD_OUTVAR(ckt, data, "onoise.%s%s", here->BSIM4v6name, BSIM4v6nNames[i]);
|
||||||
here->BSIM4v6name,
|
|
||||||
BSIM4v6nNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i = 0; i < BSIM4v6NSRCS; i++)
|
for (i = 0; i < BSIM4v6NSRCS; i++)
|
||||||
{ (void) sprintf(name, "onoise_total.%s%s",
|
{ NOISE_ADD_OUTVAR(ckt, data, "onoise_total.%s%s", here->BSIM4v6name, BSIM4v6nNames[i]);
|
||||||
here->BSIM4v6name,
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total.%s%s", here->BSIM4v6name, BSIM4v6nNames[i]);
|
||||||
BSIM4v6nNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
(void) sprintf(name, "inoise_total.%s%s",
|
|
||||||
here->BSIM4v6name,
|
|
||||||
BSIM4v6nNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -92,7 +92,6 @@ NOISEAN *job = (NOISEAN *) ckt->CKTcurJob;
|
||||||
BSIM4v7model *model = (BSIM4v7model *)inModel;
|
BSIM4v7model *model = (BSIM4v7model *)inModel;
|
||||||
BSIM4v7instance *here;
|
BSIM4v7instance *here;
|
||||||
struct bsim4SizeDependParam *pParam;
|
struct bsim4SizeDependParam *pParam;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
double noizDens[BSIM4v7NSRCS];
|
double noizDens[BSIM4v7NSRCS];
|
||||||
|
|
@ -148,47 +147,13 @@ double m;
|
||||||
{ switch (mode)
|
{ switch (mode)
|
||||||
{ case N_DENS:
|
{ case N_DENS:
|
||||||
for (i = 0; i < BSIM4v7NSRCS; i++)
|
for (i = 0; i < BSIM4v7NSRCS; i++)
|
||||||
{ (void) sprintf(name, "onoise.%s%s",
|
{ NOISE_ADD_OUTVAR(ckt, data, "onoise.%s%s", here->BSIM4v7name, BSIM4v7nNames[i]);
|
||||||
here->BSIM4v7name,
|
|
||||||
BSIM4v7nNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid,
|
|
||||||
data->namelist,
|
|
||||||
data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i = 0; i < BSIM4v7NSRCS; i++)
|
for (i = 0; i < BSIM4v7NSRCS; i++)
|
||||||
{ (void) sprintf(name, "onoise_total.%s%s",
|
{ NOISE_ADD_OUTVAR(ckt, data, "onoise_total.%s%s", here->BSIM4v7name, BSIM4v7nNames[i]);
|
||||||
here->BSIM4v7name,
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total.%s%s", here->BSIM4v7name, BSIM4v7nNames[i]);
|
||||||
BSIM4v7nNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid,
|
|
||||||
data->namelist,
|
|
||||||
data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
(void) sprintf(name, "inoise_total.%s%s",
|
|
||||||
here->BSIM4v7name,
|
|
||||||
BSIM4v7nNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid,
|
|
||||||
data->namelist,
|
|
||||||
data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -106,7 +106,6 @@ double *OnDens)
|
||||||
register B4SOImodel *model = (B4SOImodel *)inModel;
|
register B4SOImodel *model = (B4SOImodel *)inModel;
|
||||||
register B4SOIinstance *here;
|
register B4SOIinstance *here;
|
||||||
struct b4soiSizeDependParam *pParam;
|
struct b4soiSizeDependParam *pParam;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
double noizDens[B4SOINSRCS];
|
double noizDens[B4SOINSRCS];
|
||||||
|
|
@ -164,44 +163,13 @@ double m;
|
||||||
{ switch (mode)
|
{ switch (mode)
|
||||||
{ case N_DENS:
|
{ case N_DENS:
|
||||||
for (i = 0; i < B4SOINSRCS; i++)
|
for (i = 0; i < B4SOINSRCS; i++)
|
||||||
{ (void) sprintf(name, "onoise.%s%s",
|
{ NOISE_ADD_OUTVAR(ckt, data, "onoise.%s%s", here->B4SOIname, B4SOInNames[i]);
|
||||||
here->B4SOIname,
|
|
||||||
B4SOInNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
(*(SPfrontEnd->IFnewUid)) (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
(IFuid) NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i = 0; i < B4SOINSRCS; i++)
|
for (i = 0; i < B4SOINSRCS; i++)
|
||||||
{ (void) sprintf(name, "onoise_total.%s%s",
|
{ NOISE_ADD_OUTVAR(ckt, data, "onoise_total.%s%s", here->B4SOIname, B4SOInNames[i]);
|
||||||
here->B4SOIname,
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total.%s%s", here->B4SOIname, B4SOInNames[i]);
|
||||||
B4SOInNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
(*(SPfrontEnd->IFnewUid)) (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
(IFuid) NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
(void) sprintf(name, "inoise_total.%s%s",
|
|
||||||
here->B4SOIname,
|
|
||||||
B4SOInNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
(*(SPfrontEnd->IFnewUid)) (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
(IFuid) NULL, name, UID_OTHER,
|
|
||||||
NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,6 @@ CSWnoise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt, Ndata *d
|
||||||
CSWmodel *firstModel = (CSWmodel *) genmodel;
|
CSWmodel *firstModel = (CSWmodel *) genmodel;
|
||||||
CSWmodel *model;
|
CSWmodel *model;
|
||||||
CSWinstance *inst;
|
CSWinstance *inst;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOutNoise;
|
double tempOutNoise;
|
||||||
double tempInNoise;
|
double tempInNoise;
|
||||||
double noizDens;
|
double noizDens;
|
||||||
|
|
@ -51,38 +50,12 @@ CSWnoise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt, Ndata *d
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
|
|
||||||
case N_DENS:
|
case N_DENS:
|
||||||
(void)sprintf(name,"onoise_%s",inst->CSWname);
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_%s%s", inst->CSWname, "");
|
||||||
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
(void)sprintf(name,"onoise_total_%s",inst->CSWname);
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_total_%s%s", inst->CSWname, "");
|
||||||
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total_%s%s", inst->CSWname, "");
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
(void)sprintf(name,"inoise_total_%s",inst->CSWname);
|
|
||||||
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,6 @@ DIOnoise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt,
|
||||||
DIOmodel *firstModel = (DIOmodel *) genmodel;
|
DIOmodel *firstModel = (DIOmodel *) genmodel;
|
||||||
DIOmodel *model;
|
DIOmodel *model;
|
||||||
DIOinstance *inst;
|
DIOinstance *inst;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
double noizDens[DIONSRCS];
|
double noizDens[DIONSRCS];
|
||||||
|
|
@ -62,35 +61,14 @@ DIOnoise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt,
|
||||||
|
|
||||||
case N_DENS:
|
case N_DENS:
|
||||||
for (i=0; i < DIONSRCS; i++) {
|
for (i=0; i < DIONSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_%s%s",inst->DIOname,DIOnNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_%s%s", inst->DIOname, DIOnNames[i]);
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt, &(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i=0; i < DIONSRCS; i++) {
|
for (i=0; i < DIONSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_total_%s%s",inst->DIOname,DIOnNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_total_%s%s", inst->DIOname, DIOnNames[i]);
|
||||||
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total_%s%s", inst->DIOname, DIOnNames[i]);
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt, &(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
(void)sprintf(name,"inoise_total_%s%s",inst->DIOname,DIOnNames[i]);
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt, &(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,6 @@ int HSM2noise (
|
||||||
{
|
{
|
||||||
HSM2model *model = (HSM2model *)inModel;
|
HSM2model *model = (HSM2model *)inModel;
|
||||||
HSM2instance *here;
|
HSM2instance *here;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
double noizDens[HSM2NSRCS];
|
double noizDens[HSM2NSRCS];
|
||||||
|
|
@ -122,35 +121,13 @@ int HSM2noise (
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case N_DENS:
|
case N_DENS:
|
||||||
for ( i = 0; i < HSM2NSRCS; i++ ) {
|
for ( i = 0; i < HSM2NSRCS; i++ ) {
|
||||||
(void) sprintf(name, "onoise.%s%s",
|
NOISE_ADD_OUTVAR(ckt, data, "onoise.%s%s", here->HSM2name, HSM2nNames[i]);
|
||||||
(char *)here->HSM2name, HSM2nNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid
|
|
||||||
(ckt, &(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for ( i = 0; i < HSM2NSRCS; i++ ) {
|
for ( i = 0; i < HSM2NSRCS; i++ ) {
|
||||||
(void) sprintf(name, "onoise_total.%s%s",
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_total.%s%s", here->HSM2name, HSM2nNames[i]);
|
||||||
(char *)here->HSM2name, HSM2nNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total.%s%s", here->HSM2name, HSM2nNames[i]);
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid
|
|
||||||
(ckt, &(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
|
|
||||||
(void) sprintf(name, "inoise_total.%s%s",
|
|
||||||
(char *)here->HSM2name, HSM2nNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid
|
|
||||||
(ckt, &(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,6 @@ int HSMHVnoise (
|
||||||
{
|
{
|
||||||
register HSMHVmodel *model = (HSMHVmodel *)inModel;
|
register HSMHVmodel *model = (HSMHVmodel *)inModel;
|
||||||
register HSMHVinstance *here;
|
register HSMHVinstance *here;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise=0.0 ;
|
double tempOnoise=0.0 ;
|
||||||
double tempInoise=0.0 ;
|
double tempInoise=0.0 ;
|
||||||
double noizDens[HSMHVNSRCS] ;
|
double noizDens[HSMHVNSRCS] ;
|
||||||
|
|
@ -77,35 +76,13 @@ int HSMHVnoise (
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case N_DENS:
|
case N_DENS:
|
||||||
for ( i = 0; i < HSMHVNSRCS; i++ ) {
|
for ( i = 0; i < HSMHVNSRCS; i++ ) {
|
||||||
(void) sprintf(name, "onoise.%s%s",
|
NOISE_ADD_OUTVAR(ckt, data, "onoise.%s%s", here->HSMHVname, HSMHVnNames[i]);
|
||||||
here->HSMHVname, HSMHVnNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
(*(SPfrontEnd->IFnewUid))
|
|
||||||
(ckt, &(data->namelist[data->numPlots++]),
|
|
||||||
(IFuid) NULL, name, UID_OTHER, NULL);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for ( i = 0; i < HSMHVNSRCS; i++ ) {
|
for ( i = 0; i < HSMHVNSRCS; i++ ) {
|
||||||
(void) sprintf(name, "onoise_total.%s%s",
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_total.%s%s", here->HSMHVname, HSMHVnNames[i]);
|
||||||
here->HSMHVname, HSMHVnNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total.%s%s", here->HSMHVname, HSMHVnNames[i]);
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
(*(SPfrontEnd->IFnewUid))
|
|
||||||
(ckt, &(data->namelist[data->numPlots++]),
|
|
||||||
(IFuid) NULL, name, UID_OTHER, NULL);
|
|
||||||
|
|
||||||
(void) sprintf(name, "inoise_total.%s%s",
|
|
||||||
here->HSMHVname, HSMHVnNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
(*(SPfrontEnd->IFnewUid))
|
|
||||||
(ckt, &(data->namelist[data->numPlots++]),
|
|
||||||
(IFuid) NULL, name, UID_OTHER, NULL);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,6 @@ int HSMHV2noise (
|
||||||
{
|
{
|
||||||
HSMHV2model *model = (HSMHV2model *)inModel;
|
HSMHV2model *model = (HSMHV2model *)inModel;
|
||||||
HSMHV2instance *here;
|
HSMHV2instance *here;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise=0.0 ;
|
double tempOnoise=0.0 ;
|
||||||
double tempInoise=0.0 ;
|
double tempInoise=0.0 ;
|
||||||
double noizDens[HSMHV2NSRCS] ;
|
double noizDens[HSMHV2NSRCS] ;
|
||||||
|
|
@ -119,35 +118,13 @@ int HSMHV2noise (
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case N_DENS:
|
case N_DENS:
|
||||||
for ( i = 0; i < HSMHV2NSRCS; i++ ) {
|
for ( i = 0; i < HSMHV2NSRCS; i++ ) {
|
||||||
(void) sprintf(name, "onoise.%s%s",
|
NOISE_ADD_OUTVAR(ckt, data, "onoise.%s%s", here->HSMHV2name, HSMHV2nNames[i]);
|
||||||
(char *)here->HSMHV2name, HSMHV2nNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid
|
|
||||||
(ckt, &(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for ( i = 0; i < HSMHV2NSRCS; i++ ) {
|
for ( i = 0; i < HSMHV2NSRCS; i++ ) {
|
||||||
(void) sprintf(name, "onoise_total.%s%s",
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_total.%s%s", here->HSMHV2name, HSMHV2nNames[i]);
|
||||||
(char *)here->HSMHV2name, HSMHV2nNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total.%s%s", here->HSMHV2name, HSMHV2nNames[i]);
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid
|
|
||||||
(ckt, &(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
|
|
||||||
(void) sprintf(name, "inoise_total.%s%s",
|
|
||||||
(char *)here->HSMHV2name, HSMHV2nNames[i]);
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist)
|
|
||||||
return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid
|
|
||||||
(ckt, &(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,6 @@ JFETnoise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt, Ndata *
|
||||||
JFETmodel *firstModel = (JFETmodel *) genmodel;
|
JFETmodel *firstModel = (JFETmodel *) genmodel;
|
||||||
JFETmodel *model;
|
JFETmodel *model;
|
||||||
JFETinstance *inst;
|
JFETinstance *inst;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
double noizDens[JFETNSRCS];
|
double noizDens[JFETNSRCS];
|
||||||
|
|
@ -62,38 +61,14 @@ JFETnoise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt, Ndata *
|
||||||
|
|
||||||
case N_DENS:
|
case N_DENS:
|
||||||
for (i=0; i < JFETNSRCS; i++) {
|
for (i=0; i < JFETNSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_%s%s",inst->JFETname,JFETnNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_%s%s", inst->JFETname, JFETnNames[i]);
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i=0; i < JFETNSRCS; i++) {
|
for (i=0; i < JFETNSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_total_%s%s",inst->JFETname,JFETnNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_total_%s%s", inst->JFETname, JFETnNames[i]);
|
||||||
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total_%s%s", inst->JFETname, JFETnNames[i]);
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
(void)sprintf(name,"inoise_total_%s%s",inst->JFETname,JFETnNames[i]);
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,6 @@ JFET2noise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt, Ndata
|
||||||
JFET2model *firstModel = (JFET2model *) genmodel;
|
JFET2model *firstModel = (JFET2model *) genmodel;
|
||||||
JFET2model *model;
|
JFET2model *model;
|
||||||
JFET2instance *inst;
|
JFET2instance *inst;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
double noizDens[JFET2NSRCS];
|
double noizDens[JFET2NSRCS];
|
||||||
|
|
@ -66,43 +65,14 @@ JFET2noise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt, Ndata
|
||||||
|
|
||||||
case N_DENS:
|
case N_DENS:
|
||||||
for (i=0; i < JFET2NSRCS; i++) {
|
for (i=0; i < JFET2NSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_%s%s",inst->JFET2name,JFET2nNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_%s%s", inst->JFET2name, JFET2nNames[i]);
|
||||||
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i=0; i < JFET2NSRCS; i++) {
|
for (i=0; i < JFET2NSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_total_%s%s",inst->JFET2name,JFET2nNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_total_%s%s", inst->JFET2name, JFET2nNames[i]);
|
||||||
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total_%s%s", inst->JFET2name, JFET2nNames[i]);
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
(void)sprintf(name,"inoise_total_%s%s",inst->JFET2name,JFET2nNames[i]);
|
|
||||||
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,6 @@ MESnoise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt, Ndata *d
|
||||||
MESmodel *firstModel = (MESmodel *) genmodel;
|
MESmodel *firstModel = (MESmodel *) genmodel;
|
||||||
MESmodel *model;
|
MESmodel *model;
|
||||||
MESinstance *inst;
|
MESinstance *inst;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
double noizDens[MESNSRCS];
|
double noizDens[MESNSRCS];
|
||||||
|
|
@ -61,48 +60,14 @@ MESnoise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt, Ndata *d
|
||||||
|
|
||||||
case N_DENS:
|
case N_DENS:
|
||||||
for (i=0; i < MESNSRCS; i++) {
|
for (i=0; i < MESNSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_%s%s",inst->MESname,MESnNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_%s%s", inst->MESname, MESnNames[i]);
|
||||||
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i=0; i < MESNSRCS; i++) {
|
for (i=0; i < MESNSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_total_%s%s",inst->MESname,MESnNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_total_%s%s", inst->MESname, MESnNames[i]);
|
||||||
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total_%s%s", inst->MESname, MESnNames[i]);
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
(void)sprintf(name,"inoise_total_%s%s",inst->MESname,MESnNames[i]);
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTname(name,SV_INPUT_NOISE_V_SQ);
|
|
||||||
data->numPlots += 2;
|
|
||||||
*/
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,6 @@ MOS1noise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt,
|
||||||
MOS1model *firstModel = (MOS1model *) genmodel;
|
MOS1model *firstModel = (MOS1model *) genmodel;
|
||||||
MOS1model *model;
|
MOS1model *model;
|
||||||
MOS1instance *inst;
|
MOS1instance *inst;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double coxSquared;
|
double coxSquared;
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
|
|
@ -73,43 +72,14 @@ MOS1noise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt,
|
||||||
|
|
||||||
case N_DENS:
|
case N_DENS:
|
||||||
for (i=0; i < MOS1NSRCS; i++) {
|
for (i=0; i < MOS1NSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_%s%s",inst->MOS1name,MOS1nNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_%s%s", inst->MOS1name, MOS1nNames[i]);
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i=0; i < MOS1NSRCS; i++) {
|
for (i=0; i < MOS1NSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_total_%s%s",inst->MOS1name,MOS1nNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_total_%s%s", inst->MOS1name, MOS1nNames[i]);
|
||||||
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total_%s%s", inst->MOS1name, MOS1nNames[i]);
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
(void)sprintf(name,"inoise_total_%s%s",inst->MOS1name,MOS1nNames[i]);
|
|
||||||
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,6 @@ MOS2noise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt,
|
||||||
MOS2model *firstModel = (MOS2model *) genmodel;
|
MOS2model *firstModel = (MOS2model *) genmodel;
|
||||||
MOS2model *model;
|
MOS2model *model;
|
||||||
MOS2instance *inst;
|
MOS2instance *inst;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
double noizDens[MOS2NSRCS];
|
double noizDens[MOS2NSRCS];
|
||||||
|
|
@ -62,44 +61,14 @@ MOS2noise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt,
|
||||||
|
|
||||||
case N_DENS:
|
case N_DENS:
|
||||||
for (i=0; i < MOS2NSRCS; i++) {
|
for (i=0; i < MOS2NSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_%s%s",inst->MOS2name,MOS2nNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_%s%s", inst->MOS2name, MOS2nNames[i]);
|
||||||
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i=0; i < MOS2NSRCS; i++) {
|
for (i=0; i < MOS2NSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_total_%s%s",inst->MOS2name,MOS2nNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_total_%s%s", inst->MOS2name, MOS2nNames[i]);
|
||||||
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total_%s%s", inst->MOS2name, MOS2nNames[i]);
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
(void)sprintf(name,"inoise_total_%s%s",inst->MOS2name,MOS2nNames[i]);
|
|
||||||
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,6 @@ MOS3noise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt,
|
||||||
MOS3model *firstModel = (MOS3model *) genmodel;
|
MOS3model *firstModel = (MOS3model *) genmodel;
|
||||||
MOS3model *model;
|
MOS3model *model;
|
||||||
MOS3instance *inst;
|
MOS3instance *inst;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
double noizDens[MOS3NSRCS];
|
double noizDens[MOS3NSRCS];
|
||||||
|
|
@ -62,45 +61,14 @@ MOS3noise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt,
|
||||||
|
|
||||||
case N_DENS:
|
case N_DENS:
|
||||||
for (i=0; i < MOS3NSRCS; i++) {
|
for (i=0; i < MOS3NSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_%s%s",inst->MOS3name,MOS3nNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_%s%s", inst->MOS3name, MOS3nNames[i]);
|
||||||
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i=0; i < MOS3NSRCS; i++) {
|
for (i=0; i < MOS3NSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_total_%s%s",inst->MOS3name,MOS3nNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_total_%s%s", inst->MOS3name, MOS3nNames[i]);
|
||||||
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total_%s%s", inst->MOS3name, MOS3nNames[i]);
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
(void)sprintf(name,"inoise_total_%s%s",inst->MOS3name,MOS3nNames[i]);
|
|
||||||
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,6 @@ MOS9noise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt,
|
||||||
MOS9model *firstModel = (MOS9model *) genmodel;
|
MOS9model *firstModel = (MOS9model *) genmodel;
|
||||||
MOS9model *model;
|
MOS9model *model;
|
||||||
MOS9instance *inst;
|
MOS9instance *inst;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
double noizDens[MOS9NSRCS];
|
double noizDens[MOS9NSRCS];
|
||||||
|
|
@ -62,45 +61,14 @@ MOS9noise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt,
|
||||||
|
|
||||||
case N_DENS:
|
case N_DENS:
|
||||||
for (i=0; i < MOS9NSRCS; i++) {
|
for (i=0; i < MOS9NSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_%s%s",inst->MOS9name,MOS9nNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_%s%s", inst->MOS9name, MOS9nNames[i]);
|
||||||
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i=0; i < MOS9NSRCS; i++) {
|
for (i=0; i < MOS9NSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_total_%s%s",inst->MOS9name,MOS9nNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_total_%s%s", inst->MOS9name, MOS9nNames[i]);
|
||||||
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total_%s%s", inst->MOS9name, MOS9nNames[i]);
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
(void)sprintf(name,"inoise_total_%s%s",inst->MOS9name,MOS9nNames[i]);
|
|
||||||
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,6 @@ RESnoise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt,
|
||||||
RESmodel *firstModel = (RESmodel *) genmodel;
|
RESmodel *firstModel = (RESmodel *) genmodel;
|
||||||
RESmodel *model;
|
RESmodel *model;
|
||||||
RESinstance *inst;
|
RESinstance *inst;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOutNoise;
|
double tempOutNoise;
|
||||||
double tempInNoise;
|
double tempInNoise;
|
||||||
double noizDens[RESNSRCS];
|
double noizDens[RESNSRCS];
|
||||||
|
|
@ -73,43 +72,14 @@ RESnoise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt,
|
||||||
|
|
||||||
case N_DENS:
|
case N_DENS:
|
||||||
for (i=0; i < RESNSRCS; i++) {
|
for (i=0; i < RESNSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_%s%s",
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_%s%s", inst->RESname, RESnNames[i]);
|
||||||
inst->RESname, RESnNames[i]);
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i=0; i < RESNSRCS; i++) {
|
for (i=0; i < RESNSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_total_%s%s",
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_total_%s%s", inst->RESname, RESnNames[i]);
|
||||||
inst->RESname, RESnNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total_%s%s", inst->RESname, RESnNames[i]);
|
||||||
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
(void)sprintf(name,"inoise_total_%s%s",
|
|
||||||
inst->RESname,RESnNames[i]);
|
|
||||||
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,6 @@ SOI3noise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt,
|
||||||
SOI3model *firstModel = (SOI3model *) genmodel;
|
SOI3model *firstModel = (SOI3model *) genmodel;
|
||||||
SOI3model *model;
|
SOI3model *model;
|
||||||
SOI3instance *inst;
|
SOI3instance *inst;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
double noizDens[SOI3NSRCS];
|
double noizDens[SOI3NSRCS];
|
||||||
|
|
@ -85,44 +84,14 @@ SOI3noise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt,
|
||||||
|
|
||||||
case N_DENS:
|
case N_DENS:
|
||||||
for (i=0; i < SOI3NSRCS; i++) {
|
for (i=0; i < SOI3NSRCS; i++) {
|
||||||
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_%s%s", inst->SOI3name, SOI3nNames[i]);
|
||||||
(void)sprintf(name,"onoise_%s%s",inst->SOI3name,SOI3nNames[i]);
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i=0; i < SOI3NSRCS; i++) {
|
for (i=0; i < SOI3NSRCS; i++) {
|
||||||
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_total_%s%s", inst->SOI3name, SOI3nNames[i]);
|
||||||
(void)sprintf(name,"onoise_total_%s%s",inst->SOI3name,SOI3nNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total_%s%s", inst->SOI3name, SOI3nNames[i]);
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
(void)sprintf(name,"inoise_total_%s%s",inst->SOI3name,SOI3nNames[i]);
|
|
||||||
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,6 @@ SWnoise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt, Ndata *da
|
||||||
SWmodel *firstModel = (SWmodel *) genmodel;
|
SWmodel *firstModel = (SWmodel *) genmodel;
|
||||||
SWmodel *model;
|
SWmodel *model;
|
||||||
SWinstance *inst;
|
SWinstance *inst;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOutNoise;
|
double tempOutNoise;
|
||||||
double tempInNoise;
|
double tempInNoise;
|
||||||
double noizDens;
|
double noizDens;
|
||||||
|
|
@ -51,42 +50,12 @@ SWnoise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt, Ndata *da
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
|
|
||||||
case N_DENS:
|
case N_DENS:
|
||||||
(void)sprintf(name,"onoise_%s",inst->SWname);
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_%s%s", inst->SWname, "");
|
||||||
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
(void)sprintf(name,"onoise_total_%s",inst->SWname);
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_total_%s%s", inst->SWname, "");
|
||||||
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total_%s%s", inst->SWname, "");
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
(void)sprintf(name,"inoise_total_%s",inst->SWname);
|
|
||||||
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,6 @@ VBICnoise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt, Ndata *
|
||||||
VBICmodel *firstModel = (VBICmodel *) genmodel;
|
VBICmodel *firstModel = (VBICmodel *) genmodel;
|
||||||
VBICmodel *model;
|
VBICmodel *model;
|
||||||
VBICinstance *inst;
|
VBICinstance *inst;
|
||||||
char name[N_MXVLNTH];
|
|
||||||
double tempOnoise;
|
double tempOnoise;
|
||||||
double tempInoise;
|
double tempInoise;
|
||||||
double noizDens[VBICNSRCS];
|
double noizDens[VBICNSRCS];
|
||||||
|
|
@ -75,40 +74,14 @@ VBICnoise (int mode, int operation, GENmodel *genmodel, CKTcircuit *ckt, Ndata *
|
||||||
|
|
||||||
case N_DENS:
|
case N_DENS:
|
||||||
for (i=0; i < VBICNSRCS; i++) {
|
for (i=0; i < VBICNSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_%s%s",
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_%s%s", inst->VBICname, VBICnNames[i]);
|
||||||
inst->VBICname,VBICnNames[i]);
|
|
||||||
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case INT_NOIZ:
|
case INT_NOIZ:
|
||||||
for (i=0; i < VBICNSRCS; i++) {
|
for (i=0; i < VBICNSRCS; i++) {
|
||||||
(void)sprintf(name,"onoise_total_%s%s",
|
NOISE_ADD_OUTVAR(ckt, data, "onoise_total_%s%s", inst->VBICname, VBICnNames[i]);
|
||||||
inst->VBICname,VBICnNames[i]);
|
NOISE_ADD_OUTVAR(ckt, data, "inoise_total_%s%s", inst->VBICname, VBICnNames[i]);
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
|
|
||||||
(void)sprintf(name,"inoise_total_%s%s",
|
|
||||||
inst->VBICname,VBICnNames[i]);
|
|
||||||
|
|
||||||
data->namelist = TREALLOC(IFuid, data->namelist, data->numPlots + 1);
|
|
||||||
if (!data->namelist) return(E_NOMEM);
|
|
||||||
SPfrontEnd->IFnewUid (ckt,
|
|
||||||
&(data->namelist[data->numPlots++]),
|
|
||||||
NULL, name, UID_OTHER, NULL);
|
|
||||||
/* we've added one more plot */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue