📄 b3soiddmpar.c
字号:
/**********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 + -