Corrected an egregious error made when converting "extresist" from

reading the .sim file format to reading the .ext file format, which
is that .sim files use capacitance values of fF while .ext files
use capacitance values of (nominally) aF.  So there was a conversion
factor of 1000 left over from the .sim file reading code that needed
to be removed, or else parasitic values come out to be 1000 times too
high.
This commit is contained in:
R. Timothy Edwards 2026-02-06 10:50:29 -05:00
parent 10a6c8635f
commit 3b1de8ff40
4 changed files with 11 additions and 4 deletions

View File

@ -1 +1 @@
8.3.602
8.3.603

View File

@ -146,6 +146,15 @@ ResReadExt(CellDef *def)
*/
switch (keyTable[n].k_key)
{
case SCALE:
/* NOTE: Currently the code assumes that the .ext
* file is read back immediately and has the same
* scale values currently in the extraction style.
* However, this should be style-independent and
* scale values should be read back and used.
* (to be completed).
*/
break;
case DEVICE:
locresult = ResReadDevice(argc, argv);
break;

View File

@ -641,7 +641,7 @@ ResDistributeCapacitance(nodelist, totalcap)
TxError("Error: Node with no area.\n");
return;
}
capperarea = FEMTOTOATTO * totalcap / totalarea;
capperarea = totalcap / totalarea;
for (workingNode = nodelist; workingNode != NULL; workingNode = workingNode->rn_more)
workingNode->rn_float.rn_area *= capperarea;

View File

@ -443,8 +443,6 @@ typedef struct capval
/* Capacitance table constants */
#define OHMSTOMILLIOHMS 1000
#define FEMTOTOATTO 1000
#define ATTOTOFEMTO 0.001
#define UNTOUCHED 0
#define SERIES 1