Update metrics after GRT blocked tracks fix - #4417
Conversation
Signed-off-by: Jonas Gava <jfgava@precisioninno.com>
Signed-off-by: Jonas Gava <jfgava@precisioninno.com>
There was a problem hiding this comment.
Code Review
This pull request updates the OpenROAD submodule commit and adjusts the baseline rules across multiple designs to reflect changes in timing, area, wirelength, and antenna diode counts. However, limiting MAX_REPAIR_ANTENNAS_ITER_DRT to 2 in the microwatt configuration introduces a severe regression, increasing antenna violating nets from 8 to 96. It is recommended to address the root cause of the timeout or looping issue in DRT rather than capping the repair iterations.
| # GRT non-default config | ||
| export FASTROUTE_TCL = $(DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NICKNAME)/fastroute.tcl | ||
|
|
||
| export MAX_REPAIR_ANTENNAS_ITER_DRT = 2 |
There was a problem hiding this comment.
Limiting MAX_REPAIR_ANTENNAS_ITER_DRT to 2 introduces a major regression, increasing antenna violating nets from 8 to 96. Capping the repair iterations to bypass timeouts compromises physical design integrity. The timeout/looping issue in DRT should be resolved at the root level rather than reducing the repair iterations.
There was a problem hiding this comment.
Agree. After Yosys 0.68 update, the number of diodes in DRT increased from 1700 to 2700. The problems with antennas got worse. With the new computation of blocked tracks, placement (routability) is affected, which affects all subsequent steps. The DRT step alone took more than 2h with 5 iterations of repair antennas. I can investigate this later
…ROAD-flow-scripts into update-metrics-grt-fix-blocked-tracks
🔍 QoR checkMetrics reflect the PR merge build — i.e. what will land on the target branch. Advisory — results are log-only and do not affect build status. The authoritative QoR gate remains the local rules-file check. Commit 61 design(s) checked — 12 with regression(s), 0 without a comparable baseline.
❌ asap7/ibex base — 1 failing metric(s)
❌ asap7/riscv32i-mock-sram base — 1 failing metric(s)
❌ gf180/aes-hybrid base — 3 failing metric(s)
❌ ihp-sg13g2/ibex base — 1 failing metric(s)
❌ ihp-sg13g2/jpeg base — 1 failing metric(s)
❌ nangate45/mempool_group base — 1 failing metric(s)
❌ nangate45/swerv base — 2 failing metric(s)
❌ nangate45/swerv_wrapper base — 3 failing metric(s)
❌ sky130hd/chameleon base — 6 failing metric(s)
❌ sky130hd/gcd base — 5 failing metric(s)
❌ sky130hd/microwatt base — 2 failing metric(s)
❌ sky130hd/riscv32i base — 1 failing metric(s)
|
Signed-off-by: Jonas Gava <jfgava@precisioninno.com>
Signed-off-by: Jonas Gava <jfgava@precisioninno.com>
|
designs/sky130hd/microwatt/rules-base.json updates:
designs/ihp-sg13g2/ibex/rules-base.json updates:
designs/asap7/ibex/rules-base.json updates:
designs/sky130hd/gcd/rules-base.json updates:
designs/nangate45/swerv_wrapper/rules-base.json updates:
|
Microwatt is very sensitive to placement changes. I'm having timeout issues during DRT due to multiple loops after antenna repairs. To fix this, I limited the number of repair_antennas iterations during DRT (5 -> 2). I can take a deeper look later
designs/asap7/riscv32i/rules-base.json updates:
designs/gf180/aes-hybrid/rules-base.json updates:
designs/gf180/riscv32i/rules-base.json updates:
designs/sky130hd/chameleon/rules-base.json updates:
designs/sky130hd/gcd/rules-base.json updates:
designs/sky130hs/jpeg/rules-base.json updates:
designs/nangate45/swerv_wrapper/rules-base.json updates:
designs/sky130hd/microwatt/rules-base.json updates:
Related to #11093
CI Could not Update Rules
[ERROR] asap7/tinyRocket skipped. File 'rules-base.json' not found. Please create the file with 'make update_rules'.
Messages from CI
[INFO] asap7/minimal not included in CI.
[INFO] gf12 not included in the update.
[INFO] gf55 not included in the update.
[INFO] nangate45/bp_quad not included in CI.