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

📄 b3soifdask.c

📁 ngspice又一个电子CAD仿真软件代码.功能更全
💻 C
字号:
/**********Copyright 1999 Regents of the University of California.  All rights reserved.Author: 1998 Samuel Fung, Dennis Sinitsky and Stephen TangModified by Paolo Nenzi 2002File: b3soifdask.c          98/5/01**********//* * Revision 2.1  99/9/27 Pin Su  * BSIMFD2.1 release */#include "ngspice.h"#include "ifsim.h"#include "cktdefs.h"#include "devdefs.h"#include "b3soifddef.h"#include "sperror.h"#include "suffix.h"intB3SOIFDask(CKTcircuit *ckt, GENinstance *inst, int which, IFvalue *value,           IFvalue *select){B3SOIFDinstance *here = (B3SOIFDinstance*)inst;    switch(which)     {   case B3SOIFD_L:            value->rValue = here->B3SOIFDl;            return(OK);        case B3SOIFD_W:            value->rValue = here->B3SOIFDw;            return(OK);	case B3SOIFD_M:            value->rValue = here->B3SOIFDm;            return(OK);            case B3SOIFD_AS:            value->rValue = here->B3SOIFDsourceArea;            return(OK);        case B3SOIFD_AD:            value->rValue = here->B3SOIFDdrainArea;            return(OK);        case B3SOIFD_PS:            value->rValue = here->B3SOIFDsourcePerimeter;            return(OK);        case B3SOIFD_PD:            value->rValue = here->B3SOIFDdrainPerimeter;            return(OK);        case B3SOIFD_NRS:            value->rValue = here->B3SOIFDsourceSquares;            return(OK);        case B3SOIFD_NRD:            value->rValue = here->B3SOIFDdrainSquares;            return(OK);        case B3SOIFD_OFF:            value->rValue = here->B3SOIFDoff;            return(OK);        case B3SOIFD_BJTOFF:            value->iValue = here->B3SOIFDbjtoff;            return(OK);        case B3SOIFD_RTH0:            value->rValue = here->B3SOIFDrth0;	    value->rValue /= here->B3SOIFDm;            return(OK);        case B3SOIFD_CTH0:            value->rValue = here->B3SOIFDcth0;	    value->rValue *= here->B3SOIFDm;            return(OK);        case B3SOIFD_NRB:            value->rValue = here->B3SOIFDbodySquares;            return(OK);        case B3SOIFD_IC_VBS:            value->rValue = here->B3SOIFDicVBS;            return(OK);        case B3SOIFD_IC_VDS:            value->rValue = here->B3SOIFDicVDS;            return(OK);        case B3SOIFD_IC_VGS:            value->rValue = here->B3SOIFDicVGS;            return(OK);        case B3SOIFD_IC_VES:            value->rValue = here->B3SOIFDicVES;            return(OK);        case B3SOIFD_IC_VPS:            value->rValue = here->B3SOIFDicVPS;            return(OK);        case B3SOIFD_DNODE:            value->iValue = here->B3SOIFDdNode;            return(OK);        case B3SOIFD_GNODE:            value->iValue = here->B3SOIFDgNode;            return(OK);        case B3SOIFD_SNODE:            value->iValue = here->B3SOIFDsNode;            return(OK);        case B3SOIFD_BNODE:            value->iValue = here->B3SOIFDbNode;            return(OK);        case B3SOIFD_ENODE:            value->iValue = here->B3SOIFDeNode;            return(OK);        case B3SOIFD_DNODEPRIME:            value->iValue = here->B3SOIFDdNodePrime;            return(OK);        case B3SOIFD_SNODEPRIME:            value->iValue = here->B3SOIFDsNodePrime;            return(OK);        case B3SOIFD_SOURCECONDUCT:            value->rValue = here->B3SOIFDsourceConductance;	    value->rValue *= here->B3SOIFDm;            return(OK);        case B3SOIFD_DRAINCONDUCT:            value->rValue = here->B3SOIFDdrainConductance;	    value->rValue *= here->B3SOIFDm;            return(OK);        case B3SOIFD_VBD:            value->rValue = *(ckt->CKTstate0 + here->B3SOIFDvbd);            return(OK);        case B3SOIFD_VBS:            value->rValue = *(ckt->CKTstate0 + here->B3SOIFDvbs);            return(OK);        case B3SOIFD_VGS:            value->rValue = *(ckt->CKTstate0 + here->B3SOIFDvgs);            return(OK);        case B3SOIFD_VES:            value->rValue = *(ckt->CKTstate0 + here->B3SOIFDves);            return(OK);        case B3SOIFD_VDS:            value->rValue = *(ckt->CKTstate0 + here->B3SOIFDvds);            return(OK);        case B3SOIFD_CD:            value->rValue = here->B3SOIFDcd;	    value->rValue *= here->B3SOIFDm;             return(OK);        case B3SOIFD_CBS:            value->rValue = here->B3SOIFDcjs;	    value->rValue *= here->B3SOIFDm;             return(OK);        case B3SOIFD_CBD:            value->rValue = here->B3SOIFDcjd;	    value->rValue *= here->B3SOIFDm;             return(OK);        case B3SOIFD_GM:            value->rValue = here->B3SOIFDgm; 	    value->rValue *= here->B3SOIFDm;            return(OK);        case B3SOIFD_GMID:            value->rValue = here->B3SOIFDgm/here->B3SOIFDcd;             return(OK);        case B3SOIFD_GDS:            value->rValue = here->B3SOIFDgds; 	    value->rValue *= here->B3SOIFDm;            return(OK);        case B3SOIFD_GMBS:            value->rValue = here->B3SOIFDgmbs;	    value->rValue *= here->B3SOIFDm;             return(OK);        case B3SOIFD_GBD:            value->rValue = here->B3SOIFDgjdb; 	    value->rValue *= here->B3SOIFDm;            return(OK);        case B3SOIFD_GBS:            value->rValue = here->B3SOIFDgjsb;	    value->rValue *= here->B3SOIFDm;             return(OK);        case B3SOIFD_QB:            value->rValue = *(ckt->CKTstate0 + here->B3SOIFDqb); 	    value->rValue *= here->B3SOIFDm;            return(OK);        case B3SOIFD_CQB:            value->rValue = *(ckt->CKTstate0 + here->B3SOIFDcqb);	    value->rValue *= here->B3SOIFDm;             return(OK);        case B3SOIFD_QG:            value->rValue = *(ckt->CKTstate0 + here->B3SOIFDqg); 	    value->rValue *= here->B3SOIFDm;            return(OK);        case B3SOIFD_CQG:            value->rValue = *(ckt->CKTstate0 + here->B3SOIFDcqg);	    value->rValue *= here->B3SOIFDm;             return(OK);        case B3SOIFD_QD:            value->rValue = *(ckt->CKTstate0 + here->B3SOIFDqd); 	    value->rValue *= here->B3SOIFDm;            return(OK);        case B3SOIFD_CQD:            value->rValue = *(ckt->CKTstate0 + here->B3SOIFDcqd); 	    value->rValue *= here->B3SOIFDm;            return(OK);        case B3SOIFD_CGG:            value->rValue = here->B3SOIFDcggb; 	    value->rValue *= here->B3SOIFDm;            return(OK);        case B3SOIFD_CGD:            value->rValue = here->B3SOIFDcgdb;	    value->rValue *= here->B3SOIFDm;            return(OK);        case B3SOIFD_CGS:            value->rValue = here->B3SOIFDcgsb;	    value->rValue *= here->B3SOIFDm;            return(OK);        case B3SOIFD_CDG:            value->rValue = here->B3SOIFDcdgb;	    value->rValue *= here->B3SOIFDm;             return(OK);        case B3SOIFD_CDD:            value->rValue = here->B3SOIFDcddb;	    value->rValue *= here->B3SOIFDm;             return(OK);        case B3SOIFD_CDS:            value->rValue = here->B3SOIFDcdsb; 	    value->rValue *= here->B3SOIFDm;            return(OK);        case B3SOIFD_CBG:            value->rValue = here->B3SOIFDcbgb;	    value->rValue *= here->B3SOIFDm;            return(OK);        case B3SOIFD_CBDB:            value->rValue = here->B3SOIFDcbdb;	    value->rValue *= here->B3SOIFDm;            return(OK);        case B3SOIFD_CBSB:            value->rValue = here->B3SOIFDcbsb;	    value->rValue *= here->B3SOIFDm;            return(OK);        case B3SOIFD_VON:            value->rValue = here->B3SOIFDvon;             return(OK);        case B3SOIFD_VDSAT:            value->rValue = here->B3SOIFDvdsat;             return(OK);        case B3SOIFD_QBS:            value->rValue = *(ckt->CKTstate0 + here->B3SOIFDqbs);	    value->rValue *= here->B3SOIFDm;             return(OK);        case B3SOIFD_QBD:            value->rValue = *(ckt->CKTstate0 + here->B3SOIFDqbd); 	    value->rValue *= here->B3SOIFDm;            return(OK);        default:            return(E_BADPARM);    }    /* NOTREACHED */}

⌨️ 快捷键说明

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