From d9ccd711d908451945421b11f0fe8bdb0e5a88e4 Mon Sep 17 00:00:00 2001 From: Tim Edwards Date: Wed, 23 Oct 2019 11:59:59 -0400 Subject: [PATCH] Realizing that the "no such node" messages were directly related to the below-threshold coupling caps being removed from the hierarchy, added code to suppress the error message when it is clearly related to a below-threshold cap that has been removed. --- ext2spice/ext2hier.c | 2 +- extflat/EFflat.c | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/ext2spice/ext2hier.c b/ext2spice/ext2hier.c index c1afcb00..7348a0d6 100644 --- a/ext2spice/ext2hier.c +++ b/ext2spice/ext2hier.c @@ -1656,7 +1656,7 @@ esMakePorts(hc, cdata) // In particular, this keeps parasitics out of the netlist for // LVS purposes if "cthresh" is set to "infinite". - if (fabs((double)conn->conn_cap) < EFCapThreshold) continue; + if (fabs((double)conn->conn_cap / 1000) < EFCapThreshold) continue; portname = name; updef = def; diff --git a/extflat/EFflat.c b/extflat/EFflat.c index 9725def9..337c477e 100644 --- a/extflat/EFflat.c +++ b/extflat/EFflat.c @@ -1018,14 +1018,23 @@ efFlatSingleCap(hc, name1, name2, conn) EFNode *n1, *n2; HashEntry *he; EFCoupleKey ck; + static char msg0[] = "cap(1)"; + static char msg1[] = "cap(2)"; + char *msg; + + /* Connections that are below threshold (ext2spice hierarchy only) */ + /* will be missing. Do not generate errors for these. */ - if ((he = EFHNLook(hc->hc_hierName, name1, "cap(1)")) == NULL) + msg = (fabs((double)conn->conn_cap / 1000) < EFCapThreshold) ? NULL : msg0; + + if ((he = EFHNLook(hc->hc_hierName, name1, msg)) == NULL) return 0; n1 = ((EFNodeName *) HashGetValue(he))->efnn_node; if (n1->efnode_flags & EF_KILLED) return 0; - if ((he = EFHNLook(hc->hc_hierName, name2, "cap(2)")) == NULL) + if (msg) msg = msg1; + if ((he = EFHNLook(hc->hc_hierName, name2, msg)) == NULL) return 0; n2 = ((EFNodeName *) HashGetValue(he))->efnn_node; if (n2->efnode_flags & EF_KILLED)