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

📄 soi3ask.c

📁 ngspice又一个电子CAD仿真软件代码.功能更全
💻 C
📖 第 1 页 / 共 2 页
字号:
/**********STAG version 2.7Copyright 2000 owned by the United Kingdom Secretary of State for Defenceacting through the Defence Evaluation and Research Agency.Developed by :     Jim Benson,                   Department of Electronics and Computer Science,                   University of Southampton,                   United Kingdom.With help from :   Nele D'Halleweyn, Ketan Mistry, Bill Redman-White, and Craig Easson.Based on STAG version 2.1Developed by :     Mike Lee,With help from :   Bernard Tenbroek, Bill Redman-White, Mike Uren, Chris Edwards                   and John Bunyan.Acknowledgements : Rupert Howes and Pete Mole.**********//********** Modified by Paolo Nenzi 2002ngspice integration**********/#include "ngspice.h"#include "const.h"#include "ifsim.h"#include "cktdefs.h"#include "devdefs.h"#include "soi3defs.h"#include "sperror.h"#include "suffix.h"/*ARGSUSED*/intSOI3ask(CKTcircuit *ckt, GENinstance *inst, int which, IFvalue *value,         IFvalue *select){    SOI3instance *here = (SOI3instance*)inst;    /* The line below belong to the parts of the case statement that are also     * commented out *//*     double vr; *//*     double vi; *//*     double sr; *//*     double si; *//*     double vm; *//*     static char *msg = "Current and power not available for ac analysis"; */    switch(which) {        case SOI3_L:            value->rValue = here->SOI3l;                return(OK);        case SOI3_W:            value->rValue = here->SOI3w;                return(OK);	case SOI3_M:            value->rValue = here->SOI3m;                return(OK);	 case SOI3_AS:            value->rValue = here->SOI3as;            	 return(OK);        case SOI3_AD:            value->rValue = here->SOI3ad;            	 return(OK);        case SOI3_AB:            value->rValue = here->SOI3ab;            	 return(OK);        case SOI3_NRS:            value->rValue = here->SOI3sourceSquares;                return(OK);        case SOI3_NRD:            value->rValue = here->SOI3drainSquares;                return(OK);        case SOI3_OFF:            value->rValue = here->SOI3off;                return(OK);        case SOI3_IC_VDS:            value->rValue = here->SOI3icVDS;                return(OK);        case SOI3_IC_VGFS:            value->rValue = here->SOI3icVGFS;                return(OK);        case SOI3_IC_VGBS:            value->rValue = here->SOI3icVGBS;                return(OK);        case SOI3_IC_VBS:            value->rValue = here->SOI3icVBS;                return(OK);        case SOI3_TEMP:            value->rValue = here->SOI3temp-CONSTCtoK;            return(OK);        case SOI3_RT:            value->rValue = here->SOI3rt;	    value->rValue /= here->SOI3m;            return(OK);        case SOI3_CT:            value->rValue = here->SOI3ct;	    value->rValue *= here->SOI3m;            return(OK);        case SOI3_DNODE:            value->iValue = here->SOI3dNode;            return(OK);        case SOI3_GFNODE:            value->iValue = here->SOI3gfNode;            return(OK);        case SOI3_SNODE:            value->iValue = here->SOI3sNode;            return(OK);        case SOI3_GBNODE:            value->iValue = here->SOI3gbNode;            return(OK);        case SOI3_BNODE:            value->iValue = here->SOI3bNode;            return(OK);        case SOI3_DNODEPRIME:            value->iValue = here->SOI3dNodePrime;            return(OK);        case SOI3_SNODEPRIME:            value->iValue = here->SOI3sNodePrime;            return(OK);        case SOI3_TNODE:            value->iValue = here->SOI3toutNode;            return(OK);        case SOI3_BRANCH:            value->iValue = here->SOI3branch;            return(OK);        case SOI3_SOURCECONDUCT:            value->rValue = here->SOI3sourceConductance;	    value->rValue *= here->SOI3m;            return(OK);        case SOI3_DRAINCONDUCT:            value->rValue = here->SOI3drainConductance;	    value->rValue *= here->SOI3m;            return(OK);        case SOI3_VON:            value->rValue = here->SOI3tVto;            return(OK);        case SOI3_VFBF:            value->rValue = here->SOI3tVfbF;            return(OK);        case SOI3_VDSAT:            value->rValue = here->SOI3vdsat;            return(OK);        case SOI3_SOURCEVCRIT:            value->rValue = here->SOI3sourceVcrit;            return(OK);        case SOI3_DRAINVCRIT:            value->rValue = here->SOI3drainVcrit;            return(OK);        case SOI3_ID:            value->rValue = here->SOI3id;	    value->rValue *= here->SOI3m;            return(OK);        case SOI3_IBS:            value->rValue = here->SOI3ibs;	    value->rValue *= here->SOI3m;            return(OK);        case SOI3_IBD:            value->rValue = here->SOI3ibd;	    value->rValue *= here->SOI3m;            return(OK);        case SOI3_GMBS:            value->rValue = here->SOI3gmbs;	    value->rValue *= here->SOI3m;            return(OK);        case SOI3_GMF:            value->rValue = here->SOI3gmf;	    value->rValue *= here->SOI3m;            return(OK);        case SOI3_GMB:            value->rValue = here->SOI3gmb;	    value->rValue *= here->SOI3m;            return(OK);        case SOI3_GDS:            value->rValue = here->SOI3gds;	    value->rValue *= here->SOI3m;            return(OK);        case SOI3_GBD:            value->rValue = here->SOI3gbd;	    value->rValue *= here->SOI3m;            return(OK);        case SOI3_GBS:            value->rValue = here->SOI3gbs;	    value->rValue *= here->SOI3m;            return(OK);        case SOI3_CAPBD:            value->rValue = here->SOI3capbd;	    value->rValue *= here->SOI3m;            return(OK);        case SOI3_CAPBS:            value->rValue = here->SOI3capbs;	    value->rValue *= here->SOI3m;            return(OK);        case SOI3_CAPZEROBIASBD:            value->rValue = here->SOI3Cbd;	    value->rValue *= here->SOI3m;            return(OK);        case SOI3_CAPZEROBIASBS:            value->rValue = here->SOI3Cbs;	    value->rValue *= here->SOI3m;            return(OK);        case SOI3_VBD:            value->rValue = *(ckt->CKTstate0 + here->SOI3vbd);            return(OK);        case SOI3_VBS:            value->rValue = *(ckt->CKTstate0 + here->SOI3vbs);            return(OK);        case SOI3_VGFS:            value->rValue = *(ckt->CKTstate0 + here->SOI3vgfs);            return(OK);        case SOI3_VGBS:            value->rValue = *(ckt->CKTstate0 + here->SOI3vgbs);            return(OK);        case SOI3_VDS:            value->rValue = *(ckt->CKTstate0 + here->SOI3vds);            return(OK);        case SOI3_QGF:            value->rValue = *(ckt->CKTstate0 + here->SOI3qgf);	    value->rValue *= here->SOI3m;            return(OK);        case SOI3_IQGF:            value->rValue = *(ckt->CKTstate0 + here->SOI3iqgf);	    value->rValue *= here->SOI3m;            return(OK);        case SOI3_QD:            value->rValue = *(ckt->CKTstate0 + here->SOI3qd);	    value->rValue *= here->SOI3m;            return(OK);        case SOI3_IQD:            value->rValue = *(ckt->CKTstate0 + here->SOI3iqd);	    value->rValue *= here->SOI3m;            return(OK);        case SOI3_QS:            value->rValue = *(ckt->CKTstate0 + here->SOI3qs);	    value->rValue *= here->SOI3m;            return(OK);        case SOI3_IQS:            value->rValue = *(ckt->CKTstate0 + here->SOI3iqs);	    value->rValue *= here->SOI3m;            return(OK);        case SOI3_CGFGF:            value->rValue = *(ckt->CKTstate0 + here->SOI3cgfgf);	    value->rValue *= here->SOI3m;            return (OK);        case SOI3_CGFD:            value->rValue = *(ckt->CKTstate0 + here->SOI3cgfd);	    value->rValue *= here->SOI3m;            return (OK);        case SOI3_CGFS:            value->rValue = *(ckt->CKTstate0 + here->SOI3cgfs);	    value->rValue *= here->SOI3m;            return (OK);        case SOI3_CGFDELTAT:            value->rValue = *(ckt->CKTstate0 + here->SOI3cgfdeltaT);	    value->rValue *= here->SOI3m;            return (OK);	case SOI3_CGFGB:            value->rValue = *(ckt->CKTstate0 + here->SOI3cgfgb);	    value->rValue *= here->SOI3m;	    return (OK);        case SOI3_CDGF:            value->rValue = *(ckt->CKTstate0 + here->SOI3cdgf);	    value->rValue *= here->SOI3m;            return (OK);        case SOI3_CDD:            value->rValue = *(ckt->CKTstate0 + here->SOI3cdd);	    value->rValue *= here->SOI3m;            return (OK);        case SOI3_CDS:            value->rValue = *(ckt->CKTstate0 + here->SOI3cds);	    value->rValue *= here->SOI3m;            return (OK);        case SOI3_CDDELTAT:            value->rValue = *(ckt->CKTstate0 + here->SOI3cddeltaT);	    value->rValue *= here->SOI3m;            return (OK);	case SOI3_CDGB:            value->rValue = *(ckt->CKTstate0 + here->SOI3cdgb);	    value->rValue *= here->SOI3m;            return (OK);        case SOI3_CSGF:            value->rValue = *(ckt->CKTstate0 + here->SOI3csgf);	    value->rValue *= here->SOI3m;            return (OK);        case SOI3_CSD:            value->rValue = *(ckt->CKTstate0 + here->SOI3csd);	    value->rValue *= here->SOI3m;            return (OK);        case SOI3_CSS:            value->rValue = *(ckt->CKTstate0 + here->SOI3css);	    value->rValue *= here->SOI3m;            return (OK);        case SOI3_CSDELTAT:            value->rValue = *(ckt->CKTstate0 + here->SOI3csdeltaT);	    value->rValue *= here->SOI3m;            return (OK);	case SOI3_CSGB:            value->rValue = *(ckt->CKTstate0 + here->SOI3csgb);	    value->rValue *= here->SOI3m;            return (OK);

⌨️ 快捷键说明

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