From 9b4185fe6231d6b3926ee0f7b06e4749c7daab72 Mon Sep 17 00:00:00 2001 From: "R. Timothy Edwards" Date: Sun, 28 Dec 2025 14:54:07 -0500 Subject: [PATCH] Reverted a change from a long time ago regarding removal of zero valued resistors connecting two ports. I do not recall exactly why I put that in but it appears to cause incorrect behavior. --- VERSION | 2 +- base/flatten.c | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/VERSION b/VERSION index e903888..cbdae04 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.5.313 +1.5.314 diff --git a/base/flatten.c b/base/flatten.c index ba9117e..4265e8a 100644 --- a/base/flatten.c +++ b/base/flatten.c @@ -2019,7 +2019,7 @@ PrematchLists(char *name1, int file1, char *name2, int file2) } } - /* Do NOT remove shorting devices that */ + /* Beware remove shorting devices that */ /* connect two ports. Otherwise the */ /* port lists get screwed up. It is */ /* better in that case to force the */ @@ -2027,6 +2027,10 @@ PrematchLists(char *name1, int file1, char *name2, int file2) /* This is ignored for a top-level cell */ /* because it will just show up as a */ /* port mismatch error as it should. */ + /* (12/12/2025---disabling this worked; */ + /* may need to go back to a failing */ + /* example and determine how pin */ + /* matching gets scrambled.) */ if ((not_top == TRUE) && (ecomp->cell1->class != CLASS_ISOURCE)) { @@ -2039,7 +2043,13 @@ PrematchLists(char *name1, int file1, char *name2, int file2) else if (ob2->node == node2) found2 = TRUE; if (found1 && found2) { - found = FALSE; + Fprintf(stdout, "Warning: " + "zero-valued device connects " + "port %s to another port; pin " + "matching may be affected.\n", + ob2->name); + // found = FALSE; + found = TRUE; break; } }