Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions flow/scripts/global_route.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -81,12 +81,14 @@ if { !$::env(SKIP_INCREMENTAL_REPAIR) } {

# Running DPL to fix overlapped instances
# Run to get modified net by DPL
utl::push_metrics_stage "globalroute__repair_design__{}"
Comment thread
maliberty marked this conversation as resolved.
Resolved

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Remove the redundant quotes from the new stage formats

The mandatory docs/contrib/TclContract.md prohibits “quotes or braces it does not need.” Each newly added stage format is already a single literal Tcl word: the embedded {} remains literal without surrounding quotes. Verification with tclsh confirms that the quoted and bare forms produce identical arguments, so remove the unnecessary double quotes from all three additions to satisfy the stage-script contract.

AGENTS.md reference: AGENTS.md:L5-L5

Useful? React with 👍 / 👎.

log_cmd global_route -start_incremental {*}$allow_congestion
detailed_placement_helper -quiet
# Route only the modified net by DPL
run_global_route_and_catch_failures -end_incremental {*}$res_aware \
{*}$allow_congestion \
-congestion_report_file $::env(REPORTS_DIR)/congestion_post_repair_design.rpt
utl::pop_metrics_stage

# Repair timing using global route parasitics
puts "Repair setup and hold violations..."
Expand All @@ -98,13 +100,15 @@ if { !$::env(SKIP_INCREMENTAL_REPAIR) } {
report_metrics 5 "global route post repair timing"
}

utl::push_metrics_stage "globalroute__repair_timing__{}"
Comment thread
maliberty marked this conversation as resolved.
Resolved

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Extract the repeated metrics-stage idiom into util.tcl

The new push/body/pop metrics-scoping pattern is repeated around all three incremental-routing blocks. The mandatory docs/contrib/TclContract.md explicitly requires that “An idiom a change needs in two places becomes a proc in util.tcl.” Introduce a shared scope-management helper there and reuse it for the three blocks instead of adding independently maintained push/pop pairs.

AGENTS.md reference: AGENTS.md:L5-L5

Useful? React with 👍 / 👎.

log_cmd global_route -start_incremental {*}$allow_congestion
detailed_placement_helper -quiet
log_cmd check_placement -placeable -verbose
# Route only the modified net by DPL
run_global_route_and_catch_failures -end_incremental {*}$res_aware \
{*}$allow_congestion \
-congestion_report_file $::env(REPORTS_DIR)/congestion_post_repair_timing.rpt
utl::pop_metrics_stage

log_cmd estimate_parasitics

Expand All @@ -126,12 +130,14 @@ if { !$::env(SKIP_INCREMENTAL_REPAIR) } {
}

if { !$::env(OPT_POST_GRT_WNS) } {
utl::push_metrics_stage "globalroute__recover_power__{}"
Comment thread
maliberty marked this conversation as resolved.
Resolved
log_cmd global_route -start_incremental {*}$allow_congestion
recover_power_helper
# Route the modified nets by rsz journal restore
run_global_route_and_catch_failures -end_incremental {*}$res_aware \
{*}$allow_congestion \
-congestion_report_file $::env(REPORTS_DIR)/congestion_post_recover_power.rpt
utl::pop_metrics_stage
}

if {
Expand Down