📄 b3soimpar.c
字号:
/**********Copyright 1990 Regents of the University of California. All rights reserved.Author: 1998 Samuel Fung, Dennis Sinitsky and Stephen TangFile: b3soimpar.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 Pin Su 02/5/20Modified by Paolo Nenzi 2002**********/#include "ngspice.h"#include "b3soidef.h"#include "ifsim.h"#include "sperror.h"#include "suffix.h"intB3SOImParam(int param, IFvalue *value, GENmodel *inMod){ B3SOImodel *mod = (B3SOImodel*)inMod; switch(param) { case B3SOI_MOD_MOBMOD : mod->B3SOImobMod = value->iValue; mod->B3SOImobModGiven = TRUE; break; case B3SOI_MOD_BINUNIT : mod->B3SOIbinUnit = value->iValue; mod->B3SOIbinUnitGiven = TRUE; break; case B3SOI_MOD_PARAMCHK : mod->B3SOIparamChk = value->iValue; mod->B3SOIparamChkGiven = TRUE; break; case B3SOI_MOD_CAPMOD : mod->B3SOIcapMod = value->iValue; mod->B3SOIcapModGiven = TRUE; break; case B3SOI_MOD_SHMOD : mod->B3SOIshMod = value->iValue; mod->B3SOIshModGiven = TRUE; break; case B3SOI_MOD_NOIMOD : mod->B3SOInoiMod = value->iValue; mod->B3SOInoiModGiven = TRUE; break; case B3SOI_MOD_VERSION : mod->B3SOIversion = value->rValue; mod->B3SOIversionGiven = TRUE; break; case B3SOI_MOD_TOX : mod->B3SOItox = value->rValue; mod->B3SOItoxGiven = TRUE; break;/* v2.2.3 */ case B3SOI_MOD_DTOXCV : mod->B3SOIdtoxcv = value->rValue; mod->B3SOIdtoxcvGiven = TRUE; break; case B3SOI_MOD_CDSC : mod->B3SOIcdsc = value->rValue; mod->B3SOIcdscGiven = TRUE; break; case B3SOI_MOD_CDSCB : mod->B3SOIcdscb = value->rValue; mod->B3SOIcdscbGiven = TRUE; break; case B3SOI_MOD_CDSCD : mod->B3SOIcdscd = value->rValue; mod->B3SOIcdscdGiven = TRUE; break; case B3SOI_MOD_CIT : mod->B3SOIcit = value->rValue; mod->B3SOIcitGiven = TRUE; break; case B3SOI_MOD_NFACTOR : mod->B3SOInfactor = value->rValue; mod->B3SOInfactorGiven = TRUE; break; case B3SOI_MOD_VSAT: mod->B3SOIvsat = value->rValue; mod->B3SOIvsatGiven = TRUE; break; case B3SOI_MOD_A0: mod->B3SOIa0 = value->rValue; mod->B3SOIa0Given = TRUE; break; case B3SOI_MOD_AGS: mod->B3SOIags= value->rValue; mod->B3SOIagsGiven = TRUE; break; case B3SOI_MOD_A1: mod->B3SOIa1 = value->rValue; mod->B3SOIa1Given = TRUE; break; case B3SOI_MOD_A2: mod->B3SOIa2 = value->rValue; mod->B3SOIa2Given = TRUE; break; case B3SOI_MOD_AT: mod->B3SOIat = value->rValue; mod->B3SOIatGiven = TRUE; break; case B3SOI_MOD_KETA: mod->B3SOIketa = value->rValue; mod->B3SOIketaGiven = TRUE; break; case B3SOI_MOD_NSUB: mod->B3SOInsub = value->rValue; mod->B3SOInsubGiven = TRUE; break; case B3SOI_MOD_NPEAK: mod->B3SOInpeak = value->rValue; mod->B3SOInpeakGiven = TRUE; if (mod->B3SOInpeak > 1.0e20) mod->B3SOInpeak *= 1.0e-6; break; case B3SOI_MOD_NGATE: mod->B3SOIngate = value->rValue; mod->B3SOIngateGiven = TRUE; if (mod->B3SOIngate > 1.0e23) mod->B3SOIngate *= 1.0e-6; break; case B3SOI_MOD_GAMMA1: mod->B3SOIgamma1 = value->rValue; mod->B3SOIgamma1Given = TRUE; break; case B3SOI_MOD_GAMMA2: mod->B3SOIgamma2 = value->rValue; mod->B3SOIgamma2Given = TRUE; break; case B3SOI_MOD_VBX: mod->B3SOIvbx = value->rValue; mod->B3SOIvbxGiven = TRUE; break; case B3SOI_MOD_VBM: mod->B3SOIvbm = value->rValue; mod->B3SOIvbmGiven = TRUE; break; case B3SOI_MOD_XT: mod->B3SOIxt = value->rValue; mod->B3SOIxtGiven = TRUE; break; case B3SOI_MOD_K1: mod->B3SOIk1 = value->rValue; mod->B3SOIk1Given = TRUE; break; case B3SOI_MOD_KT1: mod->B3SOIkt1 = value->rValue; mod->B3SOIkt1Given = TRUE; break; case B3SOI_MOD_KT1L: mod->B3SOIkt1l = value->rValue; mod->B3SOIkt1lGiven = TRUE; break; case B3SOI_MOD_KT2: mod->B3SOIkt2 = value->rValue; mod->B3SOIkt2Given = TRUE; break; case B3SOI_MOD_K2: mod->B3SOIk2 = value->rValue; mod->B3SOIk2Given = TRUE; break; case B3SOI_MOD_K3: mod->B3SOIk3 = value->rValue; mod->B3SOIk3Given = TRUE; break; case B3SOI_MOD_K3B: mod->B3SOIk3b = value->rValue; mod->B3SOIk3bGiven = TRUE; break; case B3SOI_MOD_NLX: mod->B3SOInlx = value->rValue; mod->B3SOInlxGiven = TRUE; break; case B3SOI_MOD_W0: mod->B3SOIw0 = value->rValue; mod->B3SOIw0Given = TRUE; break; case B3SOI_MOD_DVT0: mod->B3SOIdvt0 = value->rValue; mod->B3SOIdvt0Given = TRUE; break; case B3SOI_MOD_DVT1: mod->B3SOIdvt1 = value->rValue; mod->B3SOIdvt1Given = TRUE; break; case B3SOI_MOD_DVT2: mod->B3SOIdvt2 = value->rValue; mod->B3SOIdvt2Given = TRUE; break; case B3SOI_MOD_DVT0W: mod->B3SOIdvt0w = value->rValue; mod->B3SOIdvt0wGiven = TRUE; break; case B3SOI_MOD_DVT1W: mod->B3SOIdvt1w = value->rValue; mod->B3SOIdvt1wGiven = TRUE; break; case B3SOI_MOD_DVT2W: mod->B3SOIdvt2w = value->rValue; mod->B3SOIdvt2wGiven = TRUE; break; case B3SOI_MOD_DROUT: mod->B3SOIdrout = value->rValue; mod->B3SOIdroutGiven = TRUE; break; case B3SOI_MOD_DSUB: mod->B3SOIdsub = value->rValue; mod->B3SOIdsubGiven = TRUE; break; case B3SOI_MOD_VTH0: mod->B3SOIvth0 = value->rValue; mod->B3SOIvth0Given = TRUE; break; case B3SOI_MOD_UA: mod->B3SOIua = value->rValue; mod->B3SOIuaGiven = TRUE; break; case B3SOI_MOD_UA1: mod->B3SOIua1 = value->rValue; mod->B3SOIua1Given = TRUE; break; case B3SOI_MOD_UB: mod->B3SOIub = value->rValue; mod->B3SOIubGiven = TRUE; break; case B3SOI_MOD_UB1: mod->B3SOIub1 = value->rValue; mod->B3SOIub1Given = TRUE; break; case B3SOI_MOD_UC: mod->B3SOIuc = value->rValue; mod->B3SOIucGiven = TRUE; break; case B3SOI_MOD_UC1: mod->B3SOIuc1 = value->rValue; mod->B3SOIuc1Given = TRUE; break; case B3SOI_MOD_U0 : mod->B3SOIu0 = value->rValue; mod->B3SOIu0Given = TRUE; break; case B3SOI_MOD_UTE : mod->B3SOIute = value->rValue; mod->B3SOIuteGiven = TRUE; break; case B3SOI_MOD_VOFF: mod->B3SOIvoff = value->rValue; mod->B3SOIvoffGiven = TRUE; break; case B3SOI_MOD_DELTA : mod->B3SOIdelta = value->rValue; mod->B3SOIdeltaGiven = TRUE; break; case B3SOI_MOD_RDSW: mod->B3SOIrdsw = value->rValue; mod->B3SOIrdswGiven = TRUE; break; case B3SOI_MOD_PRWG: mod->B3SOIprwg = value->rValue; mod->B3SOIprwgGiven = TRUE; break; case B3SOI_MOD_PRWB: mod->B3SOIprwb = value->rValue; mod->B3SOIprwbGiven = TRUE; break; case B3SOI_MOD_PRT: mod->B3SOIprt = value->rValue; mod->B3SOIprtGiven = TRUE; break; case B3SOI_MOD_ETA0: mod->B3SOIeta0 = value->rValue; mod->B3SOIeta0Given = TRUE; break; case B3SOI_MOD_ETAB: mod->B3SOIetab = value->rValue; mod->B3SOIetabGiven = TRUE; break; case B3SOI_MOD_PCLM: mod->B3SOIpclm = value->rValue; mod->B3SOIpclmGiven = TRUE; break; case B3SOI_MOD_PDIBL1: mod->B3SOIpdibl1 = value->rValue; mod->B3SOIpdibl1Given = TRUE; break; case B3SOI_MOD_PDIBL2: mod->B3SOIpdibl2 = value->rValue; mod->B3SOIpdibl2Given = TRUE; break; case B3SOI_MOD_PDIBLB: mod->B3SOIpdiblb = value->rValue; mod->B3SOIpdiblbGiven = TRUE; break; case B3SOI_MOD_PVAG: mod->B3SOIpvag = value->rValue; mod->B3SOIpvagGiven = TRUE; break; case B3SOI_MOD_WR : mod->B3SOIwr = value->rValue; mod->B3SOIwrGiven = TRUE; break; case B3SOI_MOD_DWG : mod->B3SOIdwg = value->rValue; mod->B3SOIdwgGiven = TRUE; break; case B3SOI_MOD_DWB : mod->B3SOIdwb = value->rValue; mod->B3SOIdwbGiven = TRUE; break; case B3SOI_MOD_B0 : mod->B3SOIb0 = value->rValue; mod->B3SOIb0Given = TRUE; break; case B3SOI_MOD_B1 : mod->B3SOIb1 = value->rValue; mod->B3SOIb1Given = TRUE; break; case B3SOI_MOD_ALPHA0 : mod->B3SOIalpha0 = value->rValue; mod->B3SOIalpha0Given = TRUE; break; case B3SOI_MOD_CGSL : mod->B3SOIcgsl = value->rValue; mod->B3SOIcgslGiven = TRUE; break; case B3SOI_MOD_CGDL : mod->B3SOIcgdl = value->rValue; mod->B3SOIcgdlGiven = TRUE; break; case B3SOI_MOD_CKAPPA : mod->B3SOIckappa = value->rValue; mod->B3SOIckappaGiven = TRUE; break; case B3SOI_MOD_CF : mod->B3SOIcf = value->rValue; mod->B3SOIcfGiven = TRUE; break; case B3SOI_MOD_CLC : mod->B3SOIclc = value->rValue; mod->B3SOIclcGiven = TRUE; break; case B3SOI_MOD_CLE : mod->B3SOIcle = value->rValue; mod->B3SOIcleGiven = TRUE; break; case B3SOI_MOD_DWC : mod->B3SOIdwc = value->rValue; mod->B3SOIdwcGiven = TRUE; break; case B3SOI_MOD_DLC : mod->B3SOIdlc = value->rValue; mod->B3SOIdlcGiven = TRUE; break; case B3SOI_MOD_TBOX : mod->B3SOItbox = value->rValue; mod->B3SOItboxGiven = TRUE; break; case B3SOI_MOD_TSI : mod->B3SOItsi = value->rValue; mod->B3SOItsiGiven = TRUE; break; case B3SOI_MOD_XJ : mod->B3SOIxj = value->rValue; mod->B3SOIxjGiven = TRUE; break; case B3SOI_MOD_RBODY : mod->B3SOIrbody = value->rValue; mod->B3SOIrbodyGiven = TRUE; break; case B3SOI_MOD_RBSH : mod->B3SOIrbsh = value->rValue; mod->B3SOIrbshGiven = TRUE; break; case B3SOI_MOD_RTH0 :
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -