📄 b3soipdmpar.c
字号:
/**********Copyright 1990 Regents of the University of California. All rights reserved.Author: 1998 Samuel Fung, Dennis Sinitsky and Stephen TangFile: b3soipdmpar.c 98/5/01Modified by Pin Su and Jan Feng 99/2/15Modified by Pin Su 99/4/30Modified by Wei Jin 99/9/27Modified by Pin Su 00/3/1Modified by Pin Su 01/2/15Modified by Pin Su 02/3/5Modified by Paolo Nenzi 2002**********//* * Revision 2.2.3 02/3/5 Pin Su * BSIMPD2.2.3 release */#include "ngspice.h"#include "b3soipddef.h"#include "ifsim.h"#include "sperror.h"#include "suffix.h"intB3SOIPDmParam(int param, IFvalue *value, GENmodel *inMod){ B3SOIPDmodel *mod = (B3SOIPDmodel*)inMod; switch(param) { case B3SOIPD_MOD_MOBMOD : mod->B3SOIPDmobMod = value->iValue; mod->B3SOIPDmobModGiven = TRUE; break; case B3SOIPD_MOD_BINUNIT : mod->B3SOIPDbinUnit = value->iValue; mod->B3SOIPDbinUnitGiven = TRUE; break; case B3SOIPD_MOD_PARAMCHK : mod->B3SOIPDparamChk = value->iValue; mod->B3SOIPDparamChkGiven = TRUE; break; case B3SOIPD_MOD_CAPMOD : mod->B3SOIPDcapMod = value->iValue; mod->B3SOIPDcapModGiven = TRUE; break; case B3SOIPD_MOD_SHMOD : mod->B3SOIPDshMod = value->iValue; mod->B3SOIPDshModGiven = TRUE; break; case B3SOIPD_MOD_NOIMOD : mod->B3SOIPDnoiMod = value->iValue; mod->B3SOIPDnoiModGiven = TRUE; break; case B3SOIPD_MOD_VERSION : mod->B3SOIPDversion = value->rValue; mod->B3SOIPDversionGiven = TRUE; break; case B3SOIPD_MOD_TOX : mod->B3SOIPDtox = value->rValue; mod->B3SOIPDtoxGiven = TRUE; break;/* v2.2.3 */ case B3SOIPD_MOD_DTOXCV : mod->B3SOIPDdtoxcv = value->rValue; mod->B3SOIPDdtoxcvGiven = TRUE; break; case B3SOIPD_MOD_CDSC : mod->B3SOIPDcdsc = value->rValue; mod->B3SOIPDcdscGiven = TRUE; break; case B3SOIPD_MOD_CDSCB : mod->B3SOIPDcdscb = value->rValue; mod->B3SOIPDcdscbGiven = TRUE; break; case B3SOIPD_MOD_CDSCD : mod->B3SOIPDcdscd = value->rValue; mod->B3SOIPDcdscdGiven = TRUE; break; case B3SOIPD_MOD_CIT : mod->B3SOIPDcit = value->rValue; mod->B3SOIPDcitGiven = TRUE; break; case B3SOIPD_MOD_NFACTOR : mod->B3SOIPDnfactor = value->rValue; mod->B3SOIPDnfactorGiven = TRUE; break; case B3SOIPD_MOD_VSAT: mod->B3SOIPDvsat = value->rValue; mod->B3SOIPDvsatGiven = TRUE; break; case B3SOIPD_MOD_A0: mod->B3SOIPDa0 = value->rValue; mod->B3SOIPDa0Given = TRUE; break; case B3SOIPD_MOD_AGS: mod->B3SOIPDags= value->rValue; mod->B3SOIPDagsGiven = TRUE; break; case B3SOIPD_MOD_A1: mod->B3SOIPDa1 = value->rValue; mod->B3SOIPDa1Given = TRUE; break; case B3SOIPD_MOD_A2: mod->B3SOIPDa2 = value->rValue; mod->B3SOIPDa2Given = TRUE; break; case B3SOIPD_MOD_AT: mod->B3SOIPDat = value->rValue; mod->B3SOIPDatGiven = TRUE; break; case B3SOIPD_MOD_KETA: mod->B3SOIPDketa = value->rValue; mod->B3SOIPDketaGiven = TRUE; break; case B3SOIPD_MOD_NSUB: mod->B3SOIPDnsub = value->rValue; mod->B3SOIPDnsubGiven = TRUE; break; case B3SOIPD_MOD_NPEAK: mod->B3SOIPDnpeak = value->rValue; mod->B3SOIPDnpeakGiven = TRUE; if (mod->B3SOIPDnpeak > 1.0e20) mod->B3SOIPDnpeak *= 1.0e-6; break; case B3SOIPD_MOD_NGATE: mod->B3SOIPDngate = value->rValue; mod->B3SOIPDngateGiven = TRUE; if (mod->B3SOIPDngate > 1.0e23) mod->B3SOIPDngate *= 1.0e-6; break; case B3SOIPD_MOD_GAMMA1: mod->B3SOIPDgamma1 = value->rValue; mod->B3SOIPDgamma1Given = TRUE; break; case B3SOIPD_MOD_GAMMA2: mod->B3SOIPDgamma2 = value->rValue; mod->B3SOIPDgamma2Given = TRUE; break; case B3SOIPD_MOD_VBX: mod->B3SOIPDvbx = value->rValue; mod->B3SOIPDvbxGiven = TRUE; break; case B3SOIPD_MOD_VBM: mod->B3SOIPDvbm = value->rValue; mod->B3SOIPDvbmGiven = TRUE; break; case B3SOIPD_MOD_XT: mod->B3SOIPDxt = value->rValue; mod->B3SOIPDxtGiven = TRUE; break; case B3SOIPD_MOD_K1: mod->B3SOIPDk1 = value->rValue; mod->B3SOIPDk1Given = TRUE; break; case B3SOIPD_MOD_KT1: mod->B3SOIPDkt1 = value->rValue; mod->B3SOIPDkt1Given = TRUE; break; case B3SOIPD_MOD_KT1L: mod->B3SOIPDkt1l = value->rValue; mod->B3SOIPDkt1lGiven = TRUE; break; case B3SOIPD_MOD_KT2: mod->B3SOIPDkt2 = value->rValue; mod->B3SOIPDkt2Given = TRUE; break; case B3SOIPD_MOD_K2: mod->B3SOIPDk2 = value->rValue; mod->B3SOIPDk2Given = TRUE; break; case B3SOIPD_MOD_K3: mod->B3SOIPDk3 = value->rValue; mod->B3SOIPDk3Given = TRUE; break; case B3SOIPD_MOD_K3B: mod->B3SOIPDk3b = value->rValue; mod->B3SOIPDk3bGiven = TRUE; break; case B3SOIPD_MOD_NLX: mod->B3SOIPDnlx = value->rValue; mod->B3SOIPDnlxGiven = TRUE; break; case B3SOIPD_MOD_W0: mod->B3SOIPDw0 = value->rValue; mod->B3SOIPDw0Given = TRUE; break; case B3SOIPD_MOD_DVT0: mod->B3SOIPDdvt0 = value->rValue; mod->B3SOIPDdvt0Given = TRUE; break; case B3SOIPD_MOD_DVT1: mod->B3SOIPDdvt1 = value->rValue; mod->B3SOIPDdvt1Given = TRUE; break; case B3SOIPD_MOD_DVT2: mod->B3SOIPDdvt2 = value->rValue; mod->B3SOIPDdvt2Given = TRUE; break; case B3SOIPD_MOD_DVT0W: mod->B3SOIPDdvt0w = value->rValue; mod->B3SOIPDdvt0wGiven = TRUE; break; case B3SOIPD_MOD_DVT1W: mod->B3SOIPDdvt1w = value->rValue; mod->B3SOIPDdvt1wGiven = TRUE; break; case B3SOIPD_MOD_DVT2W: mod->B3SOIPDdvt2w = value->rValue; mod->B3SOIPDdvt2wGiven = TRUE; break; case B3SOIPD_MOD_DROUT: mod->B3SOIPDdrout = value->rValue; mod->B3SOIPDdroutGiven = TRUE; break; case B3SOIPD_MOD_DSUB: mod->B3SOIPDdsub = value->rValue; mod->B3SOIPDdsubGiven = TRUE; break; case B3SOIPD_MOD_VTH0: mod->B3SOIPDvth0 = value->rValue; mod->B3SOIPDvth0Given = TRUE; break; case B3SOIPD_MOD_UA: mod->B3SOIPDua = value->rValue; mod->B3SOIPDuaGiven = TRUE; break; case B3SOIPD_MOD_UA1: mod->B3SOIPDua1 = value->rValue; mod->B3SOIPDua1Given = TRUE; break; case B3SOIPD_MOD_UB: mod->B3SOIPDub = value->rValue; mod->B3SOIPDubGiven = TRUE; break; case B3SOIPD_MOD_UB1: mod->B3SOIPDub1 = value->rValue; mod->B3SOIPDub1Given = TRUE; break; case B3SOIPD_MOD_UC: mod->B3SOIPDuc = value->rValue; mod->B3SOIPDucGiven = TRUE; break; case B3SOIPD_MOD_UC1: mod->B3SOIPDuc1 = value->rValue; mod->B3SOIPDuc1Given = TRUE; break; case B3SOIPD_MOD_U0 : mod->B3SOIPDu0 = value->rValue; mod->B3SOIPDu0Given = TRUE; break; case B3SOIPD_MOD_UTE : mod->B3SOIPDute = value->rValue; mod->B3SOIPDuteGiven = TRUE; break; case B3SOIPD_MOD_VOFF: mod->B3SOIPDvoff = value->rValue; mod->B3SOIPDvoffGiven = TRUE; break; case B3SOIPD_MOD_DELTA : mod->B3SOIPDdelta = value->rValue; mod->B3SOIPDdeltaGiven = TRUE; break; case B3SOIPD_MOD_RDSW: mod->B3SOIPDrdsw = value->rValue; mod->B3SOIPDrdswGiven = TRUE; break; case B3SOIPD_MOD_PRWG: mod->B3SOIPDprwg = value->rValue; mod->B3SOIPDprwgGiven = TRUE; break; case B3SOIPD_MOD_PRWB: mod->B3SOIPDprwb = value->rValue; mod->B3SOIPDprwbGiven = TRUE; break; case B3SOIPD_MOD_PRT: mod->B3SOIPDprt = value->rValue; mod->B3SOIPDprtGiven = TRUE; break; case B3SOIPD_MOD_ETA0: mod->B3SOIPDeta0 = value->rValue; mod->B3SOIPDeta0Given = TRUE; break; case B3SOIPD_MOD_ETAB: mod->B3SOIPDetab = value->rValue; mod->B3SOIPDetabGiven = TRUE; break; case B3SOIPD_MOD_PCLM: mod->B3SOIPDpclm = value->rValue; mod->B3SOIPDpclmGiven = TRUE; break; case B3SOIPD_MOD_PDIBL1: mod->B3SOIPDpdibl1 = value->rValue; mod->B3SOIPDpdibl1Given = TRUE; break; case B3SOIPD_MOD_PDIBL2: mod->B3SOIPDpdibl2 = value->rValue; mod->B3SOIPDpdibl2Given = TRUE; break; case B3SOIPD_MOD_PDIBLB: mod->B3SOIPDpdiblb = value->rValue; mod->B3SOIPDpdiblbGiven = TRUE; break; case B3SOIPD_MOD_PVAG: mod->B3SOIPDpvag = value->rValue; mod->B3SOIPDpvagGiven = TRUE; break; case B3SOIPD_MOD_WR : mod->B3SOIPDwr = value->rValue; mod->B3SOIPDwrGiven = TRUE; break; case B3SOIPD_MOD_DWG : mod->B3SOIPDdwg = value->rValue; mod->B3SOIPDdwgGiven = TRUE; break; case B3SOIPD_MOD_DWB : mod->B3SOIPDdwb = value->rValue; mod->B3SOIPDdwbGiven = TRUE; break; case B3SOIPD_MOD_B0 : mod->B3SOIPDb0 = value->rValue; mod->B3SOIPDb0Given = TRUE; break; case B3SOIPD_MOD_B1 : mod->B3SOIPDb1 = value->rValue; mod->B3SOIPDb1Given = TRUE; break; case B3SOIPD_MOD_ALPHA0 : mod->B3SOIPDalpha0 = value->rValue; mod->B3SOIPDalpha0Given = TRUE; break; case B3SOIPD_MOD_CGSL : mod->B3SOIPDcgsl = value->rValue; mod->B3SOIPDcgslGiven = TRUE; break; case B3SOIPD_MOD_CGDL : mod->B3SOIPDcgdl = value->rValue; mod->B3SOIPDcgdlGiven = TRUE; break; case B3SOIPD_MOD_CKAPPA : mod->B3SOIPDckappa = value->rValue; mod->B3SOIPDckappaGiven = TRUE; break; case B3SOIPD_MOD_CF : mod->B3SOIPDcf = value->rValue; mod->B3SOIPDcfGiven = TRUE; break; case B3SOIPD_MOD_CLC : mod->B3SOIPDclc = value->rValue; mod->B3SOIPDclcGiven = TRUE; break; case B3SOIPD_MOD_CLE : mod->B3SOIPDcle = value->rValue; mod->B3SOIPDcleGiven = TRUE; break; case B3SOIPD_MOD_DWC : mod->B3SOIPDdwc = value->rValue; mod->B3SOIPDdwcGiven = TRUE; break; case B3SOIPD_MOD_DLC : mod->B3SOIPDdlc = value->rValue; mod->B3SOIPDdlcGiven = TRUE; break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -