Skip to content

RSZ: repair design reroute for slew fix#10542

Open
jfgava wants to merge 16 commits into
The-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:rsz-repair-design-reroute
Open

RSZ: repair design reroute for slew fix#10542
jfgava wants to merge 16 commits into
The-OpenROAD-Project:masterfrom
The-OpenROAD-Project-staging:rsz-repair-design-reroute

Conversation

@jfgava
Copy link
Copy Markdown
Contributor

@jfgava jfgava commented May 28, 2026

Summary

Wire resistance impact on timing is increasing for advanced nodes. In these PDKs, resistance-aware routing can improve delay significantly. Lower RC constants mean faster signal transitions, which cascades into better hold/setup slack at downstream endpoints and reduces slew-induced noise. The rerouting also reduces the need for buffers and upsizing which avoids inflating the netlist, preserving area and power budgets.

New unit test for the -reroute parameter.

Type of Change

  • New feature

Impact

New experimental option (-reroute) for repair_design post-GRT to repair slew violations with resistance-aware rerouting.

Up to 90% reduction in the number of buffers inserted to repair slew violations on some large designs for private PDKs.

Verification

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

jfgava added 10 commits May 13, 2026 16:15
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>
Signed-off-by: Jonas Gava <jfgava@precisioninno.com>
Signed-off-by: Jonas Gava <jfgava@precisioninno.com>
@jfgava jfgava self-assigned this May 28, 2026
Copy link
Copy Markdown
Contributor

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

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 an experimental -reroute option to the repair_design command, enabling resistance-aware wire rerouting to fix slew violations post-global routing before resorting to driver resizing or buffer insertion. Feedback on the implementation suggests enhancing the robustness of tryRerouteNet by respecting dont_touch constraints on both the net and driver pin, ensuring rerouting is only attempted when the parasitics source is set to global routing, and adding a defensive check to prevent negative values for estimated resistance from skewing the reduction ratio calculation.

Comment thread src/rsz/src/Resizer.cc
Comment thread src/rsz/src/Resizer.cc Outdated
Comment thread src/rsz/src/Resizer.cc
jfgava added 6 commits May 28, 2026 19:27
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 1, 2026 20:18
@jfgava jfgava requested a review from a team as a code owner June 1, 2026 20:18
@jfgava jfgava requested a review from povik June 1, 2026 20:18
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.

1 participant