Skip to content

Commit d6149fa

Browse files
committed
Added a hierarchical net name as a tie breaker in dbNet::findModNetInHighestHier()
Signed-off-by: Jaehyun Kim <[email protected]>
1 parent 1b5e6d7 commit d6149fa

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/odb/src/db/dbNet.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2531,10 +2531,16 @@ dbModNet* dbNet::findModNetInHighestHier() const
25312531
size_t min_delimiters = (size_t) -1;
25322532
char delim = getBlock()->getHierarchyDelimiter();
25332533

2534+
// Network::highestConnectedNet(Net *net) compares level of hierarchy and
2535+
// hierarchical net name as a tie breaker.
2536+
// For consistency, this API also uses the hierarchical net name as a tie
2537+
// breaker.
25342538
for (dbModNet* modnet : modnets) {
25352539
std::string name = modnet->getHierarchicalName();
25362540
size_t num_delimiters = std::count(name.begin(), name.end(), delim);
2537-
if (highest == nullptr || num_delimiters < min_delimiters) {
2541+
if (highest == nullptr || num_delimiters < min_delimiters
2542+
|| (num_delimiters == min_delimiters
2543+
&& name < highest->getHierarchicalName())) { // name = tie breaker
25382544
min_delimiters = num_delimiters;
25392545
highest = modnet;
25402546
}

0 commit comments

Comments
 (0)