Put reasonable limits to ngate and similar
doping density parameters. Avoid nonsense warning "ngate 1e17 too low", when ngate=1e23 is set.
This commit is contained in:
parent
4543f259f0
commit
ba0552f790
|
|
@ -136,13 +136,13 @@ GENmodel *inMod)
|
|||
mod->BSIM3npeak = value->rValue;
|
||||
mod->BSIM3npeakGiven = TRUE;
|
||||
if (mod->BSIM3npeak > 1.0e20)
|
||||
mod->BSIM3npeak *= 1.0e-6;
|
||||
mod->BSIM3npeak = 1.0e20;
|
||||
break;
|
||||
case BSIM3_MOD_NGATE:
|
||||
mod->BSIM3ngate = value->rValue;
|
||||
mod->BSIM3ngateGiven = TRUE;
|
||||
if (mod->BSIM3ngate > 1.0e23)
|
||||
mod->BSIM3ngate *= 1.0e-6;
|
||||
mod->BSIM3ngate = 1.0e23;
|
||||
break;
|
||||
case BSIM3_MOD_GAMMA1:
|
||||
mod->BSIM3gamma1 = value->rValue;
|
||||
|
|
|
|||
|
|
@ -130,13 +130,13 @@ BSIM3v32mParam(int param, IFvalue *value, GENmodel *inMod)
|
|||
mod->BSIM3v32npeak = value->rValue;
|
||||
mod->BSIM3v32npeakGiven = TRUE;
|
||||
if (mod->BSIM3v32npeak > 1.0e20)
|
||||
mod->BSIM3v32npeak *= 1.0e-6;
|
||||
mod->BSIM3v32npeak = 1.0e20;
|
||||
break;
|
||||
case BSIM3v32_MOD_NGATE:
|
||||
mod->BSIM3v32ngate = value->rValue;
|
||||
mod->BSIM3v32ngateGiven = TRUE;
|
||||
if (mod->BSIM3v32ngate > 1.0e23)
|
||||
mod->BSIM3v32ngate *= 1.0e-6;
|
||||
mod->BSIM3v32ngate = 1.0e23;
|
||||
break;
|
||||
case BSIM3v32_MOD_GAMMA1:
|
||||
mod->BSIM3v32gamma1 = value->rValue;
|
||||
|
|
|
|||
|
|
@ -315,19 +315,19 @@ GENmodel *inMod)
|
|||
mod->BSIM4ndep = value->rValue;
|
||||
mod->BSIM4ndepGiven = TRUE;
|
||||
if (mod->BSIM4ndep > 1.0e20)
|
||||
mod->BSIM4ndep *= 1.0e-6;
|
||||
mod->BSIM4ndep = 1.0e20;
|
||||
break;
|
||||
case BSIM4_MOD_NSD:
|
||||
mod->BSIM4nsd = value->rValue;
|
||||
mod->BSIM4nsdGiven = TRUE;
|
||||
if (mod->BSIM4nsd > 1.0e23)
|
||||
mod->BSIM4nsd *= 1.0e-6;
|
||||
mod->BSIM4nsd = 1.0e23;
|
||||
break;
|
||||
case BSIM4_MOD_NGATE:
|
||||
mod->BSIM4ngate = value->rValue;
|
||||
mod->BSIM4ngateGiven = TRUE;
|
||||
if (mod->BSIM4ngate > 1.0e23)
|
||||
mod->BSIM4ngate *= 1.0e-6;
|
||||
mod->BSIM4ngate = 1.0e23;
|
||||
break;
|
||||
case BSIM4_MOD_GAMMA1:
|
||||
mod->BSIM4gamma1 = value->rValue;
|
||||
|
|
|
|||
|
|
@ -194,20 +194,20 @@ GENmodel *inMod)
|
|||
case BSIM4v5_MOD_NDEP:
|
||||
mod->BSIM4v5ndep = value->rValue;
|
||||
mod->BSIM4v5ndepGiven = TRUE;
|
||||
if (mod->BSIM4v5ndep > 1.0e20)
|
||||
mod->BSIM4v5ndep *= 1.0e-6;
|
||||
if (mod->BSIM4v5ndep > 1.0e20)
|
||||
mod->BSIM4v5ndep = 1.0e20;
|
||||
break;
|
||||
case BSIM4v5_MOD_NSD:
|
||||
mod->BSIM4v5nsd = value->rValue;
|
||||
mod->BSIM4v5nsdGiven = TRUE;
|
||||
if (mod->BSIM4v5nsd > 1.0e23)
|
||||
mod->BSIM4v5nsd *= 1.0e-6;
|
||||
mod->BSIM4v5nsd = 1.0e23;
|
||||
break;
|
||||
case BSIM4v5_MOD_NGATE:
|
||||
mod->BSIM4v5ngate = value->rValue;
|
||||
mod->BSIM4v5ngateGiven = TRUE;
|
||||
if (mod->BSIM4v5ngate > 1.0e23)
|
||||
mod->BSIM4v5ngate *= 1.0e-6;
|
||||
if (mod->BSIM4v5ngate > 1.0e23)
|
||||
mod->BSIM4v5ngate = 1.0e23;
|
||||
break;
|
||||
case BSIM4v5_MOD_GAMMA1:
|
||||
mod->BSIM4v5gamma1 = value->rValue;
|
||||
|
|
|
|||
|
|
@ -268,20 +268,20 @@ GENmodel *inMod)
|
|||
case BSIM4v6_MOD_NDEP:
|
||||
mod->BSIM4v6ndep = value->rValue;
|
||||
mod->BSIM4v6ndepGiven = TRUE;
|
||||
if (mod->BSIM4v6ndep > 1.0e20)
|
||||
mod->BSIM4v6ndep *= 1.0e-6;
|
||||
if (mod->BSIM4v6ndep > 1.0e20)
|
||||
mod->BSIM4v6ndep = 1.0e20;
|
||||
break;
|
||||
case BSIM4v6_MOD_NSD:
|
||||
mod->BSIM4v6nsd = value->rValue;
|
||||
mod->BSIM4v6nsdGiven = TRUE;
|
||||
if (mod->BSIM4v6nsd > 1.0e23)
|
||||
mod->BSIM4v6nsd *= 1.0e-6;
|
||||
mod->BSIM4v6nsd = 1.0e23;
|
||||
break;
|
||||
case BSIM4v6_MOD_NGATE:
|
||||
mod->BSIM4v6ngate = value->rValue;
|
||||
mod->BSIM4v6ngateGiven = TRUE;
|
||||
if (mod->BSIM4v6ngate > 1.0e23)
|
||||
mod->BSIM4v6ngate *= 1.0e-6;
|
||||
if (mod->BSIM4v6ngate > 1.0e23)
|
||||
mod->BSIM4v6ngate = 1.0e23;
|
||||
break;
|
||||
case BSIM4v6_MOD_GAMMA1:
|
||||
mod->BSIM4v6gamma1 = value->rValue;
|
||||
|
|
|
|||
|
|
@ -278,19 +278,19 @@ GENmodel *inMod)
|
|||
mod->BSIM4v7ndep = value->rValue;
|
||||
mod->BSIM4v7ndepGiven = TRUE;
|
||||
if (mod->BSIM4v7ndep > 1.0e20)
|
||||
mod->BSIM4v7ndep *= 1.0e-6;
|
||||
mod->BSIM4v7ndep = 1.0e20;
|
||||
break;
|
||||
case BSIM4v7_MOD_NSD:
|
||||
mod->BSIM4v7nsd = value->rValue;
|
||||
mod->BSIM4v7nsdGiven = TRUE;
|
||||
if (mod->BSIM4v7nsd > 1.0e23)
|
||||
mod->BSIM4v7nsd *= 1.0e-6;
|
||||
mod->BSIM4v7nsd = 1.0e23;
|
||||
break;
|
||||
case BSIM4v7_MOD_NGATE:
|
||||
mod->BSIM4v7ngate = value->rValue;
|
||||
mod->BSIM4v7ngateGiven = TRUE;
|
||||
if (mod->BSIM4v7ngate > 1.0e23)
|
||||
mod->BSIM4v7ngate *= 1.0e-6;
|
||||
mod->BSIM4v7ngate = 1.0e23;
|
||||
break;
|
||||
case BSIM4v7_MOD_GAMMA1:
|
||||
mod->BSIM4v7gamma1 = value->rValue;
|
||||
|
|
|
|||
Loading…
Reference in New Issue