⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hfet.c

📁 ngspice又一个电子CAD仿真软件代码.功能更全
💻 C
字号:
/**********Imported from MacSpice3f4 - Antony WilsonModified: Paolo Nenzi**********/#include "ngspice.h"#include "ifsim.h"#include "devdefs.h"#include "hfetdefs.h"#include "suffix.h"IFparm HFETApTable[] = { /* parameters */  OP("off",       HFETA_OFF,            IF_FLAG   ,"Device initially off"), IOP("l",        HFETA_LENGTH,         IF_REAL   ,"Length of device"), IOP("w",        HFETA_WIDTH,          IF_REAL   ,"Width of device"), IOP("m",        HFETA_M,              IF_REAL   ,"Parallel Multiplier"), IOP("icvds",    HFETA_IC_VDS,         IF_REAL   ,"Initial D-S voltage"), IOP("icvgs",    HFETA_IC_VGS,         IF_REAL   ,"Initial G-S voltage"), IOP("temp",     HFETA_TEMP,           IF_REAL   ,"Instance temperature"), IOP("dtemp",    HFETA_DTEMP,          IF_REAL   ,"Instance temperature difference"), OP("dnode",     HFETA_DRAINNODE,      IF_INTEGER,"Number of drain node"), OP("gnode",     HFETA_GATENODE,       IF_INTEGER,"Number of gate node"), OP("snode",     HFETA_SOURCENODE,     IF_INTEGER,"Number of source node"), OP("dprimenode",HFETA_DRAINPRIMENODE, IF_INTEGER,"Number of internal drain node"), OP("sprimenode",HFETA_SOURCEPRIMENODE,IF_INTEGER,"Number of internal source node"), OP("vgs",       HFETA_VGS,            IF_REAL,"Gate-Source voltage"), OP("vgd",       HFETA_VGD,            IF_REAL,"Gate-Drain voltage"), OP("cg",        HFETA_CG,             IF_REAL,"Gate capacitance"), OP("cd",        HFETA_CD,             IF_REAL,"Drain capacitance"), OP("cgd",       HFETA_CGD,            IF_REAL,"Gate_Drain capacitance"), OP("gm",        HFETA_GM,             IF_REAL,"Transconductance"), OP("gds",       HFETA_GDS,            IF_REAL,"Drain-Source conductance"), OP("ggs",       HFETA_GGS,            IF_REAL,"Gate-Source conductance"), OP("ggd",       HFETA_GGD,            IF_REAL,"Gate-Drain conductance"), OP("qgs",       HFETA_QGS,            IF_REAL,"Gate-Source charge storage"), OP("cqgs",      HFETA_CQGS,           IF_REAL,"Capacitance due to gate-source charge storage"), OP("qgd",       HFETA_QGD,            IF_REAL,"Gate-Drain charge storage"), OP("cqgd",      HFETA_CQGD,           IF_REAL,"Capacitance due to gate-drain charge storage"), OP("cs",        HFETA_CS,             IF_REAL   ,"Source current"), OP("p",         HFETA_POWER,          IF_REAL   ,"Power dissipated by the mesfet")};IFparm HFETAmPTable[] = { /* model parameters */ IOP( "vt0",     HFETA_MOD_VTO,    IF_REAL,"Pinch-off voltage"), IOP( "vto",     HFETA_MOD_VTO,    IF_REAL,"Pinch-off voltage"), IOP( "lambda",  HFETA_MOD_LAMBDA, IF_REAL,"Output conductance parameter"), IOP( "rd",      HFETA_MOD_RD,     IF_REAL,"Drain ohmic resistance"), IOP( "rs",      HFETA_MOD_RS,     IF_REAL,"Source ohmic resistance"), IOP( "rg",      HFETA_MOD_RG,     IF_REAL,"Gate ohmic resistance"), IOP( "rdi",     HFETA_MOD_RDI,    IF_REAL,"Drain ohmic resistance"), IOP( "rsi",     HFETA_MOD_RSI,    IF_REAL,"Source ohmic resistance"), IOP( "rgs",     HFETA_MOD_RGS,    IF_REAL,"Gate-source ohmic resistance"), IOP( "rgd",     HFETA_MOD_RGD,    IF_REAL,"Gate-drain ohmic resistance"), IOP( "ri",      HFETA_MOD_RI,     IF_REAL,""), IOP( "rf",      HFETA_MOD_RF,     IF_REAL,""), IOP( "eta",     HFETA_MOD_ETA,    IF_REAL,"Subthreshold ideality factor"), IOP( "m",       HFETA_MOD_M,      IF_REAL,"Knee shape parameter"), IOP( "mc",      HFETA_MOD_MC,     IF_REAL,"Knee shape parameter"), IOP( "gamma",   HFETA_MOD_GAMMA,  IF_REAL,"Knee shape parameter"), IOP( "sigma0",  HFETA_MOD_SIGMA0, IF_REAL,"Threshold voltage coefficient"), IOP( "vsigmat", HFETA_MOD_VSIGMAT,IF_REAL,""), IOP( "vsigma",  HFETA_MOD_VSIGMA, IF_REAL,""), IOP( "mu",      HFETA_MOD_MU,     IF_REAL,"Moblity"), IOP( "di",      HFETA_MOD_DI,     IF_REAL,"Depth of device"), IOP( "delta",   HFETA_MOD_DELTA,  IF_REAL,""), IOP( "vs",      HFETA_MOD_VS,     IF_REAL,"Saturation velocity"), IOP( "nmax",    HFETA_MOD_NMAX,   IF_REAL,""), IOP( "deltad",  HFETA_MOD_DELTAD, IF_REAL,"Thickness correction"), IOP( "js1d",    HFETA_MOD_JS1D,   IF_REAL,""), IOP( "js2d",    HFETA_MOD_JS2D,   IF_REAL,""), IOP( "js1s",    HFETA_MOD_JS1S,   IF_REAL,""), IOP( "js2s",    HFETA_MOD_JS2S,   IF_REAL,""), IOP( "m1d",     HFETA_MOD_M1D,    IF_REAL,""), IOP( "m2d",     HFETA_MOD_M2D,    IF_REAL,""), IOP( "m1s",     HFETA_MOD_M1S,    IF_REAL,""), IOP( "m2s",     HFETA_MOD_M2S,    IF_REAL,""), IOP( "epsi",    HFETA_MOD_EPSI,   IF_REAL,""), IOP( "p",       HFETA_MOD_P,      IF_REAL,""), IOP( "cm3",     HFETA_MOD_CM3,    IF_REAL,""),  IOP( "a1",      HFETA_MOD_A1,     IF_REAL,""), IOP( "a2",      HFETA_MOD_A2,     IF_REAL,""), IOP( "mv1",     HFETA_MOD_MV1,    IF_REAL,""), IOP( "kappa",   HFETA_MOD_KAPPA,  IF_REAL,""), IOP( "delf",    HFETA_MOD_DELF,   IF_REAL,""), IOP( "fgds",    HFETA_MOD_FGDS,   IF_REAL,""), IOP( "tf",      HFETA_MOD_TF,     IF_REAL,""), IOP( "cds",     HFETA_MOD_CDS,    IF_REAL,""), IOP( "phib",    HFETA_MOD_PHIB,   IF_REAL,""), IOP( "talpha",  HFETA_MOD_TALPHA, IF_REAL,""), IOP( "mt1",     HFETA_MOD_MT1,    IF_REAL,""), IOP( "mt2",     HFETA_MOD_MT2,    IF_REAL,""), IOP( "ck1",     HFETA_MOD_CK1,    IF_REAL,""), IOP( "ck2",     HFETA_MOD_CK2,    IF_REAL,""), IOP( "cm1",     HFETA_MOD_CM1,    IF_REAL,""), IOP( "cm2",     HFETA_MOD_CM2,    IF_REAL,""), IOP( "astar",   HFETA_MOD_ASTAR,  IF_REAL,""), IOP( "eta1",    HFETA_MOD_ETA1,   IF_REAL,""), IOP( "d1",      HFETA_MOD_D1,     IF_REAL,""), IOP( "vt1",     HFETA_MOD_VT1,    IF_REAL,""), IOP( "eta2",    HFETA_MOD_ETA2,   IF_REAL,""), IOP( "d2",      HFETA_MOD_D2,     IF_REAL,""), IOP( "vt2",     HFETA_MOD_VT2,    IF_REAL,""), IOP( "ggr",     HFETA_MOD_GGR,    IF_REAL,""), IOP( "del",     HFETA_MOD_DEL,    IF_REAL,""), IOP( "gatemod", HFETA_MOD_GATEMOD,IF_INTEGER,""), IOP( "klambda", HFETA_MOD_KLAMBDA, IF_REAL,""), IOP( "kmu",     HFETA_MOD_KMU,     IF_REAL,""), IOP( "kvto",    HFETA_MOD_KVTO,    IF_REAL,""),  OP( "type",	  HFETA_MOD_TYPE,    IF_STRING, "NHFET or PHFET"), IOP( "nhfet",   HFETA_MOD_NHFET,  IF_FLAG,"N HFET device"), IOP( "phfet",   HFETA_MOD_PHFET,  IF_FLAG,"P HFET device"),};char *HFETAnames[] = {    "Drain",    "Gate",    "Source"};int HFETAnSize = NUMELEMS(HFETAnames);int HFETApTSize = NUMELEMS(HFETApTable);int HFETAmPTSize = NUMELEMS(HFETAmPTable);int HFETAiSize = sizeof(HFETAinstance);int HFETAmSize = sizeof(HFETAmodel);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -