From 5edc2ba7ef81c9d3e9a68c560e3ab2b414147f58 Mon Sep 17 00:00:00 2001 From: James Cherry Date: Sat, 1 Feb 2020 17:38:33 -0700 Subject: [PATCH] groupBusPorts: sort memebers by bus index --- network/ConcreteLibrary.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/network/ConcreteLibrary.cc b/network/ConcreteLibrary.cc index b053d2f1..e23ede2a 100644 --- a/network/ConcreteLibrary.cc +++ b/network/ConcreteLibrary.cc @@ -419,6 +419,16 @@ ConcreteCell::groupBusPorts(const char bus_brkt_left, BusPort *bus_port = bus_iter.next(); const char *bus_name = bus_port->name(); ConcretePortSeq *members = bus_port->members(); + sort(members, [&](ConcretePort *port1, + ConcretePort *port2) { + char *bus_name; + int index1, index2; + parseBusName(port1->name(), bus_brkts_left, bus_brkts_right, escape_, + bus_name, index1); + parseBusName(port2->name(), bus_brkts_left, bus_brkts_right, escape_, + bus_name, index2); + return index1 > index2; + }); ConcretePort *port = makeBusPort(bus_name, bus_port->from(), bus_port->to(), members); port->setDirection(bus_port->direction());