Skip to content

Commit ee9ae4f

Browse files
committed
grt/cugr: update GlobalRouter's netlist with CUGR net updates
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
1 parent 881c7a6 commit ee9ae4f

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

src/grt/src/GlobalRouter.cpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6369,12 +6369,20 @@ std::vector<Net*> GlobalRouter::updateDirtyRoutes(bool save_guides)
63696369

63706370
if (use_cugr_) {
63716371
cugr_->setVerbose(false);
6372-
for (odb::dbNet* net : dirty_nets_) {
6373-
cugr_->updateNet(net);
6372+
for (odb::dbNet* db_net : dirty_nets_) {
6373+
// Rebuild the GlobalRouter pin set from the netlist (as updateDirtyNets
6374+
// does for FastRoute); updatePinAccessPoints below fixes the positions.
6375+
Net* net = getNet(db_net);
6376+
updateNetPins(net);
6377+
net->setDirtyNet(false);
6378+
net->clearLastPinPositions();
6379+
cugr_->updateNet(db_net);
63746380
}
63756381
dirty_nets_.clear();
63766382
cugr_->routeIncremental();
63776383
routes_ = cugr_->getRoutes();
6384+
// Sync pin access points with CUGR's routing, as the full route does.
6385+
updatePinAccessPoints();
63786386
return {};
63796387
}
63806388

0 commit comments

Comments
 (0)