re-introdeuce parameter phi Resulting temperature dependency of vto still not available
This commit is contained in:
parent
070b448420
commit
0dc0aa06c4
|
|
@ -57,6 +57,7 @@ typedef struct sVDMOSinstance {
|
|||
double VDMOSdtemp; /* operating temperature of the instance relative to circuit temperature*/
|
||||
|
||||
double VDMOStTransconductance; /* temperature corrected transconductance*/
|
||||
double VDMOStPhi; /* temperature corrected Phi */
|
||||
double VDMOStVto; /* temperature corrected Vto */
|
||||
double VDMOStSatCur; /* temperature corrected saturation Cur. */
|
||||
double VDMOStBulkPot; /* temperature corrected Bulk potential */
|
||||
|
|
|
|||
|
|
@ -282,7 +282,7 @@ VDMOSdSetup(GENmodel *inModel, CKTcircuit *ckt)
|
|||
|
||||
|
||||
|
||||
phi = 0.6;
|
||||
phi = here->VDMOStPhi;
|
||||
cox = 0;/*FIXME: can we do disto without knowing the oxide thickness?*/
|
||||
if (vgst <= -phi) {
|
||||
lcapgb2=lcapgb3=lcapgs2=lcapgs3=lcapgd2=lcapgd3=0;
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ VDMOStemp(GENmodel *inModel, CKTcircuit *ckt)
|
|||
double kt,kt1;
|
||||
double arg1;
|
||||
double ratio,ratio4;
|
||||
double phio;
|
||||
double pbfact1,pbfact;
|
||||
double vt,vtnom;
|
||||
/* loop through all the resistor models */
|
||||
|
|
@ -43,6 +44,12 @@ VDMOStemp(GENmodel *inModel, CKTcircuit *ckt)
|
|||
|
||||
/* now model parameter preprocessing */
|
||||
|
||||
if (model->VDMOSphi <= 0.0) {
|
||||
SPfrontEnd->IFerrorf(ERR_FATAL,
|
||||
"%s: Phi is not positive.", model->VDMOSmodName);
|
||||
return(E_BADPARM);
|
||||
}
|
||||
|
||||
model->VDMOSoxideCapFactor = 0;
|
||||
|
||||
|
||||
|
|
@ -80,6 +87,8 @@ VDMOStemp(GENmodel *inModel, CKTcircuit *ckt)
|
|||
|
||||
ratio4 = ratio * sqrt(ratio);
|
||||
here->VDMOStTransconductance = model->VDMOStransconductance / ratio4;
|
||||
phio = (model->VDMOSphi - pbfact1) / fact1;
|
||||
here->VDMOStPhi = fact2 * phio + pbfact;
|
||||
here->VDMOStVto = model->VDMOSvt0;
|
||||
|
||||
here->VDMOSCbd = 0;
|
||||
|
|
|
|||
Loading…
Reference in New Issue