|
|
|
@ -22,8 +22,6 @@ VDMOSdSetup(GENmodel *inModel, CKTcircuit *ckt) |
|
|
|
VDMOSinstance *here; |
|
|
|
double Beta; |
|
|
|
double DrainSatCur; |
|
|
|
double EffectiveLength; |
|
|
|
double OxideCap; |
|
|
|
double SourceSatCur; |
|
|
|
double gm; |
|
|
|
double gds; |
|
|
|
@ -83,7 +81,6 @@ VDMOSdSetup(GENmodel *inModel, CKTcircuit *ckt) |
|
|
|
here=VDMOSnextInstance(here)) { |
|
|
|
|
|
|
|
vt = CONSTKoverQ * here->VDMOStemp; |
|
|
|
EffectiveLength=here->VDMOSl - 2*model->VDMOSlatDiff; |
|
|
|
|
|
|
|
if( (here->VDMOStSatCurDens == 0) || |
|
|
|
(here->VDMOSdrainArea == 0) || |
|
|
|
@ -97,9 +94,7 @@ VDMOSdSetup(GENmodel *inModel, CKTcircuit *ckt) |
|
|
|
here->VDMOSm * here->VDMOSsourceArea; |
|
|
|
} |
|
|
|
Beta = here->VDMOStTransconductance * here->VDMOSm * |
|
|
|
here->VDMOSw/EffectiveLength; |
|
|
|
OxideCap = model->VDMOSoxideCapFactor * EffectiveLength * |
|
|
|
here->VDMOSm * here->VDMOSw; |
|
|
|
here->VDMOSw/here->VDMOSl; |
|
|
|
|
|
|
|
vbs = model->VDMOStype * ( |
|
|
|
*(ckt->CKTrhsOld+here->VDMOSbNode) - |
|
|
|
@ -440,7 +435,7 @@ VDMOSdSetup(GENmodel *inModel, CKTcircuit *ckt) |
|
|
|
|
|
|
|
|
|
|
|
phi = here->VDMOStPhi; |
|
|
|
cox = OxideCap; |
|
|
|
cox = 0;/*FIXME: can we do disto without knowing the oxide thickness?*/ |
|
|
|
if (vgst <= -phi) { |
|
|
|
lcapgb2=lcapgb3=lcapgs2=lcapgs3=lcapgd2=lcapgd3=0; |
|
|
|
} else if (vgst <= -phi/2) { |
|
|
|
|