b3soifdmpar.c
来自「ngspice又一个电子CAD仿真软件代码.功能更全」· C语言 代码 · 共 1,627 行 · 第 1/4 页
C
1,627 行
/**********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 TangFile: b3soifdmpar.c 98/5/01Modified by Wei Jin 99/9/27Modified by Paolo Nenzi 2002**********//* * Revision 2.1 99/9/27 Pin Su * BSIMFD2.1 release */#include "ngspice.h"#include "b3soifddef.h"#include "ifsim.h"#include "sperror.h"#include "suffix.h"intB3SOIFDmParam(int param, IFvalue *value, GENmodel *inMod){ B3SOIFDmodel *mod = (B3SOIFDmodel*)inMod; switch(param) { case B3SOIFD_MOD_MOBMOD : mod->B3SOIFDmobMod = value->iValue; mod->B3SOIFDmobModGiven = TRUE; break; case B3SOIFD_MOD_BINUNIT : mod->B3SOIFDbinUnit = value->iValue; mod->B3SOIFDbinUnitGiven = TRUE; break; case B3SOIFD_MOD_PARAMCHK : mod->B3SOIFDparamChk = value->iValue; mod->B3SOIFDparamChkGiven = TRUE; break; case B3SOIFD_MOD_CAPMOD : mod->B3SOIFDcapMod = value->iValue; mod->B3SOIFDcapModGiven = TRUE; break; case B3SOIFD_MOD_SHMOD : mod->B3SOIFDshMod = value->iValue; mod->B3SOIFDshModGiven = TRUE; break; case B3SOIFD_MOD_NOIMOD : mod->B3SOIFDnoiMod = value->iValue; mod->B3SOIFDnoiModGiven = TRUE; break; case B3SOIFD_MOD_VERSION : mod->B3SOIFDversion = value->rValue; mod->B3SOIFDversionGiven = TRUE; break; case B3SOIFD_MOD_TOX : mod->B3SOIFDtox = value->rValue; mod->B3SOIFDtoxGiven = TRUE; break; case B3SOIFD_MOD_CDSC : mod->B3SOIFDcdsc = value->rValue; mod->B3SOIFDcdscGiven = TRUE; break; case B3SOIFD_MOD_CDSCB : mod->B3SOIFDcdscb = value->rValue; mod->B3SOIFDcdscbGiven = TRUE; break; case B3SOIFD_MOD_CDSCD : mod->B3SOIFDcdscd = value->rValue; mod->B3SOIFDcdscdGiven = TRUE; break; case B3SOIFD_MOD_CIT : mod->B3SOIFDcit = value->rValue; mod->B3SOIFDcitGiven = TRUE; break; case B3SOIFD_MOD_NFACTOR : mod->B3SOIFDnfactor = value->rValue; mod->B3SOIFDnfactorGiven = TRUE; break; case B3SOIFD_MOD_VSAT: mod->B3SOIFDvsat = value->rValue; mod->B3SOIFDvsatGiven = TRUE; break; case B3SOIFD_MOD_A0: mod->B3SOIFDa0 = value->rValue; mod->B3SOIFDa0Given = TRUE; break; case B3SOIFD_MOD_AGS: mod->B3SOIFDags= value->rValue; mod->B3SOIFDagsGiven = TRUE; break; case B3SOIFD_MOD_A1: mod->B3SOIFDa1 = value->rValue; mod->B3SOIFDa1Given = TRUE; break; case B3SOIFD_MOD_A2: mod->B3SOIFDa2 = value->rValue; mod->B3SOIFDa2Given = TRUE; break; case B3SOIFD_MOD_AT: mod->B3SOIFDat = value->rValue; mod->B3SOIFDatGiven = TRUE; break; case B3SOIFD_MOD_KETA: mod->B3SOIFDketa = value->rValue; mod->B3SOIFDketaGiven = TRUE; break; case B3SOIFD_MOD_NSUB: mod->B3SOIFDnsub = value->rValue; mod->B3SOIFDnsubGiven = TRUE; break; case B3SOIFD_MOD_NPEAK: mod->B3SOIFDnpeak = value->rValue; mod->B3SOIFDnpeakGiven = TRUE; if (mod->B3SOIFDnpeak > 1.0e20) mod->B3SOIFDnpeak *= 1.0e-6; break; case B3SOIFD_MOD_NGATE: mod->B3SOIFDngate = value->rValue; mod->B3SOIFDngateGiven = TRUE; if (mod->B3SOIFDngate > 1.0e23) mod->B3SOIFDngate *= 1.0e-6; break; case B3SOIFD_MOD_GAMMA1: mod->B3SOIFDgamma1 = value->rValue; mod->B3SOIFDgamma1Given = TRUE; break; case B3SOIFD_MOD_GAMMA2: mod->B3SOIFDgamma2 = value->rValue; mod->B3SOIFDgamma2Given = TRUE; break; case B3SOIFD_MOD_VBX: mod->B3SOIFDvbx = value->rValue; mod->B3SOIFDvbxGiven = TRUE; break; case B3SOIFD_MOD_VBM: mod->B3SOIFDvbm = value->rValue; mod->B3SOIFDvbmGiven = TRUE; break; case B3SOIFD_MOD_XT: mod->B3SOIFDxt = value->rValue; mod->B3SOIFDxtGiven = TRUE; break; case B3SOIFD_MOD_K1: mod->B3SOIFDk1 = value->rValue; mod->B3SOIFDk1Given = TRUE; break; case B3SOIFD_MOD_KT1: mod->B3SOIFDkt1 = value->rValue; mod->B3SOIFDkt1Given = TRUE; break; case B3SOIFD_MOD_KT1L: mod->B3SOIFDkt1l = value->rValue; mod->B3SOIFDkt1lGiven = TRUE; break; case B3SOIFD_MOD_KT2: mod->B3SOIFDkt2 = value->rValue; mod->B3SOIFDkt2Given = TRUE; break; case B3SOIFD_MOD_K2: mod->B3SOIFDk2 = value->rValue; mod->B3SOIFDk2Given = TRUE; break; case B3SOIFD_MOD_K3: mod->B3SOIFDk3 = value->rValue; mod->B3SOIFDk3Given = TRUE; break; case B3SOIFD_MOD_K3B: mod->B3SOIFDk3b = value->rValue; mod->B3SOIFDk3bGiven = TRUE; break; case B3SOIFD_MOD_NLX: mod->B3SOIFDnlx = value->rValue; mod->B3SOIFDnlxGiven = TRUE; break; case B3SOIFD_MOD_W0: mod->B3SOIFDw0 = value->rValue; mod->B3SOIFDw0Given = TRUE; break; case B3SOIFD_MOD_DVT0: mod->B3SOIFDdvt0 = value->rValue; mod->B3SOIFDdvt0Given = TRUE; break; case B3SOIFD_MOD_DVT1: mod->B3SOIFDdvt1 = value->rValue; mod->B3SOIFDdvt1Given = TRUE; break; case B3SOIFD_MOD_DVT2: mod->B3SOIFDdvt2 = value->rValue; mod->B3SOIFDdvt2Given = TRUE; break; case B3SOIFD_MOD_DVT0W: mod->B3SOIFDdvt0w = value->rValue; mod->B3SOIFDdvt0wGiven = TRUE; break; case B3SOIFD_MOD_DVT1W: mod->B3SOIFDdvt1w = value->rValue; mod->B3SOIFDdvt1wGiven = TRUE; break; case B3SOIFD_MOD_DVT2W: mod->B3SOIFDdvt2w = value->rValue; mod->B3SOIFDdvt2wGiven = TRUE; break; case B3SOIFD_MOD_DROUT: mod->B3SOIFDdrout = value->rValue; mod->B3SOIFDdroutGiven = TRUE; break; case B3SOIFD_MOD_DSUB: mod->B3SOIFDdsub = value->rValue; mod->B3SOIFDdsubGiven = TRUE; break; case B3SOIFD_MOD_VTH0: mod->B3SOIFDvth0 = value->rValue; mod->B3SOIFDvth0Given = TRUE; break; case B3SOIFD_MOD_UA: mod->B3SOIFDua = value->rValue; mod->B3SOIFDuaGiven = TRUE; break; case B3SOIFD_MOD_UA1: mod->B3SOIFDua1 = value->rValue; mod->B3SOIFDua1Given = TRUE; break; case B3SOIFD_MOD_UB: mod->B3SOIFDub = value->rValue; mod->B3SOIFDubGiven = TRUE; break; case B3SOIFD_MOD_UB1: mod->B3SOIFDub1 = value->rValue; mod->B3SOIFDub1Given = TRUE; break; case B3SOIFD_MOD_UC: mod->B3SOIFDuc = value->rValue; mod->B3SOIFDucGiven = TRUE; break; case B3SOIFD_MOD_UC1: mod->B3SOIFDuc1 = value->rValue; mod->B3SOIFDuc1Given = TRUE; break; case B3SOIFD_MOD_U0 : mod->B3SOIFDu0 = value->rValue; mod->B3SOIFDu0Given = TRUE; break; case B3SOIFD_MOD_UTE : mod->B3SOIFDute = value->rValue; mod->B3SOIFDuteGiven = TRUE; break; case B3SOIFD_MOD_VOFF: mod->B3SOIFDvoff = value->rValue; mod->B3SOIFDvoffGiven = TRUE; break; case B3SOIFD_MOD_DELTA : mod->B3SOIFDdelta = value->rValue; mod->B3SOIFDdeltaGiven = TRUE; break; case B3SOIFD_MOD_RDSW: mod->B3SOIFDrdsw = value->rValue; mod->B3SOIFDrdswGiven = TRUE; break; case B3SOIFD_MOD_PRWG: mod->B3SOIFDprwg = value->rValue; mod->B3SOIFDprwgGiven = TRUE; break; case B3SOIFD_MOD_PRWB: mod->B3SOIFDprwb = value->rValue; mod->B3SOIFDprwbGiven = TRUE; break; case B3SOIFD_MOD_PRT: mod->B3SOIFDprt = value->rValue; mod->B3SOIFDprtGiven = TRUE; break; case B3SOIFD_MOD_ETA0: mod->B3SOIFDeta0 = value->rValue; mod->B3SOIFDeta0Given = TRUE; break; case B3SOIFD_MOD_ETAB: mod->B3SOIFDetab = value->rValue; mod->B3SOIFDetabGiven = TRUE; break; case B3SOIFD_MOD_PCLM: mod->B3SOIFDpclm = value->rValue; mod->B3SOIFDpclmGiven = TRUE; break; case B3SOIFD_MOD_PDIBL1: mod->B3SOIFDpdibl1 = value->rValue; mod->B3SOIFDpdibl1Given = TRUE; break; case B3SOIFD_MOD_PDIBL2: mod->B3SOIFDpdibl2 = value->rValue; mod->B3SOIFDpdibl2Given = TRUE; break; case B3SOIFD_MOD_PDIBLB: mod->B3SOIFDpdiblb = value->rValue; mod->B3SOIFDpdiblbGiven = TRUE; break; case B3SOIFD_MOD_PVAG: mod->B3SOIFDpvag = value->rValue; mod->B3SOIFDpvagGiven = TRUE; break; case B3SOIFD_MOD_WR : mod->B3SOIFDwr = value->rValue; mod->B3SOIFDwrGiven = TRUE; break; case B3SOIFD_MOD_DWG : mod->B3SOIFDdwg = value->rValue; mod->B3SOIFDdwgGiven = TRUE; break; case B3SOIFD_MOD_DWB : mod->B3SOIFDdwb = value->rValue; mod->B3SOIFDdwbGiven = TRUE; break; case B3SOIFD_MOD_B0 : mod->B3SOIFDb0 = value->rValue; mod->B3SOIFDb0Given = TRUE; break; case B3SOIFD_MOD_B1 : mod->B3SOIFDb1 = value->rValue; mod->B3SOIFDb1Given = TRUE; break; case B3SOIFD_MOD_ALPHA0 : mod->B3SOIFDalpha0 = value->rValue; mod->B3SOIFDalpha0Given = TRUE; break; case B3SOIFD_MOD_ALPHA1 : mod->B3SOIFDalpha1 = value->rValue; mod->B3SOIFDalpha1Given = TRUE; break; case B3SOIFD_MOD_BETA0 : mod->B3SOIFDbeta0 = value->rValue; mod->B3SOIFDbeta0Given = TRUE; break; case B3SOIFD_MOD_CGSL : mod->B3SOIFDcgsl = value->rValue; mod->B3SOIFDcgslGiven = TRUE; break; case B3SOIFD_MOD_CGDL : mod->B3SOIFDcgdl = value->rValue; mod->B3SOIFDcgdlGiven = TRUE; break; case B3SOIFD_MOD_CKAPPA : mod->B3SOIFDckappa = value->rValue; mod->B3SOIFDckappaGiven = TRUE; break; case B3SOIFD_MOD_CF : mod->B3SOIFDcf = value->rValue; mod->B3SOIFDcfGiven = TRUE; break; case B3SOIFD_MOD_CLC : mod->B3SOIFDclc = value->rValue; mod->B3SOIFDclcGiven = TRUE; break; case B3SOIFD_MOD_CLE : mod->B3SOIFDcle = value->rValue; mod->B3SOIFDcleGiven = TRUE; break; case B3SOIFD_MOD_DWC : mod->B3SOIFDdwc = value->rValue; mod->B3SOIFDdwcGiven = TRUE; break; case B3SOIFD_MOD_DLC : mod->B3SOIFDdlc = value->rValue; mod->B3SOIFDdlcGiven = TRUE; break; case B3SOIFD_MOD_TBOX : mod->B3SOIFDtbox = value->rValue; mod->B3SOIFDtboxGiven = TRUE; break; case B3SOIFD_MOD_TSI : mod->B3SOIFDtsi = value->rValue; mod->B3SOIFDtsiGiven = TRUE; break; case B3SOIFD_MOD_XJ : mod->B3SOIFDxj = value->rValue; mod->B3SOIFDxjGiven = TRUE; break; case B3SOIFD_MOD_KB1 : mod->B3SOIFDkb1 = value->rValue; mod->B3SOIFDkb1Given = TRUE; break; case B3SOIFD_MOD_KB3 : mod->B3SOIFDkb3 = value->rValue; mod->B3SOIFDkb3Given = TRUE; break; case B3SOIFD_MOD_DVBD0 : mod->B3SOIFDdvbd0 = value->rValue; mod->B3SOIFDdvbd0Given = TRUE; break; case B3SOIFD_MOD_DVBD1 : mod->B3SOIFDdvbd1 = value->rValue; mod->B3SOIFDdvbd1Given = TRUE; break; case B3SOIFD_MOD_DELP : mod->B3SOIFDdelp = value->rValue; mod->B3SOIFDdelpGiven = TRUE; break; case B3SOIFD_MOD_VBSA : mod->B3SOIFDvbsa = value->rValue; mod->B3SOIFDvbsaGiven = TRUE; break; case B3SOIFD_MOD_RBODY :
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?