Browse Source

add vdmos to the parameter list and search

pre-master-46
Holger Vogt 8 years ago
committed by rlar
parent
commit
f4853e85ca
  1. 5
      src/spicelib/devices/vdmos/vdmos.c
  2. 1
      src/spicelib/devices/vdmos/vdmosdefs.h
  3. 12
      src/spicelib/devices/vdmos/vdmosmask.c
  4. 6
      src/spicelib/devices/vdmos/vdmosmpar.c

5
src/spicelib/devices/vdmos/vdmos.c

@ -103,6 +103,9 @@ IFparm VDMOSmPTable[] = { /* model parameters */
IOP("tnom", VDMOS_MOD_TNOM, IF_REAL, "Parameter measurement temperature"),
IOP("kf", VDMOS_MOD_KF, IF_REAL, "Flicker noise coefficient"),
IOP("af", VDMOS_MOD_AF, IF_REAL, "Flicker noise exponent"),
IP("vdmosn", VDMOS_MOD_NMOS, IF_FLAG, "N type DMOSfet model"),
IP("vdmosp", VDMOS_MOD_PMOS, IF_FLAG, "P type DMOSfet model"),
IP("vdmos", VDMOS_MOD_DMOS, IF_REAL, "DMOS transistor"),
/* MOS1 */
IOPR("vt0", VDMOS_MOD_VTO, IF_REAL, "Threshold voltage"),
@ -125,8 +128,6 @@ IFparm VDMOSmPTable[] = { /* model parameters */
IOP("u0", VDMOS_MOD_U0, IF_REAL, "Surface mobility"),
IOPR("uo", VDMOS_MOD_U0, IF_REAL, "Surface mobility"),
IOP("fc", VDMOS_MOD_FC, IF_REAL, "Forward bias jct. fit parm."),
IP("nmos", VDMOS_MOD_NMOS, IF_FLAG, "N type MOSfet model"),
IP("pmos", VDMOS_MOD_PMOS, IF_FLAG, "P type MOSfet model"),
IOP("nsub", VDMOS_MOD_NSUB, IF_REAL, "Substrate doping"),
IOP("tpg", VDMOS_MOD_TPG, IF_INTEGER,"Gate type"),
IOP("nss", VDMOS_MOD_NSS, IF_REAL, "Surface state density")

1
src/spicelib/devices/vdmos/vdmosdefs.h

@ -408,6 +408,7 @@ enum {
VDMOS_MOD_KF,
VDMOS_MOD_AF,
VDMOS_MOD_TYPE,
VDMOS_MOD_DMOS,
};
/* device questions */

12
src/spicelib/devices/vdmos/vdmosmask.c

@ -48,6 +48,12 @@ VDMOSmAsk(CKTcircuit *ckt, GENmodel *inst, int which, IFvalue *value)
case VDMOS_MOD_CBD:
value->rValue = model->VDMOScapBD;
return(OK);
case VDMOS_MOD_TYPE:
if (model->VDMOStype > 0)
value->sValue = "vdmosn";
else
value->sValue = "vdmosp";
return(OK);
case VDMOS_MOD_CBS:
value->rValue = model->VDMOScapBS;
return(OK);
@ -105,12 +111,6 @@ VDMOSmAsk(CKTcircuit *ckt, GENmodel *inst, int which, IFvalue *value)
case VDMOS_MOD_NSS:
value->rValue = model->VDMOSsurfaceStateDensity;
return(OK);
case VDMOS_MOD_TYPE:
if (model->VDMOStype > 0)
value->sValue = "nmos";
else
value->sValue = "pmos";
return(OK);
default:
return(E_BADPARM);
}

6
src/spicelib/devices/vdmos/vdmosmpar.c

@ -147,6 +147,12 @@ VDMOSmParam(int param, IFvalue *value, GENmodel *inModel)
model->VDMOSfNexp = value->rValue;
model->VDMOSfNexpGiven = TRUE;
break;
case VDMOS_MOD_DMOS:
if (value->iValue) {
model->VDMOStype = 1;
model->VDMOStypeGiven = TRUE;
}
break;
default:
return(E_BADPARM);
}

Loading…
Cancel
Save