Incremental Global Routing on CUGR
OpenROAD's CUGR backend lacks incremental routing support, forcing a full re-route of the entire design after every Engineering Change Order (ECO) operation such as buffer insertion, buffer removal, gate upsizing or downsizing, and placement legalisation. On large industrial designs this can take tens of minutes per iteration. FastRoute, the other backend, already handles this correctly via the IncrementalGRoute class and GRouteDbCbk ODB callbacks that track only the subset of modified nets. This project brings full incremental routing parity to CUGR by implementing deleted net cleanup (removeNet), connecting all five ECO-triggered ODB callbacks to CUGR's dirty-net queue, ensuring only the correct subset of nets is re-routed per incremental pass, and scoping guide write-back to dirty and secondary overflow nets only, modelled on findRouting in FastRoute. Three pull requests implementing the core infrastructure have already been merged into upstream OpenROAD (#9671, #9759, #9866). Deliverables include the complete incremental CUGR flow, a regression test suite covering all ECO scenarios, incremental congestion view updates, and benchmarking data comparing incremental versus full re-route runtime and quality across reference designs.
Project details
Technologies
Not listed in the archive