Repository navigation
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces the SETUP_REPAIR_PHASES configuration variable, which allows specifying setup repair phase names (such as the experimental PARALLEL_EVAL policy) for repair_timing. The variable has been documented, integrated into the flow scripts, and enabled across various design configurations. The review feedback identifies redundant definitions of SETUP_REPAIR_PHASES in gcd-ccs/config.mk and riscv32i-mock-sram/config.mk, as these files already inherit the setting from their respective base configurations.
repair_timing selects its setup repair pipeline with -phases, but ORFS had no way to pass it, so a design could not opt into the experimental PARALLEL_EVAL policy. Add SETUP_REPAIR_PHASES, passed as -phases by repair_timing_helper in the same way SETUP_MOVE_SEQUENCE is passed as -sequence. It applies to every repair_timing_helper call (floorplan, place, cts and grt). When unset, repair_timing keeps its default phases, so no design changes. Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
Set SETUP_REPAIR_PHASES = PARALLEL_EVAL in the 38 designs with the largest final timing gain when every CI design ran the policy, half of the 76 designs in the public and private CI. A CI run with PARALLEL_EVAL enabled for every design was compared against the same ORFS and OpenROAD commits without it. The gain score is the mean of the finish fmax gain and the finish setup TNS reduction (clipped to +-100%). A design was eligible when its TEST flow completed, passed the dashboard QoR check, gained timing, and added no DRC, antenna or hold TNS degradation. rapidus2hp designs are not in this repository and were left out. asap7/gcd-ccs and asap7/riscv32i-mock-sram inherit the setting from the included asap7/gcd and asap7/riscv32i configs. | Rank | Design | Score | fmax | Setup TNS | | ---: | --- | ---: | ---: | ---: | | 1 | sky130hs/jpeg | +50.8 | +3.8% | +97.8% | | 2 | nangate45/bp_be_top | +50.6 | +1.3% | +100.0% | | 3 | gf180/riscv32i | +49.5 | +5.8% | +93.3% | | 4 | gf12/ibex | +49.5 | +0.4% | +98.7% | | 5 | sky130hd/riscv32i | +48.7 | +6.2% | +91.3% | | 6 | ihp-sg13g2/ibex | +47.2 | -1.3% | +95.7% | | 7 | asap7/riscv32i | +40.7 | +0.7% | +80.8% | | 8 | asap7/ibex | +38.9 | -6.2% | +84.0% | | 9 | sky130hs/riscv32i | +37.4 | +1.9% | +72.9% | | 10 | nangate45/bp_multi_top | +36.4 | +0.2% | +72.5% | | 11 | sky130hd/chameleon | +35.1 | +1.0% | +69.1% | | 12 | nangate45/ibex | +34.6 | -5.0% | +74.1% | | 13 | asap7/riscv32i-mock-sram | +27.1 | -0.5% | +54.7% | | 14 | sky130hd/ibex | +26.4 | +7.7% | +45.1% | | 15 | asap7/aes_lvt | +26.0 | +1.1% | +50.9% | | 16 | gf12/aes | +25.4 | +1.3% | +49.5% | | 17 | asap7/chi_async_bridge | +24.4 | +1.0% | +47.8% | | 18 | asap7/aes | +24.2 | +0.4% | +48.0% | | 19 | asap7/uart | +23.7 | +2.5% | +44.8% | | 20 | ihp-sg13g2/gcd | +22.2 | +2.9% | +41.6% | | 21 | nangate45/ariane133 | +21.4 | -2.3% | +45.1% | | 22 | sky130hd/jpeg | +21.2 | +1.3% | +41.1% | | 23 | gf12/tinyRocket | +20.4 | +3.9% | +36.8% | | 24 | sky130hs/aes | +18.3 | +1.7% | +35.0% | | 25 | asap7/gcd-ccs | +16.3 | +1.4% | +31.1% | | 26 | sky130hs/ibex | +11.7 | +3.3% | +20.0% | | 27 | nangate45/aes | +10.2 | +0.0% | +20.3% | | 28 | nangate45/tinyRocket | +9.4 | +0.8% | +17.9% | | 29 | gf180/ibex | +8.4 | -0.4% | +17.1% | | 30 | ihp-sg13g2/riscv32i | +8.0 | +6.6% | +9.4% | | 31 | sky130hd/aes | +7.5 | +0.7% | +14.3% | | 32 | asap7/ethmac_lvt | +7.3 | +0.1% | +14.5% | | 33 | nangate45/dynamic_node | +7.0 | +7.4% | +6.6% | | 34 | sky130hd/gcd | +5.7 | +3.0% | +8.5% | | 35 | gf180/aes-hybrid | +4.4 | +1.0% | +7.7% | | 36 | asap7/jpeg | +3.7 | +0.4% | +7.0% | | 37 | nangate45/cva6 | +3.7 | -3.2% | +10.6% | | 38 | asap7/gcd | +2.4 | +0.9% | +4.0% | Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
bd6d30d to
69cc62a
Compare
🔍 QoR checkMetrics reflect the PR merge build — i.e. what will land on the target branch. Commit 62 design(s) checked — 1 with regression(s), 1 without a comparable baseline. ❌ nangate45/cva6 base — 2 failing metric(s)
|
|
@maliberty This PR enables PARALLEL_EVAL in 50% of ORFS designs. Failure
|
7bf5a81
into
The-OpenROAD-Project:master
|
🥳 |
Summary
SETUP_REPAIR_PHASES(passed asrepair_timing -phases) and enable the experimentalPARALLEL_EVALsetup repair policy in the 38 designs (half of the 76 CI designs) with the largest finish timing gain.Impact
Enabled designs
sky130hs/jpegnangate45/bp_be_topgf180/riscv32igf12/ibexsky130hd/riscv32iihp-sg13g2/ibexasap7/riscv32iasap7/ibexsky130hs/riscv32inangate45/bp_multi_topsky130hd/chameleonnangate45/ibexasap7/riscv32i-mock-sramsky130hd/ibexasap7/aes_lvtgf12/aesasap7/chi_async_bridgeasap7/aesasap7/uartihp-sg13g2/gcdnangate45/ariane133sky130hd/jpeggf12/tinyRocketsky130hs/aesasap7/gcd-ccssky130hs/ibexnangate45/aesnangate45/tinyRocketgf180/ibexihp-sg13g2/riscv32isky130hd/aesasap7/ethmac_lvtnangate45/dynamic_nodesky130hd/gcdgf180/aes-hybridasap7/jpegnangate45/cva6asap7/gcdRelated