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

📄 nummtrun.c

📁 spice中支持多层次元件模型仿真的可单独运行的插件源码
💻 C
字号:
/**********Copyright 1991 Regents of the University of California.  All rights reserved.Author:	1987 Kartikeya Mayaram, U. C. Berkeley CAD Group**********//* * This routine performs truncation error calculations for NUMOSs in the * circuit. */#include "spice.h"#include <stdio.h>#include "util.h"#include "cktdefs.h"#include "numosdef.h"#include "sperror.h"#include "suffix.h"intNUMOStrunc(inModel, ckt, timeStep)  GENmodel *inModel;  register CKTcircuit *ckt;  double *timeStep;{  register NUMOSmodel *model = (NUMOSmodel *) inModel;  register NUMOSinstance *inst;  double computeLTECoeff();  double TWOtrunc();  double deltaNew;  double deltaNorm[7];  double startTime;  int i;  for (i = 0; i <= ckt->CKTmaxOrder; i++) {    deltaNorm[i] = ckt->CKTdeltaOld[i] / TNorm;  }  for (; model != NULL; model = model->NUMOSnextModel) {    OneCarrier = model->NUMOSmethods->METHoneCarrier;    model->NUMOSpInfo->order = ckt->CKTorder;    model->NUMOSpInfo->delta = deltaNorm;    model->NUMOSpInfo->lteCoeff = computeLTECoeff(model->NUMOSpInfo);    for (inst = model->NUMOSinstances; inst != NULL;	inst = inst->NUMOSnextInstance) {      if (inst->NUMOSowner != ARCHme) continue;      startTime = SPfrontEnd->IFseconds();      deltaNew = TWOtrunc(inst->NUMOSpDevice, model->NUMOSpInfo,	  ckt->CKTdelta);      *timeStep = MIN(*timeStep, deltaNew);      inst->NUMOSpDevice->pStats->totalTime[STAT_TRAN] +=	  SPfrontEnd->IFseconds() - startTime;    }  }  return (OK);}

⌨️ 快捷键说明

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