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

📄 vbicmpar.c

📁 ngspice又一个电子CAD仿真软件代码.功能更全
💻 C
📖 第 1 页 / 共 2 页
字号:
/**********Copyright 1990 Regents of the University of California.  All rights reserved.Author: 1985 Thomas L. QuarlesModel Author: 1995 Colin McAndrew MotorolaSpice3 Implementation: 2003 Dietmar Warning DAnalyse GmbH**********//* * This routine sets model parameters for * VBICs in the circuit. */#include "ngspice.h"#include "const.h"#include "ifsim.h"#include "vbicdefs.h"#include "sperror.h"#include "suffix.h"intVBICmParam(int param, IFvalue *value, GENmodel *inModel){    VBICmodel *mods = (VBICmodel*)inModel;    switch(param) {        case VBIC_MOD_NPN:            if(value->iValue) {                mods->VBICtype = NPN;            }            break;        case VBIC_MOD_PNP:            if(value->iValue) {                mods->VBICtype = PNP;            }            break;        case VBIC_MOD_TNOM:            mods->VBICtnom = value->rValue;            mods->VBICtnomGiven = TRUE;            break;        case VBIC_MOD_RCX:            mods->VBICextCollResist = value->rValue;            if (mods->VBICextCollResist < 0.1) mods->VBICextCollResist = 0.1;            mods->VBICextCollResistGiven = TRUE;            break;        case VBIC_MOD_RCI:            mods->VBICintCollResist = value->rValue;            if (mods->VBICintCollResist < 0.1) mods->VBICintCollResist = 0.1;            mods->VBICintCollResistGiven = TRUE;            break;        case VBIC_MOD_VO:            mods->VBICepiSatVoltage = value->rValue;            mods->VBICepiSatVoltageGiven = TRUE;            break;        case VBIC_MOD_GAMM:            mods->VBICepiDoping = value->rValue;            mods->VBICepiDopingGiven = TRUE;            break;        case VBIC_MOD_HRCF:            mods->VBIChighCurFac = value->rValue;            mods->VBIChighCurFacGiven = TRUE;            break;        case VBIC_MOD_RBX:            mods->VBICextBaseResist = value->rValue;            if (mods->VBICextBaseResist < 0.1) mods->VBICextBaseResist = 0.1;            mods->VBICextBaseResistGiven = TRUE;            break;        case VBIC_MOD_RBI:            mods->VBICintBaseResist = value->rValue;            if (mods->VBICintBaseResist < 0.1) mods->VBICintBaseResist = 0.1;            mods->VBICintBaseResistGiven = TRUE;            break;        case VBIC_MOD_RE:            mods->VBICemitterResist = value->rValue;            if (mods->VBICemitterResist < 0.1) mods->VBICemitterResist = 0.1;            mods->VBICemitterResistGiven = TRUE;            break;        case VBIC_MOD_RS:            mods->VBICsubstrateResist = value->rValue;            if (mods->VBICsubstrateResist < 0.1) mods->VBICsubstrateResist = 0.1;            mods->VBICsubstrateResistGiven = TRUE;            break;        case VBIC_MOD_RBP:            mods->VBICparBaseResist = value->rValue;            if (mods->VBICparBaseResist < 0.1) mods->VBICparBaseResist = 0.1;            mods->VBICparBaseResistGiven = TRUE;            break;        case VBIC_MOD_IS:            mods->VBICsatCur = value->rValue;            mods->VBICsatCurGiven = TRUE;            break;        case VBIC_MOD_NF:            mods->VBICemissionCoeffF = value->rValue;            mods->VBICemissionCoeffFGiven = TRUE;            break;        case VBIC_MOD_NR:            mods->VBICemissionCoeffR = value->rValue;            mods->VBICemissionCoeffRGiven = TRUE;            break;        case VBIC_MOD_FC:            mods->VBICdeplCapLimitF = value->rValue;            mods->VBICdeplCapLimitFGiven = TRUE;            break;        case VBIC_MOD_CBEO:            mods->VBICextOverlapCapBE = value->rValue;            mods->VBICextOverlapCapBEGiven=TRUE;            break;        case VBIC_MOD_CJE:            mods->VBICdepletionCapBE = value->rValue;            mods->VBICdepletionCapBEGiven = TRUE;            break;        case VBIC_MOD_PE:            mods->VBICpotentialBE = value->rValue;            mods->VBICpotentialBEGiven = TRUE;            break;        case VBIC_MOD_ME:            mods->VBICjunctionExpBE = value->rValue;            mods->VBICjunctionExpBEGiven = TRUE;            break;        case VBIC_MOD_AJE:            mods->VBICsmoothCapBE = value->rValue;            mods->VBICsmoothCapBEGiven = TRUE;            break;        case VBIC_MOD_CBCO:            mods->VBICextOverlapCapBC = value->rValue;            mods->VBICextOverlapCapBCGiven=TRUE;            break;        case VBIC_MOD_CJC:            mods->VBICdepletionCapBC = value->rValue;            mods->VBICdepletionCapBCGiven = TRUE;            break;        case VBIC_MOD_QCO:            mods->VBICepiCharge = value->rValue;            mods->VBICepiChargeGiven = TRUE;            break;        case VBIC_MOD_CJEP:            mods->VBICextCapBC = value->rValue;            mods->VBICextCapBCGiven = TRUE;            break;        case VBIC_MOD_PC:            mods->VBICpotentialBC = value->rValue;            mods->VBICpotentialBCGiven = TRUE;            break;        case VBIC_MOD_MC:            mods->VBICjunctionExpBC = value->rValue;            mods->VBICjunctionExpBCGiven = TRUE;            break;        case VBIC_MOD_AJC:            mods->VBICsmoothCapBC = value->rValue;            mods->VBICsmoothCapBCGiven = TRUE;            break;        case VBIC_MOD_CJCP:            mods->VBICextCapSC = value->rValue;            mods->VBICextCapSCGiven = TRUE;            break;        case VBIC_MOD_PS:            mods->VBICpotentialSC = value->rValue;            mods->VBICpotentialSCGiven = TRUE;            break;        case VBIC_MOD_MS:            mods->VBICjunctionExpSC = value->rValue;            mods->VBICjunctionExpSCGiven = TRUE;            break;        case VBIC_MOD_AJS:            mods->VBICsmoothCapSC = value->rValue;            mods->VBICsmoothCapSCGiven = TRUE;            break;        case VBIC_MOD_IBEI:            mods->VBICidealSatCurBE = value->rValue;            mods->VBICidealSatCurBEGiven = TRUE;            break;        case VBIC_MOD_WBE:            mods->VBICportionIBEI = value->rValue;            mods->VBICportionIBEIGiven = TRUE;            break;        case VBIC_MOD_NEI:            mods->VBICidealEmissCoeffBE = value->rValue;            mods->VBICidealEmissCoeffBEGiven = TRUE;            break;        case VBIC_MOD_IBEN:            mods->VBICnidealSatCurBE = value->rValue;            mods->VBICnidealSatCurBEGiven = TRUE;            break;        case VBIC_MOD_NEN:            mods->VBICnidealEmissCoeffBE = value->rValue;            mods->VBICnidealEmissCoeffBEGiven = TRUE;            break;        case VBIC_MOD_IBCI:            mods->VBICidealSatCurBC = value->rValue;            mods->VBICidealSatCurBCGiven = TRUE;            break;        case VBIC_MOD_NCI:            mods->VBICidealEmissCoeffBC = value->rValue;            mods->VBICidealEmissCoeffBCGiven = TRUE;            break;        case VBIC_MOD_IBCN:            mods->VBICnidealSatCurBC = value->rValue;            mods->VBICnidealSatCurBCGiven = TRUE;            break;        case VBIC_MOD_NCN:            mods->VBICnidealEmissCoeffBC = value->rValue;            mods->VBICnidealEmissCoeffBCGiven = TRUE;            break;        case VBIC_MOD_AVC1:            mods->VBICavalanchePar1BC = value->rValue;            mods->VBICavalanchePar1BCGiven = TRUE;            break;        case VBIC_MOD_AVC2:            mods->VBICavalanchePar2BC = value->rValue;            mods->VBICavalanchePar2BCGiven = TRUE;            break;        case VBIC_MOD_ISP:            mods->VBICparasitSatCur = value->rValue;            mods->VBICparasitSatCurGiven = TRUE;            break;        case VBIC_MOD_WSP:            mods->VBICportionICCP = value->rValue;            mods->VBICportionICCPGiven = TRUE;            break;        case VBIC_MOD_NFP:            mods->VBICparasitFwdEmissCoeff = value->rValue;            mods->VBICparasitFwdEmissCoeffGiven = TRUE;            break;        case VBIC_MOD_IBEIP:            mods->VBICidealParasitSatCurBE = value->rValue;            mods->VBICidealParasitSatCurBEGiven = TRUE;            break;        case VBIC_MOD_IBENP:            mods->VBICnidealParasitSatCurBE = value->rValue;            mods->VBICnidealParasitSatCurBEGiven = TRUE;            break;        case VBIC_MOD_IBCIP:            mods->VBICidealParasitSatCurBC = value->rValue;            mods->VBICidealParasitSatCurBCGiven = TRUE;            break;        case VBIC_MOD_NCIP:            mods->VBICidealParasitEmissCoeffBC = value->rValue;            mods->VBICidealParasitEmissCoeffBCGiven = TRUE;            break;        case VBIC_MOD_IBCNP:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -