⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 b3v0mpar.c

📁 ngspice又一个电子CAD仿真软件代码.功能更全
💻 C
📖 第 1 页 / 共 4 页
字号:
/**********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 + -