Corrected two annoying errors: (1) SPICE netlist output subcircuits

could have multiple ports of the same name.  This problem had been
worked over before, but there was an indpendent mechanism producing
the same result for a completely different reason, caused by subcells
being much larger than the cookie-cutter extraction method's extraction
regions.  Solved by tracking port names in a hash table and preventing
re-use.  (2) ext2spice was producing "no such node" errors;  like (1)
this had been previously worked on, and like (1) this mechanism was
independent.  Problem came from not passing -1 to extHierSubstrate for
the non-arrayed dimension of a 1-dimensional array.  Also:  Removed
the word "fatal" from extraction error reporting, as nearly all
extraction errors are entirely benign.  This should clear up confusion
among alarmed end-users.
This commit is contained in:
Tim Edwards
2020-11-24 15:30:49 -05:00
parent 0ad9ac91e3
commit f343863ce3
6 changed files with 53 additions and 17 deletions
+6 -1
View File
@@ -606,7 +606,12 @@ extArrayInterFunc(use, trans, x, y, ha)
extHierConnections(ha, extArrayPrimary, oneFlat);
/* Process substrate connection */
extHierSubstrate(ha, use, x, y);
if (use->cu_xlo == use->cu_xhi)
extHierSubstrate(ha, use, -1, y);
else if (use->cu_ylo == use->cu_yhi)
extHierSubstrate(ha, use, x, -1);
else
extHierSubstrate(ha, use, x, y);
ha->ha_cumFlat.et_nodes = (NodeRegion *) NULL;
if (ExtOptions & EXT_DOADJUST)