variables are assigned values twice successively
This commit is contained in:
parent
0181a05a58
commit
bb0ccbbcf8
|
|
@ -224,7 +224,7 @@ inp_subcktexpand(struct card *deck) {
|
||||||
if (!cp_getvar("modelline", CP_STRING, model, sizeof(model)))
|
if (!cp_getvar("modelline", CP_STRING, model, sizeof(model)))
|
||||||
strcpy(model, ".model");
|
strcpy(model, ".model");
|
||||||
|
|
||||||
use_numparams = cp_getvar("numparams", CP_BOOL, NULL, 0);
|
/* use_numparams = cp_getvar("numparams", CP_BOOL, NULL, 0); */
|
||||||
|
|
||||||
use_numparams = TRUE;
|
use_numparams = TRUE;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -467,7 +467,6 @@ int BJTdSetup(GENmodel *inModel, CKTcircuit *ckt)
|
||||||
/* ib term */
|
/* ib term */
|
||||||
|
|
||||||
EqualDeriv(&d_ib, &d_p);
|
EqualDeriv(&d_ib, &d_p);
|
||||||
d_ib.d1_p = 0.0;
|
|
||||||
d_ib.value = cb;
|
d_ib.value = cb;
|
||||||
d_ib.d1_p = gbe/here->BJTtBetaF + gben;
|
d_ib.d1_p = gbe/here->BJTtBetaF + gben;
|
||||||
d_ib.d2_p2 = gbe2/here->BJTtBetaF + gben2;
|
d_ib.d2_p2 = gbe2/here->BJTtBetaF + gben2;
|
||||||
|
|
|
||||||
|
|
@ -610,7 +610,7 @@ int B4SOILoadOMP(B4SOIinstance *here, CKTcircuit *ckt) {
|
||||||
if ((vds == 0.0) && (vgs == 0.0) && (vbs == 0.0) &&
|
if ((vds == 0.0) && (vgs == 0.0) && (vbs == 0.0) &&
|
||||||
((ckt->CKTmode & (MODETRAN | MODEAC|MODEDCOP |
|
((ckt->CKTmode & (MODETRAN | MODEAC|MODEDCOP |
|
||||||
MODEDCTRANCURVE)) || (!(ckt->CKTmode & MODEUIC))))
|
MODEDCTRANCURVE)) || (!(ckt->CKTmode & MODEUIC))))
|
||||||
{ vbs = 0.0;
|
{
|
||||||
/* vgs = model->B4SOItype*0.1 + here->B4SOIvth0; */
|
/* vgs = model->B4SOItype*0.1 + here->B4SOIvth0; */
|
||||||
vgs = model->B4SOItype * here->B4SOIvth0 + 0.1; /* v4.0 */
|
vgs = model->B4SOItype * here->B4SOIvth0 + 0.1; /* v4.0 */
|
||||||
vds = 0.0;
|
vds = 0.0;
|
||||||
|
|
|
||||||
|
|
@ -100,13 +100,12 @@ DIOdSetup(DIOmodel *model, CKTcircuit *ckt)
|
||||||
/* why using csat instead of breakdowncurrent? */
|
/* why using csat instead of breakdowncurrent? */
|
||||||
evrev=exp(-(here->DIOtBrkdwnV+vd)/vt);
|
evrev=exp(-(here->DIOtBrkdwnV+vd)/vt);
|
||||||
cd = -csat*evrev;
|
cd = -csat*evrev;
|
||||||
gd = csat*evrev/vte;
|
gd = csat*evrev/vt;
|
||||||
/*
|
/*
|
||||||
* cd = -csat*(evrev-1+here->DIOtBrkdwnV/vt);
|
* cd = -csat*(evrev-1+here->DIOtBrkdwnV/vt);
|
||||||
*/
|
*/
|
||||||
/* should there be a minus here above?
|
/* should there be a minus here above?
|
||||||
*/
|
*/
|
||||||
gd=csat*evrev/vt;
|
|
||||||
g2 = -gd/2/vt;
|
g2 = -gd/2/vt;
|
||||||
g3 = -g2/3/vt;
|
g3 = -g2/3/vt;
|
||||||
cdiff3 = cdiff2 = 0;
|
cdiff3 = cdiff2 = 0;
|
||||||
|
|
|
||||||
|
|
@ -81,7 +81,7 @@ NUMD2load(GENmodel *inModel, CKTcircuit *ckt)
|
||||||
}
|
}
|
||||||
} else if (ckt->CKTmode & MODEINITTRAN) {
|
} else if (ckt->CKTmode & MODEINITTRAN) {
|
||||||
model->NUMD2pInfo->order = ckt->CKTorder;
|
model->NUMD2pInfo->order = ckt->CKTorder;
|
||||||
model->NUMD2pInfo->method = GEAR;
|
/* model->NUMD2pInfo->method = GEAR; */
|
||||||
model->NUMD2pInfo->method = ckt->CKTintegrateMethod;
|
model->NUMD2pInfo->method = ckt->CKTintegrateMethod;
|
||||||
for (i = 0; i <= ckt->CKTmaxOrder; i++) {
|
for (i = 0; i <= ckt->CKTmaxOrder; i++) {
|
||||||
deltaNorm[i] = ckt->CKTdeltaOld[i] / TNorm;
|
deltaNorm[i] = ckt->CKTdeltaOld[i] / TNorm;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue