mirror of
https://github.com/RTimothyEdwards/magic.git
synced 2026-08-22 06:07:34 +02:00
Implemented a method in EFBuildNode() to capture nodes which are
redundant (same name, different net). Previously, the method was to keep the first such node and ignore all others except to add their resistance and capacitance to the original node. This prevented routines like "def write" from enumerating all nets unless they had unique names. The new method keeps the additional records including the node location where they can be found by EFNodeVisit(), but flags them with EF_UNIQUE_NODE so that routines like ext2spice or ext2sim can choose to ignore them. This implies that this method could be used to reimplement "extract unique" within "ext2spice" or "ext2sim" without altering label text. This has not yet been implemented.
This commit is contained in:
@@ -295,6 +295,9 @@ defnodeCount(node, res, cap, total)
|
||||
char ndn[256];
|
||||
char *cp, clast;
|
||||
|
||||
/* Ignore ports---use the unique node entries instead */
|
||||
if (node->efnode_flags & EF_TOP_PORT) return 0;
|
||||
|
||||
/* Ignore the substrate node if it is not connected to any routing */
|
||||
if (node->efnode_type == TT_SPACE)
|
||||
return 0;
|
||||
@@ -669,6 +672,9 @@ defnodeVisit(node, res, cap, defdata)
|
||||
EFNodeName *thisnn;
|
||||
int defNetGeometryFunc(); /* Forward declaration */
|
||||
|
||||
/* Ignore ports---use the unique node entries instead */
|
||||
if (node->efnode_flags & EF_TOP_PORT) return 0;
|
||||
|
||||
/* For regular nets, only count those nodes having port */
|
||||
/* connections. For special nets, only count those nodes */
|
||||
/* that were marked with the EF_SPECIAL flag while counting */
|
||||
|
||||
Reference in New Issue
Block a user