From a48199d52df23732164c378b6c5dcea5b1b301a1 Mon Sep 17 00:00:00 2001 From: James Cherry Date: Sun, 18 Sep 2022 16:11:21 -0700 Subject: [PATCH] ReportPath::drvrFanout ignore non-wire arcs Signed-off-by: James Cherry --- search/ReportPath.cc | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/search/ReportPath.cc b/search/ReportPath.cc index 66909d47..67801d74 100644 --- a/search/ReportPath.cc +++ b/search/ReportPath.cc @@ -2760,14 +2760,16 @@ ReportPath::drvrFanout(Vertex *drvr, VertexOutEdgeIterator iter(drvr, graph_); while (iter.hasNext()) { Edge *edge = iter.next(); - Pin *pin = edge->to(graph_)->pin(); - if (network_->isTopLevelPort(pin)) { - // Output port counts as a fanout. - Port *port = network_->port(pin); - fanout += sdc_->portExtFanout(port, min_max) + 1; + if (edge->isWire()) { + Pin *pin = edge->to(graph_)->pin(); + if (network_->isTopLevelPort(pin)) { + // Output port counts as a fanout. + Port *port = network_->port(pin); + fanout += sdc_->portExtFanout(port, min_max) + 1; + } + else + fanout++; } - else - fanout++; } return fanout; }