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

📄 b3v0ask.c

📁 ngspice又一个电子CAD仿真软件代码.功能更全
💻 C
字号:
/**********Copyright 1990 Regents of the University of California.  All rights reserved.Author: 1995 Min-Chie Jeng and Mansun Chan.File: b3v0ask.c**********/#include "ngspice.h"#include "ifsim.h"#include "cktdefs.h"#include "devdefs.h"#include "bsim3v0def.h"#include "sperror.h"#include "suffix.h"intBSIM3v0ask(CKTcircuit *ckt, GENinstance *inst, int which, IFvalue *value,           IFvalue *select){BSIM3v0instance *here = (BSIM3v0instance*)inst;    switch(which)     {   case BSIM3v0_L:            value->rValue = here->BSIM3v0l;            return(OK);        case BSIM3v0_W:            value->rValue = here->BSIM3v0w;            return(OK);	case BSIM3v0_M:            value->rValue = here->BSIM3v0m;            return(OK);           case BSIM3v0_AS:            value->rValue = here->BSIM3v0sourceArea;            return(OK);        case BSIM3v0_AD:            value->rValue = here->BSIM3v0drainArea;            return(OK);        case BSIM3v0_PS:            value->rValue = here->BSIM3v0sourcePerimeter;            return(OK);        case BSIM3v0_PD:            value->rValue = here->BSIM3v0drainPerimeter;            return(OK);        case BSIM3v0_NRS:            value->rValue = here->BSIM3v0sourceSquares;            return(OK);        case BSIM3v0_NRD:            value->rValue = here->BSIM3v0drainSquares;            return(OK);        case BSIM3v0_OFF:            value->rValue = here->BSIM3v0off;            return(OK);        case BSIM3v0_NQSMOD:            value->iValue = here->BSIM3v0nqsMod;            return(OK);        case BSIM3v0_IC_VBS:            value->rValue = here->BSIM3v0icVBS;            return(OK);        case BSIM3v0_IC_VDS:            value->rValue = here->BSIM3v0icVDS;            return(OK);        case BSIM3v0_IC_VGS:            value->rValue = here->BSIM3v0icVGS;            return(OK);        case BSIM3v0_DNODE:            value->iValue = here->BSIM3v0dNode;            return(OK);        case BSIM3v0_GNODE:            value->iValue = here->BSIM3v0gNode;            return(OK);        case BSIM3v0_SNODE:            value->iValue = here->BSIM3v0sNode;            return(OK);        case BSIM3v0_BNODE:            value->iValue = here->BSIM3v0bNode;            return(OK);        case BSIM3v0_DNODEPRIME:            value->iValue = here->BSIM3v0dNodePrime;            return(OK);        case BSIM3v0_SNODEPRIME:            value->iValue = here->BSIM3v0sNodePrime;            return(OK);        case BSIM3v0_SOURCECONDUCT:            value->rValue = here->BSIM3v0sourceConductance;	    value->rValue *= here->BSIM3v0m;            return(OK);        case BSIM3v0_DRAINCONDUCT:            value->rValue = here->BSIM3v0drainConductance;	    value->rValue *= here->BSIM3v0m;            return(OK);        case BSIM3v0_VBD:            value->rValue = *(ckt->CKTstate0 + here->BSIM3v0vbd);            return(OK);        case BSIM3v0_VBS:            value->rValue = *(ckt->CKTstate0 + here->BSIM3v0vbs);            return(OK);        case BSIM3v0_VGS:            value->rValue = *(ckt->CKTstate0 + here->BSIM3v0vgs);            return(OK);        case BSIM3v0_VDS:            value->rValue = *(ckt->CKTstate0 + here->BSIM3v0vds);            return(OK);        case BSIM3v0_CD:            value->rValue = here->BSIM3v0cd; 	    value->rValue *= here->BSIM3v0m;            return(OK);        case BSIM3v0_CBS:            value->rValue = here->BSIM3v0cbs;	    value->rValue *= here->BSIM3v0m;             return(OK);        case BSIM3v0_CBD:            value->rValue = here->BSIM3v0cbd; 	    value->rValue *= here->BSIM3v0m;            return(OK);        case BSIM3v0_GM:            value->rValue = here->BSIM3v0gm; 	    value->rValue *= here->BSIM3v0m;            return(OK);        case BSIM3v0_GDS:            value->rValue = here->BSIM3v0gds;	    value->rValue *= here->BSIM3v0m;             return(OK);        case BSIM3v0_GMBS:            value->rValue = here->BSIM3v0gmbs;	    value->rValue *= here->BSIM3v0m;             return(OK);        case BSIM3v0_GBD:            value->rValue = here->BSIM3v0gbd;	    value->rValue *= here->BSIM3v0m;             return(OK);        case BSIM3v0_GBS:            value->rValue = here->BSIM3v0gbs;	    value->rValue *= here->BSIM3v0m;             return(OK);        case BSIM3v0_QB:            value->rValue = *(ckt->CKTstate0 + here->BSIM3v0qb);	    value->rValue *= here->BSIM3v0m;             return(OK);        case BSIM3v0_CQB:            value->rValue = *(ckt->CKTstate0 + here->BSIM3v0cqb); 	    value->rValue *= here->BSIM3v0m;            return(OK);        case BSIM3v0_QG:            value->rValue = *(ckt->CKTstate0 + here->BSIM3v0qg); 	    value->rValue *= here->BSIM3v0m;            return(OK);        case BSIM3v0_CQG:            value->rValue = *(ckt->CKTstate0 + here->BSIM3v0cqg);	    value->rValue *= here->BSIM3v0m;             return(OK);        case BSIM3v0_QD:            value->rValue = *(ckt->CKTstate0 + here->BSIM3v0qd); 	    value->rValue *= here->BSIM3v0m;            return(OK);        case BSIM3v0_CQD:            value->rValue = *(ckt->CKTstate0 + here->BSIM3v0cqd);	    value->rValue *= here->BSIM3v0m;             return(OK);        case BSIM3v0_CGG:            value->rValue = here->BSIM3v0cggb; 	    value->rValue *= here->BSIM3v0m;            return(OK);        case BSIM3v0_CGD:            value->rValue = here->BSIM3v0cgdb;	    value->rValue *= here->BSIM3v0m;            return(OK);        case BSIM3v0_CGS:            value->rValue = here->BSIM3v0cgsb;	    value->rValue *= here->BSIM3v0m;            return(OK);        case BSIM3v0_CDG:            value->rValue = here->BSIM3v0cdgb; 	    value->rValue *= here->BSIM3v0m;            return(OK);        case BSIM3v0_CDD:            value->rValue = here->BSIM3v0cddb; 	    value->rValue *= here->BSIM3v0m;            return(OK);        case BSIM3v0_CDS:            value->rValue = here->BSIM3v0cdsb; 	    value->rValue *= here->BSIM3v0m;            return(OK);        case BSIM3v0_CBG:            value->rValue = here->BSIM3v0cbgb;	    value->rValue *= here->BSIM3v0m;            return(OK);        case BSIM3v0_CBDB:            value->rValue = here->BSIM3v0cbdb;	    value->rValue *= here->BSIM3v0m;            return(OK);        case BSIM3v0_CBSB:            value->rValue = here->BSIM3v0cbsb;	    value->rValue *= here->BSIM3v0m;            return(OK);        case BSIM3v0_CAPBD:            value->rValue = here->BSIM3v0capbd; 	    value->rValue *= here->BSIM3v0m;            return(OK);        case BSIM3v0_CAPBS:            value->rValue = here->BSIM3v0capbs;	    value->rValue *= here->BSIM3v0m;            return(OK);        case BSIM3v0_VON:            value->rValue = here->BSIM3v0von;             return(OK);        case BSIM3v0_VDSAT:            value->rValue = here->BSIM3v0vdsat;             return(OK);        case BSIM3v0_QBS:            value->rValue = *(ckt->CKTstate0 + here->BSIM3v0qbs); 	    value->rValue *= here->BSIM3v0m;            return(OK);        case BSIM3v0_QBD:            value->rValue = *(ckt->CKTstate0 + here->BSIM3v0qbd); 	    value->rValue *= here->BSIM3v0m;            return(OK);        default:            return(E_BADPARM);    }    /* NOTREACHED */}

⌨️ 快捷键说明

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