Skip to content

Commit c0fc69c

Browse files
committed
fast route: avoid repetition
Signed-off-by: Øyvind Harboe <[email protected]>
1 parent 140df62 commit c0fc69c

File tree

7 files changed

+19
-34
lines changed

7 files changed

+19
-34
lines changed

flow/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,9 @@ export GENERATE_ARTIFACTS_ON_FAILURE ?= 0
134134
# Try fixing all violating endpoints by default (reduce to 5% for runtime)
135135
export TNS_END_PERCENT ?=100
136136

137+
# Default routing layer adjustment
138+
export ROUTING_LAYER_ADJUSTMENT ?= 0.5
139+
137140
# If we are running headless use offscreen rendering for save_image
138141
ifndef DISPLAY
139142
export QT_QPA_PLATFORM ?= offscreen

flow/designs/asap7/mock-array/config.mk

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,14 +61,12 @@ power:
6161
# violations.
6262
export DETAILED_ROUTE_ARGS = -bottom_routing_layer M2 -top_routing_layer M7 -save_guide_updates -verbose 1 -droute_end_iter 15
6363

64-
# since we are specifying DETAILED_ROUTE_ARGS, we need to communicate the
65-
# same information to other stages in the flow.
6664
export MIN_ROUTING_LAYER = M2
6765
export MAX_ROUTING_LAYER = M7
66+
export ROUTING_LAYER_ADJUSTMENT = 0.45
6867

6968
# works with 28 or more iterations as of writing, so give it a few more.
7069
export GLOBAL_ROUTE_ARGS=-congestion_iterations 40 -verbose
71-
export FASTROUTE_TCL = ./designs/$(PLATFORM)/mock-array/fastroute.tcl
7270

7371
# ensure we have some rows, so we don't get a bad clock skew.
7472
export MACRO_HALO_X = 0.5

flow/designs/asap7/mock-array/fastroute.tcl

Lines changed: 0 additions & 3 deletions
This file was deleted.

flow/scripts/global_place.tcl

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,7 @@ load_design 3_2_place_iop.odb 2_floorplan.sdc
44

55
set_dont_use $::env(DONT_USE_CELLS)
66

7-
# set fastroute layer reduction
8-
if {[info exist env(FASTROUTE_TCL)]} {
9-
source $env(FASTROUTE_TCL)
10-
} else {
11-
set_global_routing_layer_adjustment $env(MIN_ROUTING_LAYER)-$env(MAX_ROUTING_LAYER) 0.5
12-
set_routing_layers -signal $env(MIN_ROUTING_LAYER)-$env(MAX_ROUTING_LAYER)
13-
if {[info exist env(MACRO_EXTENSION)]} {
14-
set_macro_extension $env(MACRO_EXTENSION)
15-
}
16-
}
7+
fast_route
178

189
source $::env(SCRIPTS_DIR)/set_place_density.tcl
1910

flow/scripts/global_route.tcl

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,7 @@ proc global_route_helper {} {
1010
source $::env(PRE_GLOBAL_ROUTE)
1111
}
1212

13-
if {[info exist ::env(FASTROUTE_TCL)]} {
14-
source $::env(FASTROUTE_TCL)
15-
} else {
16-
set_global_routing_layer_adjustment $::env(MIN_ROUTING_LAYER)-$::env(MAX_ROUTING_LAYER) 0.5
17-
set_routing_layers -signal $::env(MIN_ROUTING_LAYER)-$::env(MAX_ROUTING_LAYER)
18-
if {[info exist ::env(MACRO_EXTENSION)]} {
19-
set_macro_extension $::env(MACRO_EXTENSION)
20-
}
21-
}
13+
fast_route
2214

2315
# The default behavior if the user didn't specify GLOBAL_ROUTE_ARGS is to
2416
# produce a drc report every 5 iterations.

flow/scripts/gui.tcl

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,7 @@ if {![info exist ::env(GUI_NO_TIMING)]} {
5353
log_cmd estimate_parasitics -placement
5454
}
5555

56-
if {[info exist env(FASTROUTE_TCL)]} {
57-
source $env(FASTROUTE_TCL)
58-
} else {
59-
set_global_routing_layer_adjustment $env(MIN_ROUTING_LAYER)-$env(MAX_ROUTING_LAYER) 0.5
60-
set_routing_layers -signal $env(MIN_ROUTING_LAYER)-$env(MAX_ROUTING_LAYER)
61-
if {[info exist env(MACRO_EXTENSION)]} {
62-
set_macro_extension $env(MACRO_EXTENSION)
63-
}
64-
}
56+
fast_route
6557

6658
# Cleanup temporary variables
6759
unset sdc_file s design_stage

flow/scripts/util.tcl

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,15 @@ proc log_cmd {cmd args} {
22
puts "$cmd [join $args " "]"
33
$cmd {*}$args
44
}
5+
6+
proc fast_route {} {
7+
if {[info exist env(FASTROUTE_TCL)]} {
8+
source $::env(FASTROUTE_TCL)
9+
} else {
10+
set_global_routing_layer_adjustment $::env(MIN_ROUTING_LAYER)-$::env(MAX_ROUTING_LAYER) $::env(ROUTING_LAYER_ADJUSTMENT)
11+
set_routing_layers -signal $::env(MIN_ROUTING_LAYER)-$::env(MAX_ROUTING_LAYER)
12+
if {[info exist env(MACRO_EXTENSION)]} {
13+
set_macro_extension $::env(MACRO_EXTENSION)
14+
}
15+
}
16+
}

0 commit comments

Comments
 (0)