diff --git a/src/spicelib/devices/vdmos/vdmosdefs.h b/src/spicelib/devices/vdmos/vdmosdefs.h index fc9e6348e..5963a3db9 100644 --- a/src/spicelib/devices/vdmos/vdmosdefs.h +++ b/src/spicelib/devices/vdmos/vdmosdefs.h @@ -319,7 +319,6 @@ typedef struct sVDMOSmodel { /* model structure for a resistor */ /* bulk diode */ double VDIOjunctionCap; /* input - use tCj */ double VDIOjunctionPot; /* input - use tBulkPot */ - double VDMOSbulkJctBotGradingCoeff; double VDIOdepletionCapCoeff; double VDIOjctSatCur; /* input - use tSatCur */ double VDMOSDbv; @@ -335,6 +334,7 @@ typedef struct sVDMOSmodel { /* model structure for a resistor */ double VDIOtranTimeTemp2; double VDMOSDeg; double VDMOSDxti; + double VDIOgradCoeff; double VDIOgradCoeffTemp1; double VDIOgradCoeffTemp2; @@ -345,7 +345,7 @@ typedef struct sVDMOSmodel { /* model structure for a resistor */ unsigned VDMOSgateResistanceGiven :1; unsigned VDMOStransconductanceGiven :1; unsigned VDMOSvt0Given :1; - unsigned VDMOSbulkJctBotGradingCoeffGiven :1; + unsigned VDIOgradCoeffGiven :1; unsigned VDIOdepletionCapCoeffGiven :1; unsigned VDMOSphiGiven :1; unsigned VDMOSlambdaGiven :1; diff --git a/src/spicelib/devices/vdmos/vdmosmask.c b/src/spicelib/devices/vdmos/vdmosmask.c index 8589664bc..d3f32909a 100644 --- a/src/spicelib/devices/vdmos/vdmosmask.c +++ b/src/spicelib/devices/vdmos/vdmosmask.c @@ -81,7 +81,7 @@ VDMOSmAsk(CKTcircuit *ckt, GENmodel *inst, int which, IFvalue *value) value->rValue = model->VDIOjunctionCap; return(OK); case VDMOS_MOD_MJ: - value->rValue = model->VDMOSbulkJctBotGradingCoeff; + value->rValue = model->VDIOgradCoeff; return(OK); case VDMOS_MOD_BV: value->rValue = model->VDMOSDbv; diff --git a/src/spicelib/devices/vdmos/vdmosmpar.c b/src/spicelib/devices/vdmos/vdmosmpar.c index a0f9dcdd2..0da011b00 100644 --- a/src/spicelib/devices/vdmos/vdmosmpar.c +++ b/src/spicelib/devices/vdmos/vdmosmpar.c @@ -66,8 +66,8 @@ VDMOSmParam(int param, IFvalue *value, GENmodel *inModel) model->VDIOjunctionCapGiven = TRUE; break; case VDMOS_MOD_MJ: - model->VDMOSbulkJctBotGradingCoeff = value->rValue; - model->VDMOSbulkJctBotGradingCoeffGiven = TRUE; + model->VDIOgradCoeff = value->rValue; + model->VDIOgradCoeffGiven = TRUE; model->VDIOgradCoeffTemp1 = 0; model->VDIOgradCoeffTemp2 = 0; break; diff --git a/src/spicelib/devices/vdmos/vdmosset.c b/src/spicelib/devices/vdmos/vdmosset.c index e377f0b19..8c8136184 100644 --- a/src/spicelib/devices/vdmos/vdmosset.c +++ b/src/spicelib/devices/vdmos/vdmosset.c @@ -42,8 +42,8 @@ VDMOSsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, if (!model->VDIOjunctionPotGiven) { model->VDIOjunctionPot = .8; } - if (!model->VDMOSbulkJctBotGradingCoeffGiven) { - model->VDMOSbulkJctBotGradingCoeff = .5; + if (!model->VDIOgradCoeffGiven) { + model->VDIOgradCoeff = .5; } if (!model->VDIOdepletionCapCoeffGiven) { model->VDIOdepletionCapCoeff = .5; diff --git a/src/spicelib/devices/vdmos/vdmostemp.c b/src/spicelib/devices/vdmos/vdmostemp.c index 34a39d712..6d9b16d23 100644 --- a/src/spicelib/devices/vdmos/vdmostemp.c +++ b/src/spicelib/devices/vdmos/vdmostemp.c @@ -179,7 +179,7 @@ VDMOStemp(GENmodel *inModel, CKTcircuit *ckt) /* Junction grading temperature adjust */ factor = 1.0 + (model->VDIOgradCoeffTemp1 * dt) + (model->VDIOgradCoeffTemp2 * dt * dt); - here->VDIOtGradingCoeff = model->VDMOSbulkJctBotGradingCoeff * factor; + here->VDIOtGradingCoeff = model->VDIOgradCoeff * factor; vt = CONSTKoverQ * here->VDMOStemp; /* this part gets really ugly - I won't even try to