diff --git a/src/spicelib/devices/bsim4/b4.c b/src/spicelib/devices/bsim4/b4.c index dc127136f..1f9ef1325 100644 --- a/src/spicelib/devices/bsim4/b4.c +++ b/src/spicelib/devices/bsim4/b4.c @@ -93,7 +93,7 @@ IOPR( "delvt0", BSIM4_DELVTO, IF_REAL , "Zero bias threshold voltage variatio IOP( "mulu0", BSIM4_MULU0, IF_REAL, "Low field mobility multiplier"), IOP( "xgw", BSIM4_XGW, IF_REAL, "Distance from gate contact center to device edge"), IOP( "ngcon", BSIM4_NGCON, IF_REAL, "Number of gate contacts"), - +IOP( "wnflag", BSIM4_WNFLAG, IF_REAL, "W/NF device flag for bin selection"), IOP( "trnqsmod", BSIM4_TRNQSMOD, IF_INTEGER, "Transient NQS model selector"), IOP( "acnqsmod", BSIM4_ACNQSMOD, IF_INTEGER, "AC NQS model selector"), diff --git a/src/spicelib/devices/bsim4/b4ask.c b/src/spicelib/devices/bsim4/b4ask.c index 3f95cd9eb..b81cebd57 100644 --- a/src/spicelib/devices/bsim4/b4ask.c +++ b/src/spicelib/devices/bsim4/b4ask.c @@ -158,6 +158,9 @@ BSIM4instance *here = (BSIM4instance*)inst; case BSIM4_MULU0: value->rValue = here->BSIM4mulu0; return(OK); + case BSIM4_WNFLAG: + value->rValue = here->BSIM4wnflag; + return(OK); case BSIM4_XGW: value->rValue = here->BSIM4xgw; return(OK); diff --git a/src/spicelib/devices/bsim4/b4par.c b/src/spicelib/devices/bsim4/b4par.c index b57337d23..e7cdcaa82 100644 --- a/src/spicelib/devices/bsim4/b4par.c +++ b/src/spicelib/devices/bsim4/b4par.c @@ -185,6 +185,10 @@ IFvalue *select) here->BSIM4mulu0 = value->rValue; here->BSIM4mulu0Given = TRUE; break; + case BSIM4_WNFLAG: + here->BSIM4wnflag = value->rValue; + here->BSIM4wnflagGiven = TRUE; + break; case BSIM4_XGW: here->BSIM4xgw = value->rValue; here->BSIM4xgwGiven = TRUE; diff --git a/src/spicelib/devices/bsim4/bsim4def.h b/src/spicelib/devices/bsim4/bsim4def.h index fcb7864ed..9706d1d82 100644 --- a/src/spicelib/devices/bsim4/bsim4def.h +++ b/src/spicelib/devices/bsim4/bsim4def.h @@ -152,6 +152,7 @@ typedef struct sBSIM4instance double BSIM4delvto; double BSIM4mulu0; + double BSIM4wnflag; double BSIM4xgw; double BSIM4ngcon; @@ -339,6 +340,7 @@ typedef struct sBSIM4instance unsigned BSIM4rbpsGiven :1; unsigned BSIM4delvtoGiven :1; unsigned BSIM4mulu0Given :1; + unsigned BSIM4wnflagGiven :1; unsigned BSIM4xgwGiven :1; unsigned BSIM4ngconGiven :1; unsigned BSIM4icVDSGiven :1; @@ -2811,6 +2813,7 @@ typedef struct sBSIM4model #define BSIM4_SC 37 #define BSIM4_M 38 #define BSIM4_MULU0 39 +#define BSIM4_WNFLAG 40 /* Global parameters */ #define BSIM4_MOD_TEMPEOT 65 diff --git a/src/spicelib/devices/bsim4v7/b4v7.c b/src/spicelib/devices/bsim4v7/b4v7.c index 0b4e32c65..7a4317e6a 100644 --- a/src/spicelib/devices/bsim4v7/b4v7.c +++ b/src/spicelib/devices/bsim4v7/b4v7.c @@ -56,7 +56,7 @@ IOPR( "delvt0", BSIM4v7_DELVTO, IF_REAL , "Zero bias threshold voltage variat IOP( "mulu0", BSIM4v7_MULU0, IF_REAL, "Low field mobility multiplier"), IOP( "xgw", BSIM4v7_XGW, IF_REAL, "Distance from gate contact center to device edge"), IOP( "ngcon", BSIM4v7_NGCON, IF_REAL, "Number of gate contacts"), -IOP( "wnflag", BSIM4v7_WNFLAG, IF_REAL, "Number of gate contacts"), +IOP( "wnflag", BSIM4v7_WNFLAG, IF_REAL, "W/NF device flag for bin selection"), IOP( "trnqsmod", BSIM4v7_TRNQSMOD, IF_INTEGER, "Transient NQS model selector"), IOP( "acnqsmod", BSIM4v7_ACNQSMOD, IF_INTEGER, "AC NQS model selector"),