From 05386668b4a38a88399c94634de5cb0f67ed6cdf Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 18 Jul 2021 20:20:23 +0200 Subject: [PATCH] Re-introducing pin name mapping for net assignment --- src/db/db/dbNetlistCompare.cc | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/db/db/dbNetlistCompare.cc b/src/db/db/dbNetlistCompare.cc index 8bc56779e..7fc8edadf 100644 --- a/src/db/db/dbNetlistCompare.cc +++ b/src/db/db/dbNetlistCompare.cc @@ -1543,11 +1543,16 @@ NetGraphNode::net_less (const db::Net *a, const db::Net *b) if ((a != 0) != (b != 0)) { return (a != 0) < (b != 0); } - if (a != 0) { - return a->pin_count () < b->pin_count (); - } else { + if (a == 0) { return false; } + if (a->pin_count () != b->pin_count ()) { + return a->pin_count () < b->pin_count (); + } + if (a->pin_count () == 0) { + return true; + } + return db::Netlist::name_compare (combined_case_sensitive (a->netlist (), b->netlist ()), a->begin_pins ()->pin ()->name (), b->begin_pins ()->pin ()->name ()) < 0; } bool @@ -1556,11 +1561,16 @@ NetGraphNode::edge_equal (const db::Net *a, const db::Net *b) if ((a != 0) != (b != 0)) { return false; } - if (a != 0) { - return a->pin_count () == b->pin_count (); - } else { + if (a == 0) { return true; } + if (a->pin_count () != b->pin_count ()) { + return false; + } + if (a->pin_count () == 0) { + return true; + } + return db::Netlist::name_compare (combined_case_sensitive (a->netlist (), b->netlist ()), a->begin_pins ()->pin ()->name (), b->begin_pins ()->pin ()->name ()) == 0; } // --------------------------------------------------------------------------------------------------------------------