Skip to content

GRT: resistance-aware nets percentage TCL parameter#10748

Merged
eder-matheus merged 5 commits into
The-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:grt-res-aware-percentage
Jun 24, 2026
Merged

GRT: resistance-aware nets percentage TCL parameter#10748
eder-matheus merged 5 commits into
The-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:grt-res-aware-percentage

Conversation

@jfgava

@jfgava jfgava commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Summary

FastRoute (FastRoute.h / FastRoute.cpp):

New member res_aware_nets_percentage_ = 15 (default 15%)
setResAwareNetsPercentage(float) / getResAwareNetsPercentage()

GlobalRouter ([GlobalRouter.h] / [GlobalRouter.cpp]):

setResAwareNetsPercentage(float) declaration + implementation (delegates to fastroute_->setResAwareNetsPercentage)
SWIG ([GlobalRouter.i]):

set_res_aware_nets_percentage(float) wrapper TCL ([GlobalRouter.tcl]):

-res_aware_nets_percentage added to global_route command args and parse_key_args
Handler validates with sta::check_percent and calls grt::set_res_aware_nets_percentage

Usage: global_route -resistance_aware -res_aware_nets_percentage 25 — omitting it defaults to 15%.

Type of Change

  • New feature
  • Documentation update

Impact

Option to set the percentage of nets to use resistance-aware routing.

Verification

  • I have verified that the local build succeeds (./etc/Build.sh).
  • I have run the relevant tests and they pass.
  • I have included tests to prevent regressions.
  • My code follows the repository's formatting guidelines.
  • I have signed my commits (DCO).

Signed-off-by: Jonas Gava <jfgava@precisioninno.com>
@jfgava jfgava self-assigned this Jun 24, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new -res_aware_nets_percentage parameter to configure the percentage of resistance-aware nets in global routing, exposing it through Tcl, SWIG, and C++ APIs. The review feedback highlights an inconsistency where the Tcl interface validates the input as a percentage (0-100), but the C++ backend treats it as a fraction (0-1), which would lead to incorrect scaling (e.g., 15% being interpreted as 1500%). To resolve this, the reviewer suggests storing the value as a percentage (0-100) with a default of 15.0, dividing it by 100.0 before passing it to updateSlacks, and updating the documentation to reflect this scale.

Comment thread src/grt/src/fastroute/include/FastRoute.h Outdated
Comment thread src/grt/src/fastroute/src/maze3D.cpp Outdated
Comment thread src/grt/src/fastroute/src/utility.cpp Outdated
Comment thread src/grt/README.md Outdated
jfgava added 4 commits June 24, 2026 14:11
Signed-off-by: Jonas Gava <jfgava@precisioninno.com>
Signed-off-by: Jonas Gava <jfgava@precisioninno.com>
Signed-off-by: Jonas Gava <jfgava@precisioninno.com>
Signed-off-by: Jonas Gava <jfgava@precisioninno.com>
@jfgava jfgava marked this pull request as ready for review June 24, 2026 18:58
@jfgava jfgava requested a review from a team as a code owner June 24, 2026 18:58
@jfgava jfgava requested a review from eder-matheus June 24, 2026 18:58
@eder-matheus eder-matheus merged commit 74e967e into The-OpenROAD-Project:master Jun 24, 2026
16 checks passed
@eder-matheus eder-matheus deleted the grt-res-aware-percentage branch June 24, 2026 19:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants