📄 b3v0mpar.c
字号:
/**********Copyright 1990 Regents of the University of California. All rights reserved.Author: 1995 Min-Chie Jeng and Mansun Chan.File: b3v0mpar.c**********/#include "ngspice.h"#include "bsim3v0def.h"#include "ifsim.h"#include "sperror.h"#include "suffix.h"intBSIM3v0mParam(int param, IFvalue *value, GENmodel *inMod){ BSIM3v0model *mod = (BSIM3v0model*)inMod; switch(param) { case BSIM3v0_MOD_MOBMOD : mod->BSIM3v0mobMod = value->iValue; mod->BSIM3v0mobModGiven = TRUE; break; case BSIM3v0_MOD_BINUNIT : mod->BSIM3v0binUnit = value->iValue; mod->BSIM3v0binUnitGiven = TRUE; break; case BSIM3v0_MOD_CAPMOD : mod->BSIM3v0capMod = value->iValue; mod->BSIM3v0capModGiven = TRUE; break; case BSIM3v0_MOD_NQSMOD : mod->BSIM3v0nqsMod = value->iValue; mod->BSIM3v0nqsModGiven = TRUE; break; case BSIM3v0_MOD_NOIMOD : mod->BSIM3v0noiMod = value->iValue; mod->BSIM3v0noiModGiven = TRUE; break; case BSIM3v0_MOD_TOX : mod->BSIM3v0tox = value->rValue; mod->BSIM3v0toxGiven = TRUE; break; case BSIM3v0_MOD_CDSC : mod->BSIM3v0cdsc = value->rValue; mod->BSIM3v0cdscGiven = TRUE; break; case BSIM3v0_MOD_CDSCB : mod->BSIM3v0cdscb = value->rValue; mod->BSIM3v0cdscbGiven = TRUE; break; case BSIM3v0_MOD_CDSCD : mod->BSIM3v0cdscd = value->rValue; mod->BSIM3v0cdscdGiven = TRUE; break; case BSIM3v0_MOD_CIT : mod->BSIM3v0cit = value->rValue; mod->BSIM3v0citGiven = TRUE; break; case BSIM3v0_MOD_NFACTOR : mod->BSIM3v0nfactor = value->rValue; mod->BSIM3v0nfactorGiven = TRUE; break; case BSIM3v0_MOD_XJ: mod->BSIM3v0xj = value->rValue; mod->BSIM3v0xjGiven = TRUE; break; case BSIM3v0_MOD_VSAT: mod->BSIM3v0vsat = value->rValue; mod->BSIM3v0vsatGiven = TRUE; break; case BSIM3v0_MOD_A0: mod->BSIM3v0a0 = value->rValue; mod->BSIM3v0a0Given = TRUE; break; case BSIM3v0_MOD_AGS: mod->BSIM3v0ags= value->rValue; mod->BSIM3v0agsGiven = TRUE; break; case BSIM3v0_MOD_A1: mod->BSIM3v0a1 = value->rValue; mod->BSIM3v0a1Given = TRUE; break; case BSIM3v0_MOD_A2: mod->BSIM3v0a2 = value->rValue; mod->BSIM3v0a2Given = TRUE; break; case BSIM3v0_MOD_AT: mod->BSIM3v0at = value->rValue; mod->BSIM3v0atGiven = TRUE; break; case BSIM3v0_MOD_KETA: mod->BSIM3v0keta = value->rValue; mod->BSIM3v0ketaGiven = TRUE; break; case BSIM3v0_MOD_NSUB: mod->BSIM3v0nsub = value->rValue; mod->BSIM3v0nsubGiven = TRUE; break; case BSIM3v0_MOD_NPEAK: mod->BSIM3v0npeak = value->rValue; mod->BSIM3v0npeakGiven = TRUE; if (mod->BSIM3v0npeak > 1.0e20) mod->BSIM3v0npeak *= 1.0e-6; break; case BSIM3v0_MOD_NGATE: mod->BSIM3v0ngate = value->rValue; mod->BSIM3v0ngateGiven = TRUE; if (mod->BSIM3v0ngate > 1.0e23) mod->BSIM3v0ngate *= 1.0e-6; break; case BSIM3v0_MOD_GAMMA1: mod->BSIM3v0gamma1 = value->rValue; mod->BSIM3v0gamma1Given = TRUE; break; case BSIM3v0_MOD_GAMMA2: mod->BSIM3v0gamma2 = value->rValue; mod->BSIM3v0gamma2Given = TRUE; break; case BSIM3v0_MOD_VBX: mod->BSIM3v0vbx = value->rValue; mod->BSIM3v0vbxGiven = TRUE; break; case BSIM3v0_MOD_VBM: mod->BSIM3v0vbm = value->rValue; mod->BSIM3v0vbmGiven = TRUE; break; case BSIM3v0_MOD_XT: mod->BSIM3v0xt = value->rValue; mod->BSIM3v0xtGiven = TRUE; break; case BSIM3v0_MOD_K1: mod->BSIM3v0k1 = value->rValue; mod->BSIM3v0k1Given = TRUE; break; case BSIM3v0_MOD_KT1: mod->BSIM3v0kt1 = value->rValue; mod->BSIM3v0kt1Given = TRUE; break; case BSIM3v0_MOD_KT1L: mod->BSIM3v0kt1l = value->rValue; mod->BSIM3v0kt1lGiven = TRUE; break; case BSIM3v0_MOD_KT2: mod->BSIM3v0kt2 = value->rValue; mod->BSIM3v0kt2Given = TRUE; break; case BSIM3v0_MOD_K2: mod->BSIM3v0k2 = value->rValue; mod->BSIM3v0k2Given = TRUE; break; case BSIM3v0_MOD_K3: mod->BSIM3v0k3 = value->rValue; mod->BSIM3v0k3Given = TRUE; break; case BSIM3v0_MOD_K3B: mod->BSIM3v0k3b = value->rValue; mod->BSIM3v0k3bGiven = TRUE; break; case BSIM3v0_MOD_NLX: mod->BSIM3v0nlx = value->rValue; mod->BSIM3v0nlxGiven = TRUE; break; case BSIM3v0_MOD_W0: mod->BSIM3v0w0 = value->rValue; mod->BSIM3v0w0Given = TRUE; break; case BSIM3v0_MOD_DVT0: mod->BSIM3v0dvt0 = value->rValue; mod->BSIM3v0dvt0Given = TRUE; break; case BSIM3v0_MOD_DVT1: mod->BSIM3v0dvt1 = value->rValue; mod->BSIM3v0dvt1Given = TRUE; break; case BSIM3v0_MOD_DVT2: mod->BSIM3v0dvt2 = value->rValue; mod->BSIM3v0dvt2Given = TRUE; break; case BSIM3v0_MOD_DVT0W: mod->BSIM3v0dvt0w = value->rValue; mod->BSIM3v0dvt0wGiven = TRUE; break; case BSIM3v0_MOD_DVT1W: mod->BSIM3v0dvt1w = value->rValue; mod->BSIM3v0dvt1wGiven = TRUE; break; case BSIM3v0_MOD_DVT2W: mod->BSIM3v0dvt2w = value->rValue; mod->BSIM3v0dvt2wGiven = TRUE; break; case BSIM3v0_MOD_DROUT: mod->BSIM3v0drout = value->rValue; mod->BSIM3v0droutGiven = TRUE; break; case BSIM3v0_MOD_DSUB: mod->BSIM3v0dsub = value->rValue; mod->BSIM3v0dsubGiven = TRUE; break; case BSIM3v0_MOD_VTH0: mod->BSIM3v0vth0 = value->rValue; mod->BSIM3v0vth0Given = TRUE; break; case BSIM3v0_MOD_UA: mod->BSIM3v0ua = value->rValue; mod->BSIM3v0uaGiven = TRUE; break; case BSIM3v0_MOD_UA1: mod->BSIM3v0ua1 = value->rValue; mod->BSIM3v0ua1Given = TRUE; break; case BSIM3v0_MOD_UB: mod->BSIM3v0ub = value->rValue; mod->BSIM3v0ubGiven = TRUE; break; case BSIM3v0_MOD_UB1: mod->BSIM3v0ub1 = value->rValue; mod->BSIM3v0ub1Given = TRUE; break; case BSIM3v0_MOD_UC: mod->BSIM3v0uc = value->rValue; mod->BSIM3v0ucGiven = TRUE; break; case BSIM3v0_MOD_UC1: mod->BSIM3v0uc1 = value->rValue; mod->BSIM3v0uc1Given = TRUE; break; case BSIM3v0_MOD_U0 : mod->BSIM3v0u0 = value->rValue; mod->BSIM3v0u0Given = TRUE; if (mod->BSIM3v0u0 > 1.0) mod->BSIM3v0u0 *= 1.0e-4; break; case BSIM3v0_MOD_UTE : mod->BSIM3v0ute = value->rValue; mod->BSIM3v0uteGiven = TRUE; break; case BSIM3v0_MOD_VOFF: mod->BSIM3v0voff = value->rValue; mod->BSIM3v0voffGiven = TRUE; break; case BSIM3v0_MOD_DELTA : mod->BSIM3v0delta = value->rValue; mod->BSIM3v0deltaGiven = TRUE; break; case BSIM3v0_MOD_RDSW: mod->BSIM3v0rdsw = value->rValue; mod->BSIM3v0rdswGiven = TRUE; break; case BSIM3v0_MOD_PRWG: mod->BSIM3v0prwg = value->rValue; mod->BSIM3v0prwgGiven = TRUE; break; case BSIM3v0_MOD_PRWB: mod->BSIM3v0prwb = value->rValue; mod->BSIM3v0prwbGiven = TRUE; break; case BSIM3v0_MOD_PRT: mod->BSIM3v0prt = value->rValue; mod->BSIM3v0prtGiven = TRUE; break; case BSIM3v0_MOD_ETA0: mod->BSIM3v0eta0 = value->rValue; mod->BSIM3v0eta0Given = TRUE; break; case BSIM3v0_MOD_ETAB: mod->BSIM3v0etab = value->rValue; mod->BSIM3v0etabGiven = TRUE; break; case BSIM3v0_MOD_PCLM: mod->BSIM3v0pclm = value->rValue; mod->BSIM3v0pclmGiven = TRUE; break; case BSIM3v0_MOD_PDIBL1: mod->BSIM3v0pdibl1 = value->rValue; mod->BSIM3v0pdibl1Given = TRUE; break; case BSIM3v0_MOD_PDIBL2: mod->BSIM3v0pdibl2 = value->rValue; mod->BSIM3v0pdibl2Given = TRUE; break; case BSIM3v0_MOD_PDIBLB: mod->BSIM3v0pdiblb = value->rValue; mod->BSIM3v0pdiblbGiven = TRUE; break; case BSIM3v0_MOD_PSCBE1: mod->BSIM3v0pscbe1 = value->rValue; mod->BSIM3v0pscbe1Given = TRUE; break; case BSIM3v0_MOD_PSCBE2: mod->BSIM3v0pscbe2 = value->rValue; mod->BSIM3v0pscbe2Given = TRUE; break; case BSIM3v0_MOD_PVAG: mod->BSIM3v0pvag = value->rValue; mod->BSIM3v0pvagGiven = TRUE; break; case BSIM3v0_MOD_WR : mod->BSIM3v0wr = value->rValue; mod->BSIM3v0wrGiven = TRUE; break; case BSIM3v0_MOD_DWG : mod->BSIM3v0dwg = value->rValue; mod->BSIM3v0dwgGiven = TRUE; break; case BSIM3v0_MOD_DWB : mod->BSIM3v0dwb = value->rValue; mod->BSIM3v0dwbGiven = TRUE; break; case BSIM3v0_MOD_B0 : mod->BSIM3v0b0 = value->rValue; mod->BSIM3v0b0Given = TRUE; break; case BSIM3v0_MOD_B1 : mod->BSIM3v0b1 = value->rValue; mod->BSIM3v0b1Given = TRUE; break; case BSIM3v0_MOD_ALPHA0 : mod->BSIM3v0alpha0 = value->rValue; mod->BSIM3v0alpha0Given = TRUE; break; case BSIM3v0_MOD_BETA0 : mod->BSIM3v0beta0 = value->rValue; mod->BSIM3v0beta0Given = TRUE; break; case BSIM3v0_MOD_ELM : mod->BSIM3v0elm = value->rValue; mod->BSIM3v0elmGiven = TRUE; break; case BSIM3v0_MOD_CGSL : mod->BSIM3v0cgsl = value->rValue; mod->BSIM3v0cgslGiven = TRUE; break; case BSIM3v0_MOD_CGDL : mod->BSIM3v0cgdl = value->rValue; mod->BSIM3v0cgdlGiven = TRUE; break; case BSIM3v0_MOD_CKAPPA : mod->BSIM3v0ckappa = value->rValue; mod->BSIM3v0ckappaGiven = TRUE; break; case BSIM3v0_MOD_CF : mod->BSIM3v0cf = value->rValue; mod->BSIM3v0cfGiven = TRUE; break; case BSIM3v0_MOD_CLC : mod->BSIM3v0clc = value->rValue; mod->BSIM3v0clcGiven = TRUE; break; case BSIM3v0_MOD_CLE : mod->BSIM3v0cle = value->rValue; mod->BSIM3v0cleGiven = TRUE; break; case BSIM3v0_MOD_DWC : mod->BSIM3v0dwc = value->rValue; mod->BSIM3v0dwcGiven = TRUE; break; case BSIM3v0_MOD_DLC : mod->BSIM3v0dlc = value->rValue; mod->BSIM3v0dlcGiven = TRUE; break; /* Length dependence */ case BSIM3v0_MOD_LCDSC : mod->BSIM3v0lcdsc = value->rValue; mod->BSIM3v0lcdscGiven = TRUE;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -