grt: persist routing engine choice for cross-session repair_antennas - #11186
Merged
eder-matheus merged 4 commits intoAug 21, 2026
Merged
Conversation
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Contributor
There was a problem hiding this comment.
Code Review
This pull request introduces a mechanism to persist and restore the global routing engine choice (CUGR vs FastRoute) using a database block property. While this is a valuable addition, the current implementation of ensureEngineSelected uses a session-wide engine_selected_ flag that can cause stale state leaks in multi-design sessions. The feedback recommends tracking the last checked block and introducing a user_selected_engine_ flag to safely support multi-design environments and preserve explicit user overrides.
eder-matheus
force-pushed
the
grt_save_engine_choice
branch
from
August 19, 2026 21:24
c3542c9 to
18a7677
Compare
eder-matheus
marked this pull request as ready for review
August 19, 2026 21:31
Member
Author
|
@maliberty Could you comment on the idea of using a dbProperty to store the GRT engine choice? This was based on RSZ's set_opt_config. |
…ROAD into grt_save_engine_choice Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
jfgava
approved these changes
Aug 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
global_route -use_cugronly sets a session-local flag, so in fresh-process flows (e.g. ORFS) a post-detailed-routerepair_antennasruns FastRoute on a CUGR-routed design.This PR saves the engine choice as a block property (
grt_use_cugr) insaveGuidesand restores it in fresh sessions (loadGuidesFromDB,repairAntennas,startIncremental). An explicitglobal_routechoice always wins, and an absent property keeps today's FastRoute default.Type of Change
Impact
Fresh-session
repair_antennason CUGR-routed designs now adopts demand and reroutes diode nets with CUGR instead of FastRoute. FastRoute flows are unchanged (repair_antennas_from_odbpasses byte-identical; full grt, est, and ant suites pass).Verification
./etc/Build.sh).New test:
repair_antennas_from_odb_cugrreads a checked-in CUGR-routed dbin a fresh session and asserts the restore (registered in CMake and Bazel).
Related Issues
N/A