From d14bf70f1ceb48f87f169cca3e8c9924d82a3c47 Mon Sep 17 00:00:00 2001 From: Tim Edwards Date: Mon, 7 Oct 2024 11:10:33 -0400 Subject: [PATCH] Working to get some MatchPins improvements from Mitch Bailey from a long time ago into the code. The improvements collided with intervening changes to the same routines and would not merge cleanly, which is why they were never merged. Step 1: Show the net name of a matching net that is missing a pin. Remove output of missing pins that is redundant (pin names being output twice). --- VERSION | 2 +- base/netcmp.c | 21 ++------------------- 2 files changed, 3 insertions(+), 20 deletions(-) diff --git a/VERSION b/VERSION index e2d0e8f..25ac653 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.5.281 +1.5.282 diff --git a/base/netcmp.c b/base/netcmp.c index b062004..b7dca12 100644 --- a/base/netcmp.c +++ b/base/netcmp.c @@ -7629,7 +7629,7 @@ int MatchPins(struct nlist *tc1, struct nlist *tc2, int dolist) if (ob2->model.port == -1) snprintf(ostr + left_col_end + 1, left_col_end, "%s **Mismatch**", ob2->name); else - snprintf(ostr + left_col_end + 1, left_col_end, "(no matching pin)"); + snprintf(ostr + left_col_end + 1, left_col_end, "(no matching pin)", ob2->name); } nomatch = TRUE; /* Pins with different names are on different nets, @@ -7684,7 +7684,7 @@ int MatchPins(struct nlist *tc1, struct nlist *tc2, int dolist) for (m = 0; m < left_col_end; m++) *(ostr + m) = ' '; for (m = left_col_end + 1; m < right_col_end; m++) *(ostr + m) = ' '; snprintf(ostr, 32, "%s", obn->name); - snprintf(ostr + left_col_end + 1, left_col_end, "(no matching pin)"); + snprintf(ostr + left_col_end + 1, left_col_end, "(no pin, node is %s)", obp->name); for (m = 0; m < right_col_end + 1; m++) if (*(ostr + m) == '\0') *(ostr + m) = ' '; Fprintf(stdout, ostr); @@ -8132,23 +8132,6 @@ int MatchPins(struct nlist *tc1, struct nlist *tc2, int dolist) obn->instance.name = NULL; obn->node = -1; - /* Note: Has this pin already been accounted for? */ - if (Debug == 0) { - if (strcmp(ob1->name, "(no pins)")) { - for (m = 0; m < left_col_end; m++) *(ostr + m) = ' '; - for (m = left_col_end + 1; m < right_col_end; m++) *(ostr + m) = ' '; - snprintf(ostr, left_col_end, "%s", ob1->name); - snprintf(ostr + left_col_end + 1, left_col_end, "(no matching pin)"); - for (m = 0; m < right_col_end + 1; m++) - if (*(ostr + m) == '\0') *(ostr + m) = ' '; - Fprintf(stdout, ostr); - } - } - else { - Fprintf(stderr, "No netlist match for cell %s pin %s\n", - tc1->name, ob1->name); - } - if (ob2 == tc2->cell) { obn->next = ob2; tc2->cell = obn;