|
|
@ -27,12 +27,13 @@ Modified: 2000 AlansFixes |
|
|
|
|
|
|
|
|
static int ZeroNoncurRow(SMPmatrix *matrix, CKTnode *nodes, int rownum); |
|
|
static int ZeroNoncurRow(SMPmatrix *matrix, CKTnode *nodes, int rownum); |
|
|
|
|
|
|
|
|
|
|
|
// #define PER_DEVICE_STATS |
|
|
int |
|
|
int |
|
|
CKTload(CKTcircuit *ckt) |
|
|
CKTload(CKTcircuit *ckt) |
|
|
{ |
|
|
{ |
|
|
int i; |
|
|
int i; |
|
|
int size; |
|
|
int size; |
|
|
double startTime; |
|
|
|
|
|
|
|
|
double startTime, td0; |
|
|
CKTnode *node; |
|
|
CKTnode *node; |
|
|
int error; |
|
|
int error; |
|
|
#ifdef STEPDEBUG |
|
|
#ifdef STEPDEBUG |
|
|
@ -49,6 +50,13 @@ CKTload(CKTcircuit *ckt) |
|
|
/* gtri - begin - Put resistors to ground at all nodes */ |
|
|
/* gtri - begin - Put resistors to ground at all nodes */ |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
td0 = SPfrontEnd->IFseconds(); |
|
|
|
|
|
|
|
|
|
|
|
#ifdef PER_DEVICE_STATS |
|
|
|
|
|
ckt->CKTstat->devTimes[DEVmaxnum] += SPfrontEnd->IFseconds() - td0; |
|
|
|
|
|
ckt->CKTstat->devCounts[DEVmaxnum]++; |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
startTime = SPfrontEnd->IFseconds(); |
|
|
startTime = SPfrontEnd->IFseconds(); |
|
|
size = SMPmatSize(ckt->CKTmatrix); |
|
|
size = SMPmatSize(ckt->CKTmatrix); |
|
|
for (i = 0; i <= size; i++) { |
|
|
for (i = 0; i <= size; i++) { |
|
|
@ -61,7 +69,14 @@ CKTload(CKTcircuit *ckt) |
|
|
|
|
|
|
|
|
for (i = 0; i < DEVmaxnum; i++) { |
|
|
for (i = 0; i < DEVmaxnum; i++) { |
|
|
if (DEVices[i] && DEVices[i]->DEVload && ckt->CKThead[i]) { |
|
|
if (DEVices[i] && DEVices[i]->DEVload && ckt->CKThead[i]) { |
|
|
|
|
|
#ifdef PER_DEVICE_STATS |
|
|
|
|
|
td0 = SPfrontEnd->IFseconds(); |
|
|
|
|
|
#endif |
|
|
error = DEVices[i]->DEVload (ckt->CKThead[i], ckt); |
|
|
error = DEVices[i]->DEVload (ckt->CKThead[i], ckt); |
|
|
|
|
|
#ifdef PER_DEVICE_STATS |
|
|
|
|
|
ckt->CKTstat->devTimes[i] += SPfrontEnd->IFseconds() - td0; |
|
|
|
|
|
ckt->CKTstat->devCounts[i]++; |
|
|
|
|
|
#endif |
|
|
if (ckt->CKTnoncon) |
|
|
if (ckt->CKTnoncon) |
|
|
ckt->CKTtroubleNode = 0; |
|
|
ckt->CKTtroubleNode = 0; |
|
|
#ifdef STEPDEBUG |
|
|
#ifdef STEPDEBUG |
|
|
|