re-format code
This commit is contained in:
parent
9d00a9e28d
commit
f3478d7f13
|
|
@ -138,8 +138,7 @@ VDMOSload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
*(ckt->CKTstate0 + here->VDMOSvbd) =
|
||||
*(ckt->CKTstate0 + here->VDMOSvbs) -
|
||||
*(ckt->CKTstate0 + here->VDMOSvds);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
#endif /* PREDICTOR */
|
||||
|
||||
/* general iteration */
|
||||
|
|
@ -179,8 +178,7 @@ VDMOSload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
here->VDMOSgmbs * delvbs +
|
||||
here->VDMOSgm * delvgs +
|
||||
here->VDMOSgds * delvds;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
cdhat =
|
||||
here->VDMOScd -
|
||||
(here->VDMOSgbd -
|
||||
|
|
@ -279,8 +277,7 @@ VDMOSload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
vds = vgs - vgd;
|
||||
vds = DEVlimvds(vds, *(ckt->CKTstate0 + here->VDMOSvds));
|
||||
vgd = vgs - vds;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
vgd = DEVfetlim(vgd, vgdo, von);
|
||||
vds = vgs - vgd;
|
||||
if (!(ckt->CKTfixLimit)) {
|
||||
|
|
@ -293,8 +290,7 @@ VDMOSload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
vbs = DEVpnjlim(vbs, *(ckt->CKTstate0 + here->VDMOSvbs),
|
||||
vt, here->VDMOSsourceVcrit, &Check);
|
||||
vbd = vbs - vds;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
vbd = DEVpnjlim(vbd, *(ckt->CKTstate0 + here->VDMOSvbd),
|
||||
vt, here->VDMOSdrainVcrit, &Check);
|
||||
vbs = vbd + vds;
|
||||
|
|
@ -304,8 +300,7 @@ VDMOSload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
|
||||
*/
|
||||
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
|
||||
/* ok - not one of the simple cases, so we have to
|
||||
* look at all of the possibilities for why we were
|
||||
|
|
@ -324,8 +319,7 @@ VDMOSload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
vgs = model->VDMOStype * here->VDMOStVto;
|
||||
vds = 0;
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
vbs = vgs = vds = 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -350,8 +344,7 @@ VDMOSload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
if (vbs <= -3 * vt) {
|
||||
here->VDMOSgbs = ckt->CKTgmin;
|
||||
here->VDMOScbs = here->VDMOSgbs*vbs - SourceSatCur;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
evbs = exp(MIN(MAX_EXP_ARG, vbs / vt));
|
||||
here->VDMOSgbs = SourceSatCur*evbs / vt + ckt->CKTgmin;
|
||||
here->VDMOScbs = SourceSatCur*(evbs - 1) + ckt->CKTgmin*vbs;
|
||||
|
|
@ -359,8 +352,7 @@ VDMOSload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
if (vbd <= -3 * vt) {
|
||||
here->VDMOSgbd = ckt->CKTgmin;
|
||||
here->VDMOScbd = here->VDMOSgbd*vbd - DrainSatCur;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
evbd = exp(MIN(MAX_EXP_ARG, vbd / vt));
|
||||
here->VDMOSgbd = DrainSatCur*evbd / vt + ckt->CKTgmin;
|
||||
here->VDMOScbd = DrainSatCur*(evbd - 1) + ckt->CKTgmin*vbd;
|
||||
|
|
@ -371,8 +363,7 @@ VDMOSload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
if (vds >= 0) {
|
||||
/* normal mode */
|
||||
here->VDMOSmode = 1;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
/* inverse mode */
|
||||
here->VDMOSmode = -1;
|
||||
}
|
||||
|
|
@ -408,8 +399,7 @@ VDMOSload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
here->VDMOSgm = 0;
|
||||
here->VDMOSgds = 0;
|
||||
here->VDMOSgmbs = 0;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
/*
|
||||
* saturation region
|
||||
*/
|
||||
|
|
@ -419,8 +409,7 @@ VDMOSload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
here->VDMOSgm = betap*vgst;
|
||||
here->VDMOSgds = model->VDMOSlambda*Beta*vgst*vgst*.5;
|
||||
here->VDMOSgmbs = here->VDMOSgm*arg;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
/*
|
||||
* linear region
|
||||
*/
|
||||
|
|
@ -507,8 +496,7 @@ VDMOSload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
capgs = 2 * *(ckt->CKTstate0 + here->VDMOScapgs);
|
||||
capgd = 2 * *(ckt->CKTstate0 + here->VDMOScapgd);
|
||||
capgb = 2 * *(ckt->CKTstate0 + here->VDMOScapgb);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
capgs = (*(ckt->CKTstate0 + here->VDMOScapgs) +
|
||||
*(ckt->CKTstate1 + here->VDMOScapgs));
|
||||
capgd = (*(ckt->CKTstate0 + here->VDMOScapgd) +
|
||||
|
|
@ -531,8 +519,7 @@ VDMOSload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
*(ckt->CKTstate0 + here->VDMOSqgb) =
|
||||
(1 + xfact) * *(ckt->CKTstate1 + here->VDMOSqgb)
|
||||
- xfact * *(ckt->CKTstate2 + here->VDMOSqgb);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
#endif /*PREDICTOR*/
|
||||
if (ckt->CKTmode & MODETRAN) {
|
||||
*(ckt->CKTstate0 + here->VDMOSqgs) = (vgs - vgs1)*capgs +
|
||||
|
|
@ -541,8 +528,7 @@ VDMOSload(GENmodel *inModel, CKTcircuit *ckt)
|
|||
*(ckt->CKTstate1 + here->VDMOSqgd);
|
||||
*(ckt->CKTstate0 + here->VDMOSqgb) = (vgb - vgb1)*capgb +
|
||||
*(ckt->CKTstate1 + here->VDMOSqgb);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
/* TRANOP only */
|
||||
*(ckt->CKTstate0 + here->VDMOSqgs) = vgs*capgs;
|
||||
*(ckt->CKTstate0 + here->VDMOSqgd) = vgd*capgd;
|
||||
|
|
@ -568,8 +554,7 @@ bypass :
|
|||
ceqgd = 0;
|
||||
gcgb = 0;
|
||||
ceqgb = 0;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
if (capgs == 0) *(ckt->CKTstate0 + here->VDMOScqgs) = 0;
|
||||
if (capgd == 0) *(ckt->CKTstate0 + here->VDMOScqgd) = 0;
|
||||
if (capgb == 0) *(ckt->CKTstate0 + here->VDMOScqgb) = 0;
|
||||
|
|
@ -606,8 +591,7 @@ bypass :
|
|||
xrev = 0;
|
||||
cdreq = model->VDMOStype*(cdrain - here->VDMOSgds*vds -
|
||||
here->VDMOSgm*vgs - here->VDMOSgmbs*vbs);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
xnrm = 0;
|
||||
xrev = 1;
|
||||
cdreq = -(model->VDMOStype)*(cdrain - here->VDMOSgds*(-vds) -
|
||||
|
|
@ -693,18 +677,14 @@ bypass :
|
|||
Check = 1;
|
||||
if (ckt->CKTmode & MODEINITSMSIG) {
|
||||
vd = *(ckt->CKTstate0 + here->VDIOvoltage);
|
||||
}
|
||||
else if (ckt->CKTmode & MODEINITTRAN) {
|
||||
} else if (ckt->CKTmode & MODEINITTRAN) {
|
||||
vd = *(ckt->CKTstate1 + here->VDIOvoltage);
|
||||
}
|
||||
else if ((ckt->CKTmode & MODEINITJCT) &&
|
||||
} else if ((ckt->CKTmode & MODEINITJCT) &&
|
||||
(ckt->CKTmode & MODETRANOP) && (ckt->CKTmode & MODEUIC)) {
|
||||
vd = here->VDIOinitCond;
|
||||
}
|
||||
else if (ckt->CKTmode & MODEINITJCT) {
|
||||
} else if (ckt->CKTmode & MODEINITJCT) {
|
||||
vd = here->VDIOtVcrit;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
#ifndef PREDICTOR
|
||||
if (ckt->CKTmode & MODEINITPRED) {
|
||||
*(ckt->CKTstate0 + here->VDIOvoltage) =
|
||||
|
|
@ -714,8 +694,7 @@ bypass :
|
|||
*(ckt->CKTstate1 + here->VDIOcurrent);
|
||||
*(ckt->CKTstate0 + here->VDIOconduct) =
|
||||
*(ckt->CKTstate1 + here->VDIOconduct);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
#endif /* PREDICTOR */
|
||||
vd = model->VDMOStype * (*(ckt->CKTrhsOld + here->VDIOposPrimeNode) -
|
||||
*(ckt->CKTrhsOld + here->VDMOSdNode));
|
||||
|
|
@ -757,14 +736,13 @@ bypass :
|
|||
vbrknp), vtebrk,
|
||||
here->VDIOtVcrit, &Check);
|
||||
vd = -(vdtemp + vbrknp);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
vd = DEVpnjlim(vd, *(ckt->CKTstate0 + here->VDIOvoltage),
|
||||
vte, here->VDIOtVcrit, &Check);
|
||||
}
|
||||
}
|
||||
/*
|
||||
* compute dc current and derivitives
|
||||
* compute dc current and derivatives
|
||||
*/
|
||||
if (vd >= -3 * vte) { /* bottom current forward */
|
||||
|
||||
|
|
@ -772,8 +750,7 @@ bypass :
|
|||
cdb = csat*(evd - 1);
|
||||
gdb = csat*evd / vte;
|
||||
|
||||
}
|
||||
else if ((!(model->VDMOSDbvGiven)) ||
|
||||
} else if ((!(model->VDMOSDbvGiven)) ||
|
||||
vd >= -vbrknp) { /* reverse */
|
||||
|
||||
arg = 3 * vte / (vd*CONSTe);
|
||||
|
|
@ -781,8 +758,7 @@ bypass :
|
|||
cdb = -csat*(1 + arg);
|
||||
gdb = csat * 3 * arg / vd;
|
||||
|
||||
}
|
||||
else { /* breakdown */
|
||||
} else { /* breakdown */
|
||||
|
||||
evrev = exp(-(vbrknp + vd) / vtebrk);
|
||||
cdb = -csat*evrev;
|
||||
|
|
@ -808,8 +784,7 @@ bypass :
|
|||
sarg = exp(-here->VDIOtGradingCoeff*log(arg));
|
||||
deplcharge = here->VDIOtJctPot*czero*(1 - arg*sarg) / (1 - here->VDIOtGradingCoeff);
|
||||
deplcap = czero*sarg;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
czof2 = czero / here->VDIOtF2;
|
||||
deplcharge = czero*here->VDIOtF1 + czof2*(here->VDIOtF3*(vd - here->VDIOtDepCap) +
|
||||
(here->VDIOtGradingCoeff / (here->VDIOtJctPot + here->VDIOtJctPot))*(vd*vd - here->VDIOtDepCap*here->VDIOtDepCap));
|
||||
|
|
@ -877,8 +852,7 @@ load :
|
|||
if (model->VDMOStype == 1) {
|
||||
*(ckt->CKTrhs + here->VDMOSdNode) += cdeq;
|
||||
*(ckt->CKTrhs + here->VDIOposPrimeNode) -= cdeq;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
*(ckt->CKTrhs + here->VDMOSdNode) -= cdeq;
|
||||
*(ckt->CKTrhs + here->VDIOposPrimeNode) += cdeq;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue