@@ -17,35 +17,15 @@ if {[info exist env(FASTROUTE_TCL)]} {
1717}
1818
1919# The default behavior if the user didn't specify GLOBAL_ROUTE_ARGS is to
20- # first make an attempt with a few iterations, if this is a hard global
21- # route, start from scratch, try harder and logging. The goal here is to make
22- # ORFS handle the simple cases without fuzz and to make the harder
23- # cases more easily debuggable without having to go spelunking in Tcl.
20+ # produce a drc report every 5 iterations.
2421#
2522# If GLOBAL_ROUTE_ARGS is specified, then we do only what the
2623# GLOBAL_ROUTE_ARGS specifies.
27- set common_args [list -guide_file $env(RESULTS_DIR) /route.guide \
28- -congestion_report_file $env(REPORTS_DIR) /congestion.rpt]
29- if {[info exists ::env(GLOBAL_ROUTE_ARGS)]} {
30- global_route {*}$common_args {*}$::env(GLOBAL_ROUTE_ARGS)
31- } else {
32- for {set i 0} {$i < 2} {incr i} {
33- set congestion_args [list -verbose]
34- if {$i == 1} {
35- global_route {*}$common_args {*}$congestion_args -congestion_iterations 20 -congestion_report_iter_step 1
36- break
37- } else {
38- set result [catch {
39- global_route {*}$common_args {*}$congestion_args -congestion_iterations 5
40- break
41- } errMsg]
42- if {$result } {
43- puts " First attempt failed. Retrying, reporting each iteration..."
44- puts " Error message: $errMsg "
45- }
46- }
47- }
48- }
24+ global_route -guide_file $env(RESULTS_DIR) /route.guide \
25+ -congestion_report_file $env(REPORTS_DIR) /congestion.rpt \
26+ {*}[expr {[info exists ::env(GLOBAL_ROUTE_ARGS)] ? $::env(GLOBAL_ROUTE_ARGS) : \
27+ {-congestion_iterations 20 -congestion_report_iter_step 5 -verbose}}]
28+
4929
5030set_propagated_clock [all_clocks]
5131estimate_parasitics -global_routing
0 commit comments