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

📄 b4ask.c

📁 ngspice又一个电子CAD仿真软件代码.功能更全
💻 C
字号:
/**** BSIM4.4.0  Released by Xuemei (Jane) Xi 03/04/2004 ****//********** * Copyright 2004 Regents of the University of California. All rights reserved. * File: b4ask.c of BSIM4.4.0. * Author: 2000 Weidong Liu * Authors: 2001- Xuemei Xi, Jin He, Kanyu Cao, Mohan Dunga, Mansun Chan, Ali Niknejad, Chenming Hu. * Project Director: Prof. Chenming Hu. * Modified by Xuemei Xi, 04/06/2001. * Modified by Xuemei Xi, 10/05/2001. * Modified by Xuemei Xi, 05/09/2003. **********/#include "ngspice.h"#include "ifsim.h"#include "cktdefs.h"#include "devdefs.h"#include "bsim4def.h"#include "sperror.h"#include "suffix.h"intBSIM4ask(ckt,inst,which,value,select)CKTcircuit *ckt;GENinstance *inst;int which;IFvalue *value;IFvalue *select;{BSIM4instance *here = (BSIM4instance*)inst;    switch(which)     {   case BSIM4_L:            value->rValue = here->BSIM4l;            return(OK);        case BSIM4_W:            value->rValue = here->BSIM4w;            return(OK);        case BSIM4_M:            value->rValue = here->BSIM4m;            return(OK);        case BSIM4_NF:            value->rValue = here->BSIM4nf;            return(OK);        case BSIM4_MIN:            value->iValue = here->BSIM4min;            return(OK);        case BSIM4_AS:            value->rValue = here->BSIM4sourceArea;            return(OK);        case BSIM4_AD:            value->rValue = here->BSIM4drainArea;            return(OK);        case BSIM4_PS:            value->rValue = here->BSIM4sourcePerimeter;            return(OK);        case BSIM4_PD:            value->rValue = here->BSIM4drainPerimeter;            return(OK);        case BSIM4_NRS:            value->rValue = here->BSIM4sourceSquares;            return(OK);        case BSIM4_NRD:            value->rValue = here->BSIM4drainSquares;            return(OK);        case BSIM4_OFF:            value->rValue = here->BSIM4off;            return(OK);        case BSIM4_SA:            value->rValue = here->BSIM4sa ;            return(OK);        case BSIM4_SB:            value->rValue = here->BSIM4sb ;            return(OK);        case BSIM4_SD:            value->rValue = here->BSIM4sd ;            return(OK);        case BSIM4_RBSB:            value->rValue = here->BSIM4rbsb;            return(OK);        case BSIM4_RBDB:            value->rValue = here->BSIM4rbdb;            return(OK);        case BSIM4_RBPB:            value->rValue = here->BSIM4rbpb;            return(OK);        case BSIM4_RBPS:            value->rValue = here->BSIM4rbps;            return(OK);        case BSIM4_RBPD:            value->rValue = here->BSIM4rbpd;            return(OK);        case BSIM4_TRNQSMOD:            value->iValue = here->BSIM4trnqsMod;            return(OK);        case BSIM4_ACNQSMOD:            value->iValue = here->BSIM4acnqsMod;            return(OK);        case BSIM4_RBODYMOD:            value->iValue = here->BSIM4rbodyMod;            return(OK);        case BSIM4_RGATEMOD:            value->iValue = here->BSIM4rgateMod;            return(OK);        case BSIM4_GEOMOD:            value->iValue = here->BSIM4geoMod;            return(OK);        case BSIM4_RGEOMOD:            value->iValue = here->BSIM4rgeoMod;            return(OK);        case BSIM4_IC_VDS:            value->rValue = here->BSIM4icVDS;            return(OK);        case BSIM4_IC_VGS:            value->rValue = here->BSIM4icVGS;            return(OK);        case BSIM4_IC_VBS:            value->rValue = here->BSIM4icVBS;            return(OK);        case BSIM4_DNODE:            value->iValue = here->BSIM4dNode;            return(OK);        case BSIM4_GNODEEXT:            value->iValue = here->BSIM4gNodeExt;            return(OK);        case BSIM4_SNODE:            value->iValue = here->BSIM4sNode;            return(OK);        case BSIM4_BNODE:            value->iValue = here->BSIM4bNode;            return(OK);        case BSIM4_DNODEPRIME:            value->iValue = here->BSIM4dNodePrime;            return(OK);        case BSIM4_GNODEPRIME:            value->iValue = here->BSIM4gNodePrime;            return(OK);        case BSIM4_GNODEMID:            value->iValue = here->BSIM4gNodeMid;            return(OK);        case BSIM4_SNODEPRIME:            value->iValue = here->BSIM4sNodePrime;            return(OK);        case BSIM4_DBNODE:            value->iValue = here->BSIM4dbNode;            return(OK);        case BSIM4_BNODEPRIME:            value->iValue = here->BSIM4bNodePrime;            return(OK);        case BSIM4_SBNODE:            value->iValue = here->BSIM4sbNode;            return(OK);        case BSIM4_SOURCECONDUCT:            value->rValue = here->BSIM4sourceConductance;            return(OK);        case BSIM4_DRAINCONDUCT:            value->rValue = here->BSIM4drainConductance;            return(OK);        case BSIM4_VBD:            value->rValue = *(ckt->CKTstate0 + here->BSIM4vbd);            return(OK);        case BSIM4_VBS:            value->rValue = *(ckt->CKTstate0 + here->BSIM4vbs);            return(OK);        case BSIM4_VGS:            value->rValue = *(ckt->CKTstate0 + here->BSIM4vgs);            return(OK);        case BSIM4_VDS:            value->rValue = *(ckt->CKTstate0 + here->BSIM4vds);            return(OK);        case BSIM4_CD:            value->rValue = here->BSIM4cd;             return(OK);        case BSIM4_CBS:            value->rValue = here->BSIM4cbs;             return(OK);        case BSIM4_CBD:            value->rValue = here->BSIM4cbd;             return(OK);        case BSIM4_CSUB:            value->rValue = here->BSIM4csub;             return(OK);        case BSIM4_IGIDL:            value->rValue = here->BSIM4Igidl;             return(OK);        case BSIM4_IGISL:            value->rValue = here->BSIM4Igisl;             return(OK);        case BSIM4_IGS:            value->rValue = here->BSIM4Igs;             return(OK);        case BSIM4_IGD:            value->rValue = here->BSIM4Igd;             return(OK);        case BSIM4_IGB:            value->rValue = here->BSIM4Igb;             return(OK);        case BSIM4_IGCS:            value->rValue = here->BSIM4Igcs;             return(OK);        case BSIM4_IGCD:            value->rValue = here->BSIM4Igcd;             return(OK);        case BSIM4_GM:            value->rValue = here->BSIM4gm;             return(OK);        case BSIM4_GDS:            value->rValue = here->BSIM4gds;             return(OK);        case BSIM4_GMBS:            value->rValue = here->BSIM4gmbs;             return(OK);        case BSIM4_GBD:            value->rValue = here->BSIM4gbd;             return(OK);        case BSIM4_GBS:            value->rValue = here->BSIM4gbs;             return(OK);/*        case BSIM4_QB:            value->rValue = *(ckt->CKTstate0 + here->BSIM4qb);             return(OK); */        case BSIM4_CQB:            value->rValue = *(ckt->CKTstate0 + here->BSIM4cqb);             return(OK);/*        case BSIM4_QG:            value->rValue = *(ckt->CKTstate0 + here->BSIM4qg);             return(OK); */        case BSIM4_CQG:            value->rValue = *(ckt->CKTstate0 + here->BSIM4cqg);             return(OK);/*        case BSIM4_QD:            value->rValue = *(ckt->CKTstate0 + here->BSIM4qd);             return(OK); */        case BSIM4_CQD:            value->rValue = *(ckt->CKTstate0 + here->BSIM4cqd);             return(OK);/*        case BSIM4_QS:            value->rValue = *(ckt->CKTstate0 + here->BSIM4qs);             return(OK); */        case BSIM4_QB:            value->rValue = here->BSIM4qbulk;             return(OK);         case BSIM4_QG:            value->rValue = here->BSIM4qgate;             return(OK);         case BSIM4_QS:            value->rValue = here->BSIM4qsrc;             return(OK);         case BSIM4_QD:            value->rValue = here->BSIM4qdrn;             return(OK);         case BSIM4_CGGB:            value->rValue = here->BSIM4cggb;             return(OK);        case BSIM4_CGDB:            value->rValue = here->BSIM4cgdb;            return(OK);        case BSIM4_CGSB:            value->rValue = here->BSIM4cgsb;            return(OK);        case BSIM4_CDGB:            value->rValue = here->BSIM4cdgb;             return(OK);        case BSIM4_CDDB:            value->rValue = here->BSIM4cddb;             return(OK);        case BSIM4_CDSB:            value->rValue = here->BSIM4cdsb;             return(OK);        case BSIM4_CBGB:            value->rValue = here->BSIM4cbgb;            return(OK);        case BSIM4_CBDB:            value->rValue = here->BSIM4cbdb;            return(OK);        case BSIM4_CBSB:            value->rValue = here->BSIM4cbsb;            return(OK);        case BSIM4_CSGB:            value->rValue = here->BSIM4csgb;            return(OK);        case BSIM4_CSDB:            value->rValue = here->BSIM4csdb;            return(OK);        case BSIM4_CSSB:            value->rValue = here->BSIM4cssb;            return(OK);        case BSIM4_CGBB:            value->rValue = here->BSIM4cgbb;            return(OK);        case BSIM4_CDBB:            value->rValue = here->BSIM4cdbb;            return(OK);        case BSIM4_CSBB:            value->rValue = here->BSIM4csbb;            return(OK);        case BSIM4_CBBB:            value->rValue = here->BSIM4cbbb;            return(OK);        case BSIM4_CAPBD:            value->rValue = here->BSIM4capbd;             return(OK);        case BSIM4_CAPBS:            value->rValue = here->BSIM4capbs;            return(OK);        case BSIM4_VON:            value->rValue = here->BSIM4von;             return(OK);        case BSIM4_VDSAT:            value->rValue = here->BSIM4vdsat;             return(OK);        case BSIM4_QBS:            value->rValue = *(ckt->CKTstate0 + here->BSIM4qbs);             return(OK);        case BSIM4_QBD:            value->rValue = *(ckt->CKTstate0 + here->BSIM4qbd);             return(OK);        default:            return(E_BADPARM);    }    /* NOTREACHED */}

⌨️ 快捷键说明

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