Skip to content

Commit a0f1e2b

Browse files
committed
gt2n: set MAX_ROUTING_LAYER per design instead of platform-wide
The platform exposes metal up to M13, but the reference designs route well below that (gcd uses up to M5, jpeg M9, aes M10; layers above carry no wire). Pinning MAX_ROUTING_LAYER at the platform M13 top forced detailed routing to build its grid graph, via stack, and DRC checks across the full layer range for every design, inflating runtime and memory. Move MAX_ROUTING_LAYER out of the platform config (leaving a comment) and set it per design at the highest layer each actually uses. gcd@M5 was verified to route DRC-clean; aes/jpeg caps only drop layers that carry zero wire. Signed-off-by: mrg <mrg@ucsc.edu>
1 parent d388c64 commit a0f1e2b

4 files changed

Lines changed: 21 additions & 1 deletion

File tree

flow/designs/gt2n/aes/config.mk

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,8 @@ export SKIP_INCREMENTAL_REPAIR = 1
1717

1818
export SWAP_ARITH_OPERATORS = 1
1919
export OPENROAD_HIERARCHICAL = 1
20+
21+
# Highest layer aes actually routes on (M11-M13 carry no wire). Capping here
22+
# instead of the platform M13 top shrinks the detailed-route grid, vias, and
23+
# DRC. See platforms/gt2n/config.mk.
24+
export MAX_ROUTING_LAYER = M10

flow/designs/gt2n/gcd/config.mk

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,8 @@ export CORE_UTILIZATION = 25
99
export CORE_MARGIN = 0.5
1010
export PLACE_DENSITY = 0.35
1111
export TNS_END_PERCENT = 100
12+
13+
# Highest layer gcd actually routes on (M6-M13 carry no wire). Capping here
14+
# instead of the platform M13 top shrinks the detailed-route grid, vias, and
15+
# DRC. See platforms/gt2n/config.mk.
16+
export MAX_ROUTING_LAYER = M5

flow/designs/gt2n/jpeg/config.mk

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,8 @@ export CORE_ASPECT_RATIO = 1
1414
export CORE_MARGIN = 2
1515
export PLACE_DENSITY_LB_ADDON = 0.20
1616
export TNS_END_PERCENT = 100
17+
18+
# Highest layer jpeg actually routes on (M10-M13 carry no wire). Capping here
19+
# instead of the platform M13 top shrinks the detailed-route grid, vias, and
20+
# DRC. See platforms/gt2n/config.mk.
21+
export MAX_ROUTING_LAYER = M9

flow/platforms/gt2n/config.mk

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,12 @@ export PLACE_DENSITY ?= 0.40
118118
#---------------------------------------------------------
119119
export MIN_ROUTING_LAYER = M2
120120
export MIN_CLK_ROUTING_LAYER = M3
121-
export MAX_ROUTING_LAYER = M13
121+
# MAX_ROUTING_LAYER is set per design (designs/gt2n/<design>/config.mk), not
122+
# platform-wide. gt2n exposes metal up to M13, but designs route well below
123+
# that (e.g. gcd~M5, jpeg~M9, aes~M10); routing to M13 needlessly grows the
124+
# detailed-route grid graph, via stack, and DRC work for layers that carry no
125+
# wire. Each gt2n design must define MAX_ROUTING_LAYER (the flow requires it)
126+
# at the highest layer it actually needs.
122127

123128
export FASTROUTE_TCL ?= $(PLATFORM_DIR)/fastroute.tcl
124129

0 commit comments

Comments
 (0)