Found the error with rg_maxres, which is that it was being used in
one place as ohms and another as milliohms. Changed it to be milliohms always, except when written as output to the lumped resistance file or as diagnostic output. The result makes more sense, but now has the issue that the maximum resistance is always an over-estimate and may need to account for resistances in parallel.
This commit is contained in:
parent
03610f6d40
commit
21b8579734
|
|
@ -1933,7 +1933,7 @@ ResWriteLumpFile(node, resisdata)
|
|||
}
|
||||
else
|
||||
{
|
||||
lumpedres = resisdata->rg_maxres;
|
||||
lumpedres = resisdata->rg_maxres * MILLIOHMSTOOHMS;
|
||||
}
|
||||
fprintf(ResLumpFile, "R %s %d\n", node->name, lumpedres);
|
||||
}
|
||||
|
|
@ -2046,7 +2046,7 @@ ResWriteExtFile(celldef, node, resisdata, nidx, eidx)
|
|||
{
|
||||
if (ResOptionsFlags & ResOpt_Debug)
|
||||
TxPrintf("Not adding %s (maxres = %.2fohm)\n", node->name,
|
||||
resisdata->rg_maxres / 1000.0);
|
||||
resisdata->rg_maxres * MILLIOHMSTOOHMS);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -2078,7 +2078,7 @@ ResWriteExtFile(celldef, node, resisdata, nidx, eidx)
|
|||
if (resisdata->mindelay == 0)
|
||||
{
|
||||
TxPrintf("Adding %s (maxres = %.2fohm)\n", node->name,
|
||||
resisdata->rg_maxres / 1000.0);
|
||||
resisdata->rg_maxres * MILLIOHMSTOOHMS);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -934,7 +934,6 @@ ResDoSimplify(resisdata)
|
|||
for (node = ResNodeList; node != NULL; node = node->rn_more)
|
||||
bigres = MAX(bigres, node->rn_noderes);
|
||||
|
||||
bigres /= OHMSTOMILLIOHMS;
|
||||
resisdata->rg_maxres = bigres;
|
||||
|
||||
#ifdef PARANOID
|
||||
|
|
|
|||
Loading…
Reference in New Issue