📄 b3v1mpar.c
字号:
/********** * Copyright 1990 Regents of the University of California. All rights reserved. * File: b3v1mpar.c * Author: 1995 Min-Chie Jeng and Mansun Chan. * Modified by Paolo Nenzi 2002 **********/ /* * Release Notes: * BSIM3v3.1, Released by yuhua 96/12/08 */#include "ngspice.h"#include "bsim3v1def.h"#include "ifsim.h"#include "sperror.h"#include "suffix.h"intBSIM3v1mParam(int param, IFvalue *value, GENmodel *inMod){ BSIM3v1model *mod = (BSIM3v1model*)inMod; switch(param) { case BSIM3v1_MOD_MOBMOD : mod->BSIM3v1mobMod = value->iValue; mod->BSIM3v1mobModGiven = TRUE; break; case BSIM3v1_MOD_BINUNIT : mod->BSIM3v1binUnit = value->iValue; mod->BSIM3v1binUnitGiven = TRUE; break; case BSIM3v1_MOD_PARAMCHK : mod->BSIM3v1paramChk = value->iValue; mod->BSIM3v1paramChkGiven = TRUE; break; case BSIM3v1_MOD_CAPMOD : mod->BSIM3v1capMod = value->iValue; mod->BSIM3v1capModGiven = TRUE; break; case BSIM3v1_MOD_NQSMOD : mod->BSIM3v1nqsMod = value->iValue; mod->BSIM3v1nqsModGiven = TRUE; break; case BSIM3v1_MOD_NOIMOD : mod->BSIM3v1noiMod = value->iValue; mod->BSIM3v1noiModGiven = TRUE; break; case BSIM3v1_MOD_VERSION : mod->BSIM3v1version = value->rValue; mod->BSIM3v1versionGiven = TRUE; break; case BSIM3v1_MOD_TOX : mod->BSIM3v1tox = value->rValue; mod->BSIM3v1toxGiven = TRUE; break; case BSIM3v1_MOD_CDSC : mod->BSIM3v1cdsc = value->rValue; mod->BSIM3v1cdscGiven = TRUE; break; case BSIM3v1_MOD_CDSCB : mod->BSIM3v1cdscb = value->rValue; mod->BSIM3v1cdscbGiven = TRUE; break; case BSIM3v1_MOD_CDSCD : mod->BSIM3v1cdscd = value->rValue; mod->BSIM3v1cdscdGiven = TRUE; break; case BSIM3v1_MOD_CIT : mod->BSIM3v1cit = value->rValue; mod->BSIM3v1citGiven = TRUE; break; case BSIM3v1_MOD_NFACTOR : mod->BSIM3v1nfactor = value->rValue; mod->BSIM3v1nfactorGiven = TRUE; break; case BSIM3v1_MOD_XJ: mod->BSIM3v1xj = value->rValue; mod->BSIM3v1xjGiven = TRUE; break; case BSIM3v1_MOD_VSAT: mod->BSIM3v1vsat = value->rValue; mod->BSIM3v1vsatGiven = TRUE; break; case BSIM3v1_MOD_A0: mod->BSIM3v1a0 = value->rValue; mod->BSIM3v1a0Given = TRUE; break; case BSIM3v1_MOD_AGS: mod->BSIM3v1ags= value->rValue; mod->BSIM3v1agsGiven = TRUE; break; case BSIM3v1_MOD_A1: mod->BSIM3v1a1 = value->rValue; mod->BSIM3v1a1Given = TRUE; break; case BSIM3v1_MOD_A2: mod->BSIM3v1a2 = value->rValue; mod->BSIM3v1a2Given = TRUE; break; case BSIM3v1_MOD_AT: mod->BSIM3v1at = value->rValue; mod->BSIM3v1atGiven = TRUE; break; case BSIM3v1_MOD_KETA: mod->BSIM3v1keta = value->rValue; mod->BSIM3v1ketaGiven = TRUE; break; case BSIM3v1_MOD_NSUB: mod->BSIM3v1nsub = value->rValue; mod->BSIM3v1nsubGiven = TRUE; break; case BSIM3v1_MOD_NPEAK: mod->BSIM3v1npeak = value->rValue; mod->BSIM3v1npeakGiven = TRUE; if (mod->BSIM3v1npeak > 1.0e20) mod->BSIM3v1npeak *= 1.0e-6; break; case BSIM3v1_MOD_NGATE: mod->BSIM3v1ngate = value->rValue; mod->BSIM3v1ngateGiven = TRUE; if (mod->BSIM3v1ngate > 1.0e23) mod->BSIM3v1ngate *= 1.0e-6; break; case BSIM3v1_MOD_GAMMA1: mod->BSIM3v1gamma1 = value->rValue; mod->BSIM3v1gamma1Given = TRUE; break; case BSIM3v1_MOD_GAMMA2: mod->BSIM3v1gamma2 = value->rValue; mod->BSIM3v1gamma2Given = TRUE; break; case BSIM3v1_MOD_VBX: mod->BSIM3v1vbx = value->rValue; mod->BSIM3v1vbxGiven = TRUE; break; case BSIM3v1_MOD_VBM: mod->BSIM3v1vbm = value->rValue; mod->BSIM3v1vbmGiven = TRUE; break; case BSIM3v1_MOD_XT: mod->BSIM3v1xt = value->rValue; mod->BSIM3v1xtGiven = TRUE; break; case BSIM3v1_MOD_K1: mod->BSIM3v1k1 = value->rValue; mod->BSIM3v1k1Given = TRUE; break; case BSIM3v1_MOD_KT1: mod->BSIM3v1kt1 = value->rValue; mod->BSIM3v1kt1Given = TRUE; break; case BSIM3v1_MOD_KT1L: mod->BSIM3v1kt1l = value->rValue; mod->BSIM3v1kt1lGiven = TRUE; break; case BSIM3v1_MOD_KT2: mod->BSIM3v1kt2 = value->rValue; mod->BSIM3v1kt2Given = TRUE; break; case BSIM3v1_MOD_K2: mod->BSIM3v1k2 = value->rValue; mod->BSIM3v1k2Given = TRUE; break; case BSIM3v1_MOD_K3: mod->BSIM3v1k3 = value->rValue; mod->BSIM3v1k3Given = TRUE; break; case BSIM3v1_MOD_K3B: mod->BSIM3v1k3b = value->rValue; mod->BSIM3v1k3bGiven = TRUE; break; case BSIM3v1_MOD_NLX: mod->BSIM3v1nlx = value->rValue; mod->BSIM3v1nlxGiven = TRUE; break; case BSIM3v1_MOD_W0: mod->BSIM3v1w0 = value->rValue; mod->BSIM3v1w0Given = TRUE; break; case BSIM3v1_MOD_DVT0: mod->BSIM3v1dvt0 = value->rValue; mod->BSIM3v1dvt0Given = TRUE; break; case BSIM3v1_MOD_DVT1: mod->BSIM3v1dvt1 = value->rValue; mod->BSIM3v1dvt1Given = TRUE; break; case BSIM3v1_MOD_DVT2: mod->BSIM3v1dvt2 = value->rValue; mod->BSIM3v1dvt2Given = TRUE; break; case BSIM3v1_MOD_DVT0W: mod->BSIM3v1dvt0w = value->rValue; mod->BSIM3v1dvt0wGiven = TRUE; break; case BSIM3v1_MOD_DVT1W: mod->BSIM3v1dvt1w = value->rValue; mod->BSIM3v1dvt1wGiven = TRUE; break; case BSIM3v1_MOD_DVT2W: mod->BSIM3v1dvt2w = value->rValue; mod->BSIM3v1dvt2wGiven = TRUE; break; case BSIM3v1_MOD_DROUT: mod->BSIM3v1drout = value->rValue; mod->BSIM3v1droutGiven = TRUE; break; case BSIM3v1_MOD_DSUB: mod->BSIM3v1dsub = value->rValue; mod->BSIM3v1dsubGiven = TRUE; break; case BSIM3v1_MOD_VTH0: mod->BSIM3v1vth0 = value->rValue; mod->BSIM3v1vth0Given = TRUE; break; case BSIM3v1_MOD_UA: mod->BSIM3v1ua = value->rValue; mod->BSIM3v1uaGiven = TRUE; break; case BSIM3v1_MOD_UA1: mod->BSIM3v1ua1 = value->rValue; mod->BSIM3v1ua1Given = TRUE; break; case BSIM3v1_MOD_UB: mod->BSIM3v1ub = value->rValue; mod->BSIM3v1ubGiven = TRUE; break; case BSIM3v1_MOD_UB1: mod->BSIM3v1ub1 = value->rValue; mod->BSIM3v1ub1Given = TRUE; break; case BSIM3v1_MOD_UC: mod->BSIM3v1uc = value->rValue; mod->BSIM3v1ucGiven = TRUE; break; case BSIM3v1_MOD_UC1: mod->BSIM3v1uc1 = value->rValue; mod->BSIM3v1uc1Given = TRUE; break; case BSIM3v1_MOD_U0 : mod->BSIM3v1u0 = value->rValue; mod->BSIM3v1u0Given = TRUE; break; case BSIM3v1_MOD_UTE : mod->BSIM3v1ute = value->rValue; mod->BSIM3v1uteGiven = TRUE; break; case BSIM3v1_MOD_VOFF: mod->BSIM3v1voff = value->rValue; mod->BSIM3v1voffGiven = TRUE; break; case BSIM3v1_MOD_DELTA : mod->BSIM3v1delta = value->rValue; mod->BSIM3v1deltaGiven = TRUE; break; case BSIM3v1_MOD_RDSW: mod->BSIM3v1rdsw = value->rValue; mod->BSIM3v1rdswGiven = TRUE; break; case BSIM3v1_MOD_PRWG: mod->BSIM3v1prwg = value->rValue; mod->BSIM3v1prwgGiven = TRUE; break; case BSIM3v1_MOD_PRWB: mod->BSIM3v1prwb = value->rValue; mod->BSIM3v1prwbGiven = TRUE; break; case BSIM3v1_MOD_PRT: mod->BSIM3v1prt = value->rValue; mod->BSIM3v1prtGiven = TRUE; break; case BSIM3v1_MOD_ETA0: mod->BSIM3v1eta0 = value->rValue; mod->BSIM3v1eta0Given = TRUE; break; case BSIM3v1_MOD_ETAB: mod->BSIM3v1etab = value->rValue; mod->BSIM3v1etabGiven = TRUE; break; case BSIM3v1_MOD_PCLM: mod->BSIM3v1pclm = value->rValue; mod->BSIM3v1pclmGiven = TRUE; break; case BSIM3v1_MOD_PDIBL1: mod->BSIM3v1pdibl1 = value->rValue; mod->BSIM3v1pdibl1Given = TRUE; break; case BSIM3v1_MOD_PDIBL2: mod->BSIM3v1pdibl2 = value->rValue; mod->BSIM3v1pdibl2Given = TRUE; break; case BSIM3v1_MOD_PDIBLB: mod->BSIM3v1pdiblb = value->rValue; mod->BSIM3v1pdiblbGiven = TRUE; break; case BSIM3v1_MOD_PSCBE1: mod->BSIM3v1pscbe1 = value->rValue; mod->BSIM3v1pscbe1Given = TRUE; break; case BSIM3v1_MOD_PSCBE2: mod->BSIM3v1pscbe2 = value->rValue; mod->BSIM3v1pscbe2Given = TRUE; break; case BSIM3v1_MOD_PVAG: mod->BSIM3v1pvag = value->rValue; mod->BSIM3v1pvagGiven = TRUE; break; case BSIM3v1_MOD_WR : mod->BSIM3v1wr = value->rValue; mod->BSIM3v1wrGiven = TRUE; break; case BSIM3v1_MOD_DWG : mod->BSIM3v1dwg = value->rValue; mod->BSIM3v1dwgGiven = TRUE; break; case BSIM3v1_MOD_DWB : mod->BSIM3v1dwb = value->rValue; mod->BSIM3v1dwbGiven = TRUE; break; case BSIM3v1_MOD_B0 : mod->BSIM3v1b0 = value->rValue; mod->BSIM3v1b0Given = TRUE; break; case BSIM3v1_MOD_B1 : mod->BSIM3v1b1 = value->rValue; mod->BSIM3v1b1Given = TRUE; break; case BSIM3v1_MOD_ALPHA0 : mod->BSIM3v1alpha0 = value->rValue; mod->BSIM3v1alpha0Given = TRUE; break; case BSIM3v1_MOD_BETA0 : mod->BSIM3v1beta0 = value->rValue; mod->BSIM3v1beta0Given = TRUE; break; case BSIM3v1_MOD_ELM : mod->BSIM3v1elm = value->rValue; mod->BSIM3v1elmGiven = TRUE; break; case BSIM3v1_MOD_CGSL : mod->BSIM3v1cgsl = value->rValue; mod->BSIM3v1cgslGiven = TRUE; break; case BSIM3v1_MOD_CGDL : mod->BSIM3v1cgdl = value->rValue; mod->BSIM3v1cgdlGiven = TRUE; break; case BSIM3v1_MOD_CKAPPA : mod->BSIM3v1ckappa = value->rValue; mod->BSIM3v1ckappaGiven = TRUE; break; case BSIM3v1_MOD_CF : mod->BSIM3v1cf = value->rValue; mod->BSIM3v1cfGiven = TRUE; break; case BSIM3v1_MOD_CLC : mod->BSIM3v1clc = value->rValue; mod->BSIM3v1clcGiven = TRUE; break; case BSIM3v1_MOD_CLE : mod->BSIM3v1cle = value->rValue; mod->BSIM3v1cleGiven = TRUE; break; case BSIM3v1_MOD_DWC : mod->BSIM3v1dwc = value->rValue; mod->BSIM3v1dwcGiven = TRUE; break; case BSIM3v1_MOD_DLC : mod->BSIM3v1dlc = value->rValue; mod->BSIM3v1dlcGiven = TRUE; break; case BSIM3v1_MOD_VFBCV : mod->BSIM3v1vfbcv = value->rValue; mod->BSIM3v1vfbcvGiven = TRUE; break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -