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

📄 b3v1ask.c

📁 ngspice又一个电子CAD仿真软件代码.功能更全
💻 C
字号:
/********** * Copyright 1990 Regents of the University of California. All rights reserved. * File: b3v1ask.c * Author: 1995 Min-Chie Jeng and Mansun Chan.  * Modified by Paolo Nenzi 2002 **********//*  * Release Notes:  * BSIM3v3.1,   Released by yuhua  96/12/08 */#include "ngspice.h"#include "ifsim.h"#include "cktdefs.h"#include "devdefs.h"#include "bsim3v1def.h"#include "sperror.h"#include "suffix.h"intBSIM3v1ask (CKTcircuit * ckt, GENinstance * inst, int which, IFvalue * value,	    IFvalue * select){  BSIM3v1instance *here = (BSIM3v1instance *) inst;  switch (which)    {    case BSIM3v1_L:      value->rValue = here->BSIM3v1l;      return (OK);    case BSIM3v1_W:      value->rValue = here->BSIM3v1w;      return (OK);    case BSIM3v1_M:      value->rValue = here->BSIM3v1m;      return (OK);    case BSIM3v1_AS:      value->rValue = here->BSIM3v1sourceArea;      return (OK);    case BSIM3v1_AD:      value->rValue = here->BSIM3v1drainArea;      return (OK);    case BSIM3v1_PS:      value->rValue = here->BSIM3v1sourcePerimeter;      return (OK);    case BSIM3v1_PD:      value->rValue = here->BSIM3v1drainPerimeter;      return (OK);    case BSIM3v1_NRS:      value->rValue = here->BSIM3v1sourceSquares;      return (OK);    case BSIM3v1_NRD:      value->rValue = here->BSIM3v1drainSquares;      return (OK);    case BSIM3v1_OFF:      value->rValue = here->BSIM3v1off;      return (OK);    case BSIM3v1_NQSMOD:      value->iValue = here->BSIM3v1nqsMod;      return (OK);    case BSIM3v1_IC_VBS:      value->rValue = here->BSIM3v1icVBS;      return (OK);    case BSIM3v1_IC_VDS:      value->rValue = here->BSIM3v1icVDS;      return (OK);    case BSIM3v1_IC_VGS:      value->rValue = here->BSIM3v1icVGS;      return (OK);    case BSIM3v1_DNODE:      value->iValue = here->BSIM3v1dNode;      return (OK);    case BSIM3v1_GNODE:      value->iValue = here->BSIM3v1gNode;      return (OK);    case BSIM3v1_SNODE:      value->iValue = here->BSIM3v1sNode;      return (OK);    case BSIM3v1_BNODE:      value->iValue = here->BSIM3v1bNode;      return (OK);    case BSIM3v1_DNODEPRIME:      value->iValue = here->BSIM3v1dNodePrime;      return (OK);    case BSIM3v1_SNODEPRIME:      value->iValue = here->BSIM3v1sNodePrime;      return (OK);    case BSIM3v1_SOURCECONDUCT:      value->rValue = here->BSIM3v1sourceConductance;      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_DRAINCONDUCT:      value->rValue = here->BSIM3v1drainConductance;      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_VBD:      value->rValue = *(ckt->CKTstate0 + here->BSIM3v1vbd);      return (OK);    case BSIM3v1_VBS:      value->rValue = *(ckt->CKTstate0 + here->BSIM3v1vbs);      return (OK);    case BSIM3v1_VGS:      value->rValue = *(ckt->CKTstate0 + here->BSIM3v1vgs);      return (OK);    case BSIM3v1_VDS:      value->rValue = *(ckt->CKTstate0 + here->BSIM3v1vds);      return (OK);    case BSIM3v1_CD:      value->rValue = here->BSIM3v1cd;      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_CBS:      value->rValue = here->BSIM3v1cbs;      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_CBD:      value->rValue = here->BSIM3v1cbd;      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_GM:      value->rValue = here->BSIM3v1gm;      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_GDS:      value->rValue = here->BSIM3v1gds;      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_GMBS:      value->rValue = here->BSIM3v1gmbs;      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_GBD:      value->rValue = here->BSIM3v1gbd;      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_GBS:      value->rValue = here->BSIM3v1gbs;      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_QB:      value->rValue = *(ckt->CKTstate0 + here->BSIM3v1qb);      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_CQB:      value->rValue = *(ckt->CKTstate0 + here->BSIM3v1cqb);      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_QG:      value->rValue = *(ckt->CKTstate0 + here->BSIM3v1qg);      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_CQG:      value->rValue = *(ckt->CKTstate0 + here->BSIM3v1cqg);      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_QD:      value->rValue = *(ckt->CKTstate0 + here->BSIM3v1qd);      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_CQD:      value->rValue = *(ckt->CKTstate0 + here->BSIM3v1cqd);      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_CGG:      value->rValue = here->BSIM3v1cggb;      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_CGD:      value->rValue = here->BSIM3v1cgdb;      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_CGS:      value->rValue = here->BSIM3v1cgsb;      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_CDG:      value->rValue = here->BSIM3v1cdgb;      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_CDD:      value->rValue = here->BSIM3v1cddb;      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_CDS:      value->rValue = here->BSIM3v1cdsb;      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_CBG:      value->rValue = here->BSIM3v1cbgb;      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_CBDB:      value->rValue = here->BSIM3v1cbdb;      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_CBSB:      value->rValue = here->BSIM3v1cbsb;      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_CAPBD:      value->rValue = here->BSIM3v1capbd;      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_CAPBS:      value->rValue = here->BSIM3v1capbs;      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_VON:      value->rValue = here->BSIM3v1von;      return (OK);    case BSIM3v1_VDSAT:      value->rValue = here->BSIM3v1vdsat;      return (OK);    case BSIM3v1_QBS:      value->rValue = *(ckt->CKTstate0 + here->BSIM3v1qbs);      value->rValue *= here->BSIM3v1m;      return (OK);    case BSIM3v1_QBD:      value->rValue = *(ckt->CKTstate0 + here->BSIM3v1qbd);      value->rValue *= here->BSIM3v1m;      return (OK);    default:      return (E_BADPARM);    }  /* NOTREACHED */}

⌨️ 快捷键说明

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