ngspice/src/spicelib/devices/bsim3/bsim3init.c

88 lines
1.9 KiB
C

#include "ngspice/config.h"
#include "ngspice/devdefs.h"
#include "bsim3itf.h"
#include "bsim3ext.h"
#include "bsim3init.h"
SPICEdev BSIM3info = {
.DEVpublic = {
.name = "BSIM3",
.description = "Berkeley Short Channel IGFET Model Version-3",
.terms = &BSIM3nSize,
.numNames = &BSIM3nSize,
.termNames = BSIM3names,
.numInstanceParms = &BSIM3pTSize,
.instanceParms = BSIM3pTable,
.numModelParms = &BSIM3mPTSize,
.modelParms = BSIM3mPTable,
.flags = DEV_DEFAULT,
#ifdef XSPICE
.cm_func = NULL,
.num_conn = 0,
.conn = NULL,
.num_param = 0,
.param = NULL,
.num_inst_var = 0,
.inst_var = NULL,
#endif
},
.DEVparam = BSIM3param,
.DEVmodParam = BSIM3mParam,
.DEVload = BSIM3load,
.DEVsetup = BSIM3setup,
.DEVunsetup = BSIM3unsetup,
.DEVpzSetup = BSIM3setup,
.DEVtemperature = BSIM3temp,
.DEVtrunc = BSIM3trunc,
.DEVfindBranch = NULL,
.DEVacLoad = BSIM3acLoad,
.DEVaccept = NULL,
.DEVdestroy = NULL,
.DEVmodDelete = BSIM3mDelete,
.DEVdelete = NULL,
.DEVsetic = BSIM3getic,
.DEVask = BSIM3ask,
.DEVmodAsk = BSIM3mAsk,
.DEVpzLoad = BSIM3pzLoad,
.DEVconvTest = BSIM3convTest,
.DEVsenSetup = NULL,
.DEVsenLoad = NULL,
.DEVsenUpdate = NULL,
.DEVsenAcLoad = NULL,
.DEVsenPrint = NULL,
.DEVsenTrunc = NULL,
.DEVdisto = NULL,
.DEVnoise = BSIM3noise,
.DEVsoaCheck = BSIM3soaCheck,
.DEVinstSize = &BSIM3iSize,
.DEVmodSize = &BSIM3mSize,
#ifdef CIDER
.DEVdump = NULL,
.DEVacct = NULL,
#endif
#ifdef KLU
.DEVbindCSC = BSIM3bindCSC,
.DEVbindCSCComplex = BSIM3bindCSCComplex,
.DEVbindCSCComplexToReal = BSIM3bindCSCComplexToReal,
#endif
#ifdef USE_CUSPICE
.cuDEVdestroy = NULL,
.DEVtopology = NULL,
#endif
};
SPICEdev *
get_bsim3_info(void)
{
return &BSIM3info;
}