Browse Source

change the bsim1 `xpart' model parameter from IF_REAL to IF_FLAG

pre-master-46
rlar 16 years ago
parent
commit
b4b3cb38a2
  1. 10
      ChangeLog
  2. 2
      src/spicelib/devices/bsim1/b1.c
  3. 2
      src/spicelib/devices/bsim1/b1dset.c
  4. 2
      src/spicelib/devices/bsim1/b1eval.c
  5. 2
      src/spicelib/devices/bsim1/b1mpar.c
  6. 2
      src/spicelib/devices/bsim1/bsim1def.h

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

2
src/spicelib/devices/bsim1/b1.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"),

2
src/spicelib/devices/bsim1/b1dset.c

@ -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;

2
src/spicelib/devices/bsim1/b1eval.c

@ -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;

2
src/spicelib/devices/bsim1/b1mpar.c

@ -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 :

2
src/spicelib/devices/bsim1/bsim1def.h

@ -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…
Cancel
Save