From a066c433788614779f383a2f5520cfb88b724ff9 Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Fri, 11 Sep 2020 22:24:53 +0200 Subject: [PATCH] Add wnflag as an instance parameter. --- src/spicelib/devices/bsim4v7/b4v7.c | 2 +- src/spicelib/devices/bsim4v7/b4v7ask.c | 3 +++ src/spicelib/devices/bsim4v7/b4v7par.c | 4 ++++ src/spicelib/devices/bsim4v7/bsim4v7def.h | 3 +++ 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/spicelib/devices/bsim4v7/b4v7.c b/src/spicelib/devices/bsim4v7/b4v7.c index a0bf0e402..0b4e32c65 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( "trnqsmod", BSIM4v7_TRNQSMOD, IF_INTEGER, "Transient NQS model selector"), IOP( "acnqsmod", BSIM4v7_ACNQSMOD, IF_INTEGER, "AC NQS model selector"), diff --git a/src/spicelib/devices/bsim4v7/b4v7ask.c b/src/spicelib/devices/bsim4v7/b4v7ask.c index 2b77f77f0..e5a89a548 100644 --- a/src/spicelib/devices/bsim4v7/b4v7ask.c +++ b/src/spicelib/devices/bsim4v7/b4v7ask.c @@ -114,6 +114,9 @@ BSIM4v7instance *here = (BSIM4v7instance*)inst; case BSIM4v7_MULU0: value->rValue = here->BSIM4v7mulu0; return(OK); + case BSIM4v7_WNFLAG: + value->rValue = here->BSIM4v7wnflag; + return(OK); case BSIM4v7_XGW: value->rValue = here->BSIM4v7xgw; return(OK); diff --git a/src/spicelib/devices/bsim4v7/b4v7par.c b/src/spicelib/devices/bsim4v7/b4v7par.c index 5e42f1596..5aa311d28 100644 --- a/src/spicelib/devices/bsim4v7/b4v7par.c +++ b/src/spicelib/devices/bsim4v7/b4v7par.c @@ -141,6 +141,10 @@ IFvalue *select) here->BSIM4v7mulu0 = value->rValue; here->BSIM4v7mulu0Given = TRUE; break; + case BSIM4v7_WNFLAG: + here->BSIM4v7wnflag = value->rValue; + here->BSIM4v7wnflagGiven = TRUE; + break; case BSIM4v7_XGW: here->BSIM4v7xgw = value->rValue; here->BSIM4v7xgwGiven = TRUE; diff --git a/src/spicelib/devices/bsim4v7/bsim4v7def.h b/src/spicelib/devices/bsim4v7/bsim4v7def.h index 8fafb865a..c24721ca7 100644 --- a/src/spicelib/devices/bsim4v7/bsim4v7def.h +++ b/src/spicelib/devices/bsim4v7/bsim4v7def.h @@ -113,6 +113,7 @@ typedef struct sBSIM4v7instance double BSIM4v7delvto; double BSIM4v7mulu0; + double BSIM4v7wnflag; double BSIM4v7xgw; double BSIM4v7ngcon; @@ -298,6 +299,7 @@ typedef struct sBSIM4v7instance unsigned BSIM4v7rbpsGiven :1; unsigned BSIM4v7delvtoGiven :1; unsigned BSIM4v7mulu0Given :1; + unsigned BSIM4v7wnflagGiven :1; unsigned BSIM4v7xgwGiven :1; unsigned BSIM4v7ngconGiven :1; unsigned BSIM4v7icVDSGiven :1; @@ -2767,6 +2769,7 @@ typedef struct sBSIM4v7model #define BSIM4v7_SC 37 #define BSIM4v7_M 38 #define BSIM4v7_MULU0 39 +#define BSIM4v7_WNFLAG 40 /* Global parameters */ #define BSIM4v7_MOD_TEMPEOT 65