change the bsim1 `xpart' model parameter from IF_REAL to IF_FLAG
This commit is contained in:
parent
f7bd3f56c8
commit
b4b3cb38a2
10
ChangeLog
10
ChangeLog
|
|
@ -1,3 +1,12 @@
|
|||
2010-11-06 Robert Larice
|
||||
* src/spicelib/devices/bsim1/b1.c ,
|
||||
* src/spicelib/devices/bsim1/b1dset.c ,
|
||||
* src/spicelib/devices/bsim1/b1eval.c ,
|
||||
* src/spicelib/devices/bsim1/b1mpar.c ,
|
||||
* src/spicelib/devices/bsim1/bsim1def.h :
|
||||
change the bsim1 `xpart' model parameter from IF_REAL to IF_FLAG
|
||||
which has been used internaly as boolean anyway.
|
||||
|
||||
2010-11-06 Robert Larice
|
||||
* src/spicelib/devices/nbjt/nbjt.c ,
|
||||
* src/spicelib/devices/nbjt/nbjtparm.c ,
|
||||
|
|
@ -13,6 +22,7 @@
|
|||
* src/spicelib/devices/urc/urcparam.c :
|
||||
change some model parameters from IF_REAL to IF_INTEGER
|
||||
which have been internaly integers anyway.
|
||||
(model parameters `save' `print' and urc `n'==`number of lumps')
|
||||
|
||||
2010-11-06 Dietmar Warning
|
||||
* configure.ac, visualc/include/config.h, frontend/miscoms.c, mos1-9/*.c
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ IFparm B1mPTable[] = { /* model parameters */
|
|||
"Gate drain overlap capacitance per unit channel width(m)"),
|
||||
IOPA( "cgbo", BSIM1_MOD_CGBO, IF_REAL,
|
||||
"Gate bulk overlap capacitance per unit channel length(m)"),
|
||||
IOP( "xpart", BSIM1_MOD_XPART, IF_REAL,
|
||||
IOP( "xpart", BSIM1_MOD_XPART, IF_FLAG,
|
||||
"Flag for channel charge partitioning"),
|
||||
IOP( "rsh", BSIM1_MOD_RSH, IF_REAL,
|
||||
"Source drain diffusion sheet resistance in ohm per square"),
|
||||
|
|
|
|||
|
|
@ -574,7 +574,7 @@ if (here->B1owner != ARCHme) continue;
|
|||
/*Arg = 1 + Ugs * VgsVth;*/
|
||||
Phi = MAX( 0.1, Phi);/*const*/
|
||||
|
||||
if( model->B1channelChargePartitionFlag >= 1 ) {
|
||||
if( model->B1channelChargePartitionFlag ) {
|
||||
|
||||
/*0/100 partitioning for drain/source chArges at the saturation region*/
|
||||
Vth0 = Vfb + Phi + K1 * SqrtVpb;
|
||||
|
|
|
|||
|
|
@ -360,7 +360,7 @@ ChargeComputation:
|
|||
dAdVbs = 0.25 * K1 / SqrtVpb *(2*dGdVbs + G/Vpb);
|
||||
Phi = MAX( 0.1, Phi);
|
||||
|
||||
if( model->B1channelChargePartitionFlag >= 1 ) {
|
||||
if( model->B1channelChargePartitionFlag ) {
|
||||
|
||||
/*0/100 partitioning for drain/source chArges at the saturation region*/
|
||||
Vth0 = Vfb + Phi + K1 * SqrtVpb;
|
||||
|
|
|
|||
|
|
@ -282,7 +282,7 @@ B1mParam(int param, IFvalue *value, GENmodel *inMod)
|
|||
mod->B1gateBulkOverlapCapGiven = TRUE;
|
||||
break;
|
||||
case BSIM1_MOD_XPART :
|
||||
mod->B1channelChargePartitionFlag = value->rValue;
|
||||
mod->B1channelChargePartitionFlag = value->iValue ? 1 : 0;
|
||||
mod->B1channelChargePartitionFlagGiven = TRUE;
|
||||
break;
|
||||
case BSIM1_MOD_RSH :
|
||||
|
|
|
|||
|
|
@ -391,7 +391,7 @@ typedef struct sBSIM1model { /* model structure for a resistor */
|
|||
double B1gateSourceOverlapCap;
|
||||
double B1gateDrainOverlapCap;
|
||||
double B1gateBulkOverlapCap;
|
||||
double B1channelChargePartitionFlag;
|
||||
unsigned B1channelChargePartitionFlag :1;
|
||||
|
||||
double B1sheetResistance;
|
||||
double B1jctSatCurDensity;
|
||||
|
|
|
|||
Loading…
Reference in New Issue