File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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
You can’t perform that action at this time.
0 commit comments