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

📄 b3soipdmpar.c

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