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

📄 b3soiddmpar.c

📁 ngspice又一个电子CAD仿真软件代码.功能更全
💻 C
📖 第 1 页 / 共 4 页
字号:
/**********Copyright 1999 Regents of the University of California.  All rights reserved.Author: Weidong Liu and Pin Su         Feb 1999Author: 1998 Samuel Fung, Dennis Sinitsky and Stephen TangModified by Wei Jin 99/9/27File: b3soiddmpar.c          98/5/01Modified by Paolo Nenzi 2002**********//* * Revision 2.1  99/9/27 Pin Su  * BSIMDD2.1 release */#include "ngspice.h"#include "b3soidddef.h"#include "ifsim.h"#include "sperror.h"#include "suffix.h"intB3SOIDDmParam(int param, IFvalue *value, GENmodel *inMod){    B3SOIDDmodel *mod = (B3SOIDDmodel*)inMod;    switch(param)    {   	case  B3SOIDD_MOD_MOBMOD :            mod->B3SOIDDmobMod = value->iValue;            mod->B3SOIDDmobModGiven = TRUE;            break;        case  B3SOIDD_MOD_BINUNIT :            mod->B3SOIDDbinUnit = value->iValue;            mod->B3SOIDDbinUnitGiven = TRUE;            break;        case  B3SOIDD_MOD_PARAMCHK :            mod->B3SOIDDparamChk = value->iValue;            mod->B3SOIDDparamChkGiven = TRUE;            break;        case  B3SOIDD_MOD_CAPMOD :            mod->B3SOIDDcapMod = value->iValue;            mod->B3SOIDDcapModGiven = TRUE;            break;        case  B3SOIDD_MOD_SHMOD :            mod->B3SOIDDshMod = value->iValue;            mod->B3SOIDDshModGiven = TRUE;            break;        case  B3SOIDD_MOD_NOIMOD :            mod->B3SOIDDnoiMod = value->iValue;            mod->B3SOIDDnoiModGiven = TRUE;            break;        case  B3SOIDD_MOD_VERSION :            mod->B3SOIDDversion = value->rValue;            mod->B3SOIDDversionGiven = TRUE;            break;        case  B3SOIDD_MOD_TOX :            mod->B3SOIDDtox = value->rValue;            mod->B3SOIDDtoxGiven = TRUE;            break;        case  B3SOIDD_MOD_CDSC :            mod->B3SOIDDcdsc = value->rValue;            mod->B3SOIDDcdscGiven = TRUE;            break;        case  B3SOIDD_MOD_CDSCB :            mod->B3SOIDDcdscb = value->rValue;            mod->B3SOIDDcdscbGiven = TRUE;            break;        case  B3SOIDD_MOD_CDSCD :            mod->B3SOIDDcdscd = value->rValue;            mod->B3SOIDDcdscdGiven = TRUE;            break;        case  B3SOIDD_MOD_CIT :            mod->B3SOIDDcit = value->rValue;            mod->B3SOIDDcitGiven = TRUE;            break;        case  B3SOIDD_MOD_NFACTOR :            mod->B3SOIDDnfactor = value->rValue;            mod->B3SOIDDnfactorGiven = TRUE;            break;        case B3SOIDD_MOD_VSAT:            mod->B3SOIDDvsat = value->rValue;            mod->B3SOIDDvsatGiven = TRUE;            break;        case B3SOIDD_MOD_A0:            mod->B3SOIDDa0 = value->rValue;            mod->B3SOIDDa0Given = TRUE;            break;                case B3SOIDD_MOD_AGS:            mod->B3SOIDDags= value->rValue;            mod->B3SOIDDagsGiven = TRUE;            break;                case B3SOIDD_MOD_A1:            mod->B3SOIDDa1 = value->rValue;            mod->B3SOIDDa1Given = TRUE;            break;        case B3SOIDD_MOD_A2:            mod->B3SOIDDa2 = value->rValue;            mod->B3SOIDDa2Given = TRUE;            break;        case B3SOIDD_MOD_AT:            mod->B3SOIDDat = value->rValue;            mod->B3SOIDDatGiven = TRUE;            break;        case B3SOIDD_MOD_KETA:            mod->B3SOIDDketa = value->rValue;            mod->B3SOIDDketaGiven = TRUE;            break;            case B3SOIDD_MOD_NSUB:            mod->B3SOIDDnsub = value->rValue;            mod->B3SOIDDnsubGiven = TRUE;            break;        case B3SOIDD_MOD_NPEAK:            mod->B3SOIDDnpeak = value->rValue;            mod->B3SOIDDnpeakGiven = TRUE;	    if (mod->B3SOIDDnpeak > 1.0e20)		mod->B3SOIDDnpeak *= 1.0e-6;            break;        case B3SOIDD_MOD_NGATE:            mod->B3SOIDDngate = value->rValue;            mod->B3SOIDDngateGiven = TRUE;	    if (mod->B3SOIDDngate > 1.0e23)		mod->B3SOIDDngate *= 1.0e-6;            break;        case B3SOIDD_MOD_GAMMA1:            mod->B3SOIDDgamma1 = value->rValue;            mod->B3SOIDDgamma1Given = TRUE;            break;        case B3SOIDD_MOD_GAMMA2:            mod->B3SOIDDgamma2 = value->rValue;            mod->B3SOIDDgamma2Given = TRUE;            break;        case B3SOIDD_MOD_VBX:            mod->B3SOIDDvbx = value->rValue;            mod->B3SOIDDvbxGiven = TRUE;            break;        case B3SOIDD_MOD_VBM:            mod->B3SOIDDvbm = value->rValue;            mod->B3SOIDDvbmGiven = TRUE;            break;        case B3SOIDD_MOD_XT:            mod->B3SOIDDxt = value->rValue;            mod->B3SOIDDxtGiven = TRUE;            break;        case  B3SOIDD_MOD_K1:            mod->B3SOIDDk1 = value->rValue;            mod->B3SOIDDk1Given = TRUE;            break;        case  B3SOIDD_MOD_KT1:            mod->B3SOIDDkt1 = value->rValue;            mod->B3SOIDDkt1Given = TRUE;            break;        case  B3SOIDD_MOD_KT1L:            mod->B3SOIDDkt1l = value->rValue;            mod->B3SOIDDkt1lGiven = TRUE;            break;        case  B3SOIDD_MOD_KT2:            mod->B3SOIDDkt2 = value->rValue;            mod->B3SOIDDkt2Given = TRUE;            break;        case  B3SOIDD_MOD_K2:            mod->B3SOIDDk2 = value->rValue;            mod->B3SOIDDk2Given = TRUE;            break;        case  B3SOIDD_MOD_K3:            mod->B3SOIDDk3 = value->rValue;            mod->B3SOIDDk3Given = TRUE;            break;        case  B3SOIDD_MOD_K3B:            mod->B3SOIDDk3b = value->rValue;            mod->B3SOIDDk3bGiven = TRUE;            break;        case  B3SOIDD_MOD_NLX:            mod->B3SOIDDnlx = value->rValue;            mod->B3SOIDDnlxGiven = TRUE;            break;        case  B3SOIDD_MOD_W0:            mod->B3SOIDDw0 = value->rValue;            mod->B3SOIDDw0Given = TRUE;            break;        case  B3SOIDD_MOD_DVT0:                           mod->B3SOIDDdvt0 = value->rValue;            mod->B3SOIDDdvt0Given = TRUE;            break;        case  B3SOIDD_MOD_DVT1:                         mod->B3SOIDDdvt1 = value->rValue;            mod->B3SOIDDdvt1Given = TRUE;            break;        case  B3SOIDD_MOD_DVT2:                         mod->B3SOIDDdvt2 = value->rValue;            mod->B3SOIDDdvt2Given = TRUE;            break;        case  B3SOIDD_MOD_DVT0W:                           mod->B3SOIDDdvt0w = value->rValue;            mod->B3SOIDDdvt0wGiven = TRUE;            break;        case  B3SOIDD_MOD_DVT1W:                         mod->B3SOIDDdvt1w = value->rValue;            mod->B3SOIDDdvt1wGiven = TRUE;            break;        case  B3SOIDD_MOD_DVT2W:                         mod->B3SOIDDdvt2w = value->rValue;            mod->B3SOIDDdvt2wGiven = TRUE;            break;        case  B3SOIDD_MOD_DROUT:                         mod->B3SOIDDdrout = value->rValue;            mod->B3SOIDDdroutGiven = TRUE;            break;        case  B3SOIDD_MOD_DSUB:                         mod->B3SOIDDdsub = value->rValue;            mod->B3SOIDDdsubGiven = TRUE;            break;        case B3SOIDD_MOD_VTH0:            mod->B3SOIDDvth0 = value->rValue;            mod->B3SOIDDvth0Given = TRUE;            break;        case B3SOIDD_MOD_UA:            mod->B3SOIDDua = value->rValue;            mod->B3SOIDDuaGiven = TRUE;            break;        case B3SOIDD_MOD_UA1:            mod->B3SOIDDua1 = value->rValue;            mod->B3SOIDDua1Given = TRUE;            break;        case B3SOIDD_MOD_UB:            mod->B3SOIDDub = value->rValue;            mod->B3SOIDDubGiven = TRUE;            break;        case B3SOIDD_MOD_UB1:            mod->B3SOIDDub1 = value->rValue;            mod->B3SOIDDub1Given = TRUE;            break;        case B3SOIDD_MOD_UC:            mod->B3SOIDDuc = value->rValue;            mod->B3SOIDDucGiven = TRUE;            break;        case B3SOIDD_MOD_UC1:            mod->B3SOIDDuc1 = value->rValue;            mod->B3SOIDDuc1Given = TRUE;            break;        case  B3SOIDD_MOD_U0 :            mod->B3SOIDDu0 = value->rValue;            mod->B3SOIDDu0Given = TRUE;            break;        case  B3SOIDD_MOD_UTE :            mod->B3SOIDDute = value->rValue;            mod->B3SOIDDuteGiven = TRUE;            break;        case B3SOIDD_MOD_VOFF:            mod->B3SOIDDvoff = value->rValue;            mod->B3SOIDDvoffGiven = TRUE;            break;        case  B3SOIDD_MOD_DELTA :            mod->B3SOIDDdelta = value->rValue;            mod->B3SOIDDdeltaGiven = TRUE;            break;        case B3SOIDD_MOD_RDSW:            mod->B3SOIDDrdsw = value->rValue;            mod->B3SOIDDrdswGiven = TRUE;            break;                             case B3SOIDD_MOD_PRWG:            mod->B3SOIDDprwg = value->rValue;            mod->B3SOIDDprwgGiven = TRUE;            break;                             case B3SOIDD_MOD_PRWB:            mod->B3SOIDDprwb = value->rValue;            mod->B3SOIDDprwbGiven = TRUE;            break;                             case B3SOIDD_MOD_PRT:            mod->B3SOIDDprt = value->rValue;            mod->B3SOIDDprtGiven = TRUE;            break;                             case B3SOIDD_MOD_ETA0:            mod->B3SOIDDeta0 = value->rValue;            mod->B3SOIDDeta0Given = TRUE;            break;                         case B3SOIDD_MOD_ETAB:            mod->B3SOIDDetab = value->rValue;            mod->B3SOIDDetabGiven = TRUE;            break;                         case B3SOIDD_MOD_PCLM:            mod->B3SOIDDpclm = value->rValue;            mod->B3SOIDDpclmGiven = TRUE;            break;                         case B3SOIDD_MOD_PDIBL1:            mod->B3SOIDDpdibl1 = value->rValue;            mod->B3SOIDDpdibl1Given = TRUE;            break;                         case B3SOIDD_MOD_PDIBL2:            mod->B3SOIDDpdibl2 = value->rValue;            mod->B3SOIDDpdibl2Given = TRUE;            break;                         case B3SOIDD_MOD_PDIBLB:            mod->B3SOIDDpdiblb = value->rValue;            mod->B3SOIDDpdiblbGiven = TRUE;            break;                         case B3SOIDD_MOD_PVAG:            mod->B3SOIDDpvag = value->rValue;            mod->B3SOIDDpvagGiven = TRUE;            break;                         case  B3SOIDD_MOD_WR :            mod->B3SOIDDwr = value->rValue;            mod->B3SOIDDwrGiven = TRUE;            break;        case  B3SOIDD_MOD_DWG :            mod->B3SOIDDdwg = value->rValue;            mod->B3SOIDDdwgGiven = TRUE;            break;        case  B3SOIDD_MOD_DWB :            mod->B3SOIDDdwb = value->rValue;            mod->B3SOIDDdwbGiven = TRUE;            break;        case  B3SOIDD_MOD_B0 :            mod->B3SOIDDb0 = value->rValue;            mod->B3SOIDDb0Given = TRUE;            break;        case  B3SOIDD_MOD_B1 :            mod->B3SOIDDb1 = value->rValue;            mod->B3SOIDDb1Given = TRUE;            break;        case  B3SOIDD_MOD_ALPHA0 :            mod->B3SOIDDalpha0 = value->rValue;            mod->B3SOIDDalpha0Given = TRUE;            break;        case  B3SOIDD_MOD_ALPHA1 :            mod->B3SOIDDalpha1 = value->rValue;            mod->B3SOIDDalpha1Given = TRUE;            break;        case  B3SOIDD_MOD_BETA0 :            mod->B3SOIDDbeta0 = value->rValue;            mod->B3SOIDDbeta0Given = TRUE;            break;        case  B3SOIDD_MOD_CGSL :            mod->B3SOIDDcgsl = value->rValue;            mod->B3SOIDDcgslGiven = TRUE;            break;        case  B3SOIDD_MOD_CGDL :            mod->B3SOIDDcgdl = value->rValue;            mod->B3SOIDDcgdlGiven = TRUE;            break;        case  B3SOIDD_MOD_CKAPPA :            mod->B3SOIDDckappa = value->rValue;            mod->B3SOIDDckappaGiven = TRUE;            break;        case  B3SOIDD_MOD_CF :            mod->B3SOIDDcf = value->rValue;            mod->B3SOIDDcfGiven = TRUE;            break;        case  B3SOIDD_MOD_CLC :            mod->B3SOIDDclc = value->rValue;            mod->B3SOIDDclcGiven = TRUE;            break;        case  B3SOIDD_MOD_CLE :            mod->B3SOIDDcle = value->rValue;            mod->B3SOIDDcleGiven = TRUE;            break;        case  B3SOIDD_MOD_DWC :            mod->B3SOIDDdwc = value->rValue;            mod->B3SOIDDdwcGiven = TRUE;            break;        case  B3SOIDD_MOD_DLC :            mod->B3SOIDDdlc = value->rValue;            mod->B3SOIDDdlcGiven = TRUE;            break;        case  B3SOIDD_MOD_TBOX :            mod->B3SOIDDtbox = value->rValue;            mod->B3SOIDDtboxGiven = TRUE;            break;        case  B3SOIDD_MOD_TSI :            mod->B3SOIDDtsi = value->rValue;            mod->B3SOIDDtsiGiven = TRUE;            break;        case  B3SOIDD_MOD_XJ :            mod->B3SOIDDxj = value->rValue;            mod->B3SOIDDxjGiven = TRUE;            break;        case  B3SOIDD_MOD_KB1 :            mod->B3SOIDDkb1 = value->rValue;            mod->B3SOIDDkb1Given = TRUE;            break;        case  B3SOIDD_MOD_KB3 :            mod->B3SOIDDkb3 = value->rValue;            mod->B3SOIDDkb3Given = TRUE;            break;        case  B3SOIDD_MOD_DVBD0 :            mod->B3SOIDDdvbd0 = value->rValue;            mod->B3SOIDDdvbd0Given = TRUE;            break;        case  B3SOIDD_MOD_DVBD1 :            mod->B3SOIDDdvbd1 = value->rValue;            mod->B3SOIDDdvbd1Given = TRUE;            break;        case  B3SOIDD_MOD_DELP :            mod->B3SOIDDdelp = value->rValue;            mod->B3SOIDDdelpGiven = TRUE;            break;        case  B3SOIDD_MOD_VBSA :            mod->B3SOIDDvbsa = value->rValue;            mod->B3SOIDDvbsaGiven = TRUE;            break;        case  B3SOIDD_MOD_RBODY :

⌨️ 快捷键说明

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