Prepare for instance parameter 'dtemp', required by commercial PDKs.
Not yet support in the model, silently ignored.
This commit is contained in:
parent
1b81f19557
commit
f885d45e15
|
|
@ -49,7 +49,7 @@ IOPR( "delvt0", BSIM4v5_DELVTO, IF_REAL , "Zero bias threshold voltage variat
|
||||||
IOP( "mulu0", BSIM4v5_MULU0, IF_REAL, "Low field mobility multiplier"),
|
IOP( "mulu0", BSIM4v5_MULU0, IF_REAL, "Low field mobility multiplier"),
|
||||||
IOP( "xgw", BSIM4v5_XGW, IF_REAL, "Distance from gate contact center to device edge"),
|
IOP( "xgw", BSIM4v5_XGW, IF_REAL, "Distance from gate contact center to device edge"),
|
||||||
IOP( "ngcon", BSIM4v5_NGCON, IF_REAL, "Number of gate contacts"),
|
IOP( "ngcon", BSIM4v5_NGCON, IF_REAL, "Number of gate contacts"),
|
||||||
|
IOPU("dtemp", BSIM4v5_DTEMP, IF_REAL, "Instance temperature difference"),
|
||||||
|
|
||||||
IOP( "trnqsmod", BSIM4v5_TRNQSMOD, IF_INTEGER, "Transient NQS model selector"),
|
IOP( "trnqsmod", BSIM4v5_TRNQSMOD, IF_INTEGER, "Transient NQS model selector"),
|
||||||
IOP( "acnqsmod", BSIM4v5_ACNQSMOD, IF_INTEGER, "AC NQS model selector"),
|
IOP( "acnqsmod", BSIM4v5_ACNQSMOD, IF_INTEGER, "AC NQS model selector"),
|
||||||
|
|
|
||||||
|
|
@ -112,6 +112,9 @@ BSIM4v5instance *here = (BSIM4v5instance*)inst;
|
||||||
case BSIM4v5_MULU0:
|
case BSIM4v5_MULU0:
|
||||||
value->rValue = here->BSIM4v5mulu0;
|
value->rValue = here->BSIM4v5mulu0;
|
||||||
return(OK);
|
return(OK);
|
||||||
|
case BSIM4v5_DTEMP:
|
||||||
|
value->rValue = here->BSIM4v5dtemp;
|
||||||
|
return(OK);
|
||||||
case BSIM4v5_XGW:
|
case BSIM4v5_XGW:
|
||||||
value->rValue = here->BSIM4v5xgw;
|
value->rValue = here->BSIM4v5xgw;
|
||||||
return(OK);
|
return(OK);
|
||||||
|
|
|
||||||
|
|
@ -139,6 +139,10 @@ IFvalue *select)
|
||||||
here->BSIM4v5mulu0 = value->rValue;
|
here->BSIM4v5mulu0 = value->rValue;
|
||||||
here->BSIM4v5mulu0Given = TRUE;
|
here->BSIM4v5mulu0Given = TRUE;
|
||||||
break;
|
break;
|
||||||
|
case BSIM4v5_DTEMP:
|
||||||
|
here->BSIM4v5dtemp = value->rValue;
|
||||||
|
here->BSIM4v5dtempGiven = TRUE;
|
||||||
|
return(OK);
|
||||||
case BSIM4v5_XGW:
|
case BSIM4v5_XGW:
|
||||||
here->BSIM4v5xgw = value->rValue;
|
here->BSIM4v5xgw = value->rValue;
|
||||||
here->BSIM4v5xgwGiven = TRUE;
|
here->BSIM4v5xgwGiven = TRUE;
|
||||||
|
|
|
||||||
|
|
@ -1751,7 +1751,8 @@ BSIM4v5instance **InstArray;
|
||||||
here->BSIM4v5xgw = model->BSIM4v5xgw;
|
here->BSIM4v5xgw = model->BSIM4v5xgw;
|
||||||
if (!here->BSIM4v5ngconGiven)
|
if (!here->BSIM4v5ngconGiven)
|
||||||
here->BSIM4v5ngcon = model->BSIM4v5ngcon;
|
here->BSIM4v5ngcon = model->BSIM4v5ngcon;
|
||||||
|
if (!here->BSIM4v5dtempGiven)
|
||||||
|
here->BSIM4v5dtemp = 0;
|
||||||
|
|
||||||
/* Process instance model selectors, some
|
/* Process instance model selectors, some
|
||||||
* may override their global counterparts
|
* may override their global counterparts
|
||||||
|
|
|
||||||
|
|
@ -105,6 +105,7 @@ typedef struct sBSIM4v5instance
|
||||||
double BSIM4v5mulu0;
|
double BSIM4v5mulu0;
|
||||||
double BSIM4v5xgw;
|
double BSIM4v5xgw;
|
||||||
double BSIM4v5ngcon;
|
double BSIM4v5ngcon;
|
||||||
|
double BSIM4v5dtemp;
|
||||||
|
|
||||||
/* added here to account stress effect instance dependence */
|
/* added here to account stress effect instance dependence */
|
||||||
double BSIM4v5u0temp;
|
double BSIM4v5u0temp;
|
||||||
|
|
@ -288,6 +289,7 @@ typedef struct sBSIM4v5instance
|
||||||
unsigned BSIM4v5mulu0Given :1;
|
unsigned BSIM4v5mulu0Given :1;
|
||||||
unsigned BSIM4v5xgwGiven :1;
|
unsigned BSIM4v5xgwGiven :1;
|
||||||
unsigned BSIM4v5ngconGiven :1;
|
unsigned BSIM4v5ngconGiven :1;
|
||||||
|
unsigned BSIM4v5dtempGiven : 1;
|
||||||
unsigned BSIM4v5icVDSGiven :1;
|
unsigned BSIM4v5icVDSGiven :1;
|
||||||
unsigned BSIM4v5icVGSGiven :1;
|
unsigned BSIM4v5icVGSGiven :1;
|
||||||
unsigned BSIM4v5icVBSGiven :1;
|
unsigned BSIM4v5icVBSGiven :1;
|
||||||
|
|
@ -2536,6 +2538,7 @@ typedef struct sBSIM4v5model
|
||||||
#define BSIM4v5_SC 37
|
#define BSIM4v5_SC 37
|
||||||
#define BSIM4v5_M 38
|
#define BSIM4v5_M 38
|
||||||
#define BSIM4v5_MULU0 39
|
#define BSIM4v5_MULU0 39
|
||||||
|
#define BSIM4v5_DTEMP 40
|
||||||
|
|
||||||
/* Global parameters */
|
/* Global parameters */
|
||||||
#define BSIM4v5_MOD_TEMPMOD 89
|
#define BSIM4v5_MOD_TEMPMOD 89
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue