grt: implement resistance-aware for CUGR#10594
Conversation
There was a problem hiding this comment.
Code Review
This pull request implements a resistance-aware routing feature in the CUGR global router, allowing critical nets to be biased toward lower-resistance upper metal layers. Key changes include calculating wire and via resistance costs, computing resistance-aware net scores, and integrating these costs into pattern routing, alongside several timing and mechanism validation tests. Feedback on these changes highlights opportunities to improve robustness: specifically, finding the first non-zero layer resistance as a reference instead of assuming layer 0 is valid, adding defensive null-checks for the STA network access, and ensuring markResAwareNets early-returns when the critical net percentage is zero to avoid incorrectly marking nets.
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
…es-aware Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
…ware cost Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
…tween congestion and timing Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
d62dcbd to
0a6794d
Compare
Summary
Implement resistance-aware cost to CUGR routing flow.
Type of Change
Impact
When using -resistance_aware flag, CUGR now responds with computing costs and prioritizing nets, in order to prioritize low-resistance metal layers for long, high fanout, critical nets. The core logic tries to mimic how FastRoute handles resistance aware, but the costs are mainly applied to the PatterRoute stages.
New unit tests were added for validation. CI is running.
Verification
./etc/Build.sh).