diff --git a/flow/designs/asap7/mock-array/Element/config.mk b/flow/designs/asap7/mock-array/Element/config.mk index 13d088e04e..7965743b6a 100644 --- a/flow/designs/asap7/mock-array/Element/config.mk +++ b/flow/designs/asap7/mock-array/Element/config.mk @@ -30,8 +30,12 @@ export PDN_TCL = $(FLOW_HOME)/platforms/asap7/openRoad/pdn/BLOCK_ export DETAILED_ROUTE_END_ITERATION = 6 export MIN_ROUTING_LAYER = M2 +# M5 is the top PDN layer, so don't exceed that. export MAX_ROUTING_LAYER = M5 +export IO_PLACER_H=M2 M4 +export IO_PLACER_V=M3 M5 + export PLACE_PINS_ARGS = -annealing export GND_NETS_VOLTAGES = diff --git a/flow/designs/asap7/mock-array/Element/io.tcl b/flow/designs/asap7/mock-array/Element/io.tcl index c2501412fa..ebfd7968bb 100644 --- a/flow/designs/asap7/mock-array/Element/io.tcl +++ b/flow/designs/asap7/mock-array/Element/io.tcl @@ -42,7 +42,10 @@ proc zip {list1 list2} { foreach {direction direction2 names} $assignments { set mirrored [zip {*}$names] set_io_pin_constraint -region $direction2:* -pin_names [lindex $names 1] - set_io_pin_constraint -group -order -pin_names [lindex $names 1] + # Test pins across multiple metal layers; so don't group + # pins as a group of pins must be on a single metal layer. + # + # set_io_pin_constraint -group -order -pin_names [lindex $names 1] set_io_pin_constraint -mirrored_pins $mirrored } diff --git a/flow/designs/asap7/mock-array/config.mk b/flow/designs/asap7/mock-array/config.mk index 0d3ceb5ce8..7bff8603d9 100644 --- a/flow/designs/asap7/mock-array/config.mk +++ b/flow/designs/asap7/mock-array/config.mk @@ -59,8 +59,7 @@ power: # Routing by abutment should be easy, limit iterations export DETAILED_ROUTE_END_ITERATION = 6 -export MIN_ROUTING_LAYER = M2 -export MAX_ROUTING_LAYER = M7 +export MAX_ROUTING_LAYER = M9 export ROUTING_LAYER_ADJUSTMENT = 0.45 # works with 28 or more iterations as of writing, so give it a few more. @@ -73,3 +72,6 @@ export MACRO_HALO_Y = 0.5 export CTS_BUF_DISTANCE = 60 export ADDITIONAL_FILES = designs/src/mock-array/util.tcl + +export IO_PLACER_V = M5 M7 +export IO_PLACER_H = M4 M6