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

📄 b3v1aask.c

📁 ngspice又一个电子CAD仿真软件代码.功能更全
💻 C
字号:
/**********Copyright 1990 Regents of the University of California.  All rights reserved.Author: 1995 Min-Chie Jeng and Mansun Chan.Modified by Paolo Nenzi 2002File: b3v1aask.c**********/#include "ngspice.h"#include "ifsim.h"#include "cktdefs.h"#include "devdefs.h"#include "bsim3v1adef.h"#include "sperror.h"#include "suffix.h"intBSIM3v1Aask(CKTcircuit *ckt, GENinstance *inst, int which, IFvalue *value,            IFvalue *select){BSIM3v1Ainstance *here = (BSIM3v1Ainstance*)inst;    switch(which)     {   case BSIM3v1A_L:            value->rValue = here->BSIM3v1Al;            return(OK);        case BSIM3v1A_W:            value->rValue = here->BSIM3v1Aw;            return(OK);        case BSIM3v1A_M:            value->rValue = here->BSIM3v1Am;            return(OK);        case BSIM3v1A_AS:            value->rValue = here->BSIM3v1AsourceArea;            return(OK);        case BSIM3v1A_AD:            value->rValue = here->BSIM3v1AdrainArea;            return(OK);        case BSIM3v1A_PS:            value->rValue = here->BSIM3v1AsourcePerimeter;            return(OK);        case BSIM3v1A_PD:            value->rValue = here->BSIM3v1AdrainPerimeter;            return(OK);        case BSIM3v1A_NRS:            value->rValue = here->BSIM3v1AsourceSquares;            return(OK);        case BSIM3v1A_NRD:            value->rValue = here->BSIM3v1AdrainSquares;            return(OK);        case BSIM3v1A_OFF:            value->rValue = here->BSIM3v1Aoff;            return(OK);        case BSIM3v1A_NQSMOD:            value->iValue = here->BSIM3v1AnqsMod;            return(OK);        case BSIM3v1A_IC_VBS:            value->rValue = here->BSIM3v1AicVBS;            return(OK);        case BSIM3v1A_IC_VDS:            value->rValue = here->BSIM3v1AicVDS;            return(OK);        case BSIM3v1A_IC_VGS:            value->rValue = here->BSIM3v1AicVGS;            return(OK);        case BSIM3v1A_DNODE:            value->iValue = here->BSIM3v1AdNode;            return(OK);        case BSIM3v1A_GNODE:            value->iValue = here->BSIM3v1AgNode;            return(OK);        case BSIM3v1A_SNODE:            value->iValue = here->BSIM3v1AsNode;            return(OK);        case BSIM3v1A_BNODE:            value->iValue = here->BSIM3v1AbNode;            return(OK);        case BSIM3v1A_DNODEPRIME:            value->iValue = here->BSIM3v1AdNodePrime;            return(OK);        case BSIM3v1A_SNODEPRIME:            value->iValue = here->BSIM3v1AsNodePrime;            return(OK);        case BSIM3v1A_SOURCECONDUCT:            value->rValue = here->BSIM3v1AsourceConductance;            value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_DRAINCONDUCT:            value->rValue = here->BSIM3v1AdrainConductance;            value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_VBD:            value->rValue = *(ckt->CKTstate0 + here->BSIM3v1Avbd);            return(OK);        case BSIM3v1A_VBS:            value->rValue = *(ckt->CKTstate0 + here->BSIM3v1Avbs);            return(OK);        case BSIM3v1A_VGS:            value->rValue = *(ckt->CKTstate0 + here->BSIM3v1Avgs);            return(OK);        case BSIM3v1A_VDS:            value->rValue = *(ckt->CKTstate0 + here->BSIM3v1Avds);            return(OK);        case BSIM3v1A_CD:            value->rValue = here->BSIM3v1Acd;             value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_CBS:            value->rValue = here->BSIM3v1Acbs;             value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_CBD:            value->rValue = here->BSIM3v1Acbd;             value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_GM:            value->rValue = here->BSIM3v1Agm;             value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_GDS:            value->rValue = here->BSIM3v1Agds;             value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_GMBS:            value->rValue = here->BSIM3v1Agmbs;             value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_GBD:            value->rValue = here->BSIM3v1Agbd;             value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_GBS:            value->rValue = here->BSIM3v1Agbs;             value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_QB:            value->rValue = *(ckt->CKTstate0 + here->BSIM3v1Aqb);             value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_CQB:            value->rValue = *(ckt->CKTstate0 + here->BSIM3v1Acqb);             value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_QG:            value->rValue = *(ckt->CKTstate0 + here->BSIM3v1Aqg);              value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_CQG:            value->rValue = *(ckt->CKTstate0 + here->BSIM3v1Acqg);             value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_QD:            value->rValue = *(ckt->CKTstate0 + here->BSIM3v1Aqd);             value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_CQD:            value->rValue = *(ckt->CKTstate0 + here->BSIM3v1Acqd);              value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_CGG:            value->rValue = here->BSIM3v1Acggb;             value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_CGD:            value->rValue = here->BSIM3v1Acgdb;            value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_CGS:            value->rValue = here->BSIM3v1Acgsb;            value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_CDG:            value->rValue = here->BSIM3v1Acdgb;             value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_CDD:            value->rValue = here->BSIM3v1Acddb;             value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_CDS:            value->rValue = here->BSIM3v1Acdsb;             value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_CBG:            value->rValue = here->BSIM3v1Acbgb;            value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_CBDB:            value->rValue = here->BSIM3v1Acbdb;            value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_CBSB:            value->rValue = here->BSIM3v1Acbsb;            value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_CAPBD:            value->rValue = here->BSIM3v1Acapbd;             value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_CAPBS:            value->rValue = here->BSIM3v1Acapbs;            value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_VON:            value->rValue = here->BSIM3v1Avon;             return(OK);        case BSIM3v1A_VDSAT:            value->rValue = here->BSIM3v1Avdsat;             return(OK);        case BSIM3v1A_QBS:            value->rValue = *(ckt->CKTstate0 + here->BSIM3v1Aqbs);             value->rValue *= here->BSIM3v1Am;            return(OK);        case BSIM3v1A_QBD:            value->rValue = *(ckt->CKTstate0 + here->BSIM3v1Aqbd);              value->rValue *= here->BSIM3v1Am;            return(OK);        default:            return(E_BADPARM);    }    /* NOTREACHED */}

⌨️ 快捷键说明

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