b3v32.c: make additional parameters accessible by @m1[par]

This commit is contained in:
h_vogt 2012-10-01 23:03:41 +02:00
parent c0bc0de4b5
commit 705e130868
1 changed files with 43 additions and 22 deletions

View File

@ -15,29 +15,50 @@
#include "ngspice/suffix.h"
IFparm BSIM3v32pTable[] = { /* parameters */
IOP( "l", BSIM3v32_L, IF_REAL , "Length"),
IOP( "w", BSIM3v32_W, IF_REAL , "Width"),
IOP( "m", BSIM3v32_M, IF_REAL , "Parallel multiplier"),
IOP( "ad", BSIM3v32_AD, IF_REAL , "Drain area"),
IOP( "as", BSIM3v32_AS, IF_REAL , "Source area"),
IOP( "pd", BSIM3v32_PD, IF_REAL , "Drain perimeter"),
IOP( "ps", BSIM3v32_PS, IF_REAL , "Source perimeter"),
IOP( "nrd", BSIM3v32_NRD, IF_REAL , "Number of squares in drain"),
IOP( "nrs", BSIM3v32_NRS, IF_REAL , "Number of squares in source"),
IOP( "off", BSIM3v32_OFF, IF_FLAG , "Device is initially off"),
IOP( "l", BSIM3v32_L, IF_REAL , "Length"),
IOP( "w", BSIM3v32_W, IF_REAL , "Width"),
IOP( "m", BSIM3v32_M, IF_REAL , "Parallel multiplier"),
IOP( "ad", BSIM3v32_AD, IF_REAL , "Drain area"),
IOP( "as", BSIM3v32_AS, IF_REAL , "Source area"),
IOP( "pd", BSIM3v32_PD, IF_REAL , "Drain perimeter"),
IOP( "ps", BSIM3v32_PS, IF_REAL , "Source perimeter"),
IOP( "nrd", BSIM3v32_NRD, IF_REAL , "Number of squares in drain"),
IOP( "nrs", BSIM3v32_NRS, IF_REAL , "Number of squares in source"),
IOP( "off", BSIM3v32_OFF, IF_FLAG , "Device is initially off"),
IOP( "nqsmod", BSIM3v32_NQSMOD, IF_INTEGER, "Non-quasi-static model selector"),
IOP( "delvto", BSIM3v32_DELVTO, IF_REAL , "Zero bias threshold voltage variation"),
IOP( "mulu0", BSIM3v32_MULU0, IF_REAL , "Low field mobility multiplier"),
IP( "ic", BSIM3v32_IC, IF_REALVEC , "Vector of DS,GS,BS initial voltages"),
OP( "gmbs", BSIM3v32_GMBS, IF_REAL, "Gmb"),
OP( "gm", BSIM3v32_GM, IF_REAL, "Gm"),
OP( "gds", BSIM3v32_GDS, IF_REAL, "Gds"),
OP( "vdsat",BSIM3v32_VDSAT, IF_REAL, "Vdsat"),
OP( "vth", BSIM3v32_VON, IF_REAL, "Vth"),
OP( "id", BSIM3v32_CD, IF_REAL, "Ids"),
OP( "vbs", BSIM3v32_VBS, IF_REAL, "Vbs"),
OP( "vgs", BSIM3v32_VGS, IF_REAL, "Vgs"),
OP( "vds", BSIM3v32_VDS, IF_REAL, "Vds"),
IOP( "delvto", BSIM3v32_DELVTO, IF_REAL , "Zero bias threshold voltage variation"),
IOP( "mulu0", BSIM3v32_MULU0, IF_REAL , "Low field mobility multiplier"),
IP( "ic", BSIM3v32_IC, IF_REALVEC , "Vector of DS,GS,BS initial voltages"),
OP( "gmbs", BSIM3v32_GMBS, IF_REAL, "Gmb"),
OP( "gm", BSIM3v32_GM, IF_REAL, "Gm"),
OP( "gds", BSIM3v32_GDS, IF_REAL, "Gds"),
OP( "vdsat", BSIM3v32_VDSAT, IF_REAL, "Vdsat"),
OP( "vth", BSIM3v32_VON, IF_REAL, "Vth"),
OP( "id", BSIM3v32_CD, IF_REAL, "Ids"),
OP( "vbs", BSIM3v32_VBS, IF_REAL, "Vbs"),
OP( "vgs", BSIM3v32_VGS, IF_REAL, "Vgs"),
OP( "vds", BSIM3v32_VDS, IF_REAL, "Vds"),
OP( "ibd", BSIM3v32_CBD, IF_REAL, "Ibd"), /* newly added from here */
OP( "ibs", BSIM3v32_CBS, IF_REAL, "Ibs"),
OP( "gbd", BSIM3v32_GBD, IF_REAL, "gbd"),
OP( "gbs", BSIM3v32_GBS, IF_REAL, "gbs"),
OP( "qb", BSIM3v32_QB, IF_REAL, "Qbulk"),
OP( "cqb", BSIM3v32_CQB, IF_REAL, "CQbulk"),
OP( "qg", BSIM3v32_QG, IF_REAL, "Qgate"),
OP( "cqg", BSIM3v32_CQG, IF_REAL, "CQgate"),
OP( "qd", BSIM3v32_QD, IF_REAL, "Qdrain"),
OP( "cqd", BSIM3v32_CQD, IF_REAL, "CQdrain"),
OP( "cgg", BSIM3v32_CGG, IF_REAL, "Cggb"),
OP( "cgd", BSIM3v32_CGD, IF_REAL, "Cgdb"),
OP( "cgs", BSIM3v32_CGS, IF_REAL, "Cgsb"),
OP( "cdg", BSIM3v32_CDG, IF_REAL, "Cdgb"),
OP( "cdd", BSIM3v32_CDD, IF_REAL, "Cddb"),
OP( "cds", BSIM3v32_CDS, IF_REAL, "Cdsb"),
OP( "cbg", BSIM3v32_CBG, IF_REAL, "Cbgb"),
OP( "cbd", BSIM3v32_CBDB, IF_REAL, "Cbdb"),
OP( "cbs", BSIM3v32_CBSB, IF_REAL, "Cbsb"),
OP( "capbd", BSIM3v32_CAPBD, IF_REAL, "Capbd"),
OP( "capbs", BSIM3v32_CAPBS, IF_REAL, "Capbs"),
};
IFparm BSIM3v32mPTable[] = { /* model parameters */