[DO NOT MERGE] Coarse/fine setup-repair phases — CI QoR evaluation#4300
[DO NOT MERGE] Coarse/fine setup-repair phases — CI QoR evaluation#4300mguthaus wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces a new post-detailed-placement timing repair step (3_6_place_repair_timing) to the flow, adding a new script repair_timing_post_place.tcl and updating the Makefile. It also enhances repair_timing_helper to support a -phases argument and configures explicit phases across various stages (cts.tcl, floorplan.tcl, global_route.tcl, and resize.tcl). Feedback suggests wrapping the detailed_placement call in repair_timing_post_place.tcl with log_cmd and passing dpl_args for consistency, as well as correcting a comment in the Makefile that inaccurately describes the timing repair phases.
| # Re-legalize after timing repair. | ||
| detailed_placement |
There was a problem hiding this comment.
The detailed_placement command is called directly without logging via log_cmd and without passing dpl_args (such as -use_negotiation when USE_NEGOTIATION is set). To maintain consistency with other flow scripts and respect user configuration, please define dpl_args and wrap the call in log_cmd.
# Re-legalize after timing repair.
set dpl_args {}
append_env_var dpl_args USE_NEGOTIATION -use_negotiation 0
log_cmd detailed_placement {*}$dpl_args
576e5da to
bb00622
Compare
Sequence repair_timing setup repair coarse->fine across the flow using the COARSE/FINE -phases tokens from the OpenROAD submodule: - floorplan: COARSE (+ skip last gasp) - resize (3_4): COARSE FINE (opt-in via ENABLE_PLACE_REPAIR_TIMING) - post-dpl (new 3_6 target): COARSE FINE - CTS: COARSE FINE - global route: COARSE FINE Bumps tools/OpenROAD to VLSIDA/OpenROAD @ 9ddd6967fe (branch coarse-fine), which adds the COARSE/FINE phase tokens and two move-generator crash fixes. Evaluation only; depends on an out-of-tree OpenROAD branch -> not for merge. Signed-off-by: Matthew Guthaus <mrg@ucsc.edu>
bb00622 to
8874fb4
Compare
repair_timingsetup-repair flow. It depends on an out-of-tree OpenROAD branch, so it is not mergeable.Flow change: sequences setup repair coarse→fine via new
COARSE/FINErepair_timing -phasestokens:COARSE(+ skip last gasp)COARSE FINE(opt-in viaENABLE_PLACE_REPAIR_TIMING)COARSE FINECOARSE FINECOARSE= sizeup/clone/buffer/split;FINE= vt_swap/pin-swap/size_down/unbuffer/reroute.OpenROAD dependency: submodule bumped to
VLSIDA/OpenROAD@coarse-fine(9ddd6967fe) — https://github.com/VLSIDA/OpenROAD/tree/coarse-fine — which adds theCOARSE/FINEphase tokens and two move-generator crash fixes (RerouteGenerator hierarchical-net; SizeDownFanoutGenerator dangling-path).Verified locally: gcd/aes/ibex on nangate45 + asap7 complete (rc=0, no crashes).