Skip to content

Commit 820ac1f

Browse files
authored
Fix setting top/bottom routing layers in Innovus (#794)
Move setting of routing layers to the end of the `init_design` Hammer step, to after tech LEFs are loaded.
1 parent 53eeba0 commit 820ac1f

File tree

1 file changed

+13
-12
lines changed

1 file changed

+13
-12
lines changed

hammer/par/innovus/__init__.py

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -249,18 +249,6 @@ def init_design(self) -> bool:
249249
# Match SDC time units to timing libraries
250250
verbose_append("set_library_unit -time 1{}".format(self.get_time_unit().value_prefix + self.get_time_unit().unit))
251251

252-
# Set the top and bottom global/detail routing layers.
253-
layers = self.get_setting("vlsi.technology.routing_layers")
254-
if layers is not None:
255-
if self.version() >= self.version_number("201"):
256-
verbose_append(f"set_db design_bottom_routing_layer {layers[0]}")
257-
verbose_append(f"set_db design_top_routing_layer {layers[1]}")
258-
else:
259-
verbose_append(f"set_db route_early_global_bottom_layer {layers[0]}")
260-
verbose_append(f"set_db route_early_global_top_layer {layers[1]}")
261-
verbose_append(f"set_db route_design_bottom_layer {layers[0]}")
262-
verbose_append(f"set_db route_design_top_layer {layers[1]}")
263-
264252
# Read LEF layouts.
265253
lef_files = self.technology.read_libs([
266254
hammer_tech.filters.lef_filter
@@ -313,6 +301,19 @@ def init_design(self) -> bool:
313301
for l in self.generate_power_spec_commands():
314302
verbose_append(l)
315303

304+
# Set the top and bottom global/detail routing layers.
305+
# This must happen after the tech LEF is loaded
306+
layers = self.get_setting("vlsi.technology.routing_layers")
307+
if layers is not None:
308+
if self.version() >= self.version_number("201"):
309+
verbose_append(f"set_db design_bottom_routing_layer {layers[0]}")
310+
verbose_append(f"set_db design_top_routing_layer {layers[1]}")
311+
else:
312+
verbose_append(f"set_db route_early_global_bottom_layer {layers[0]}")
313+
verbose_append(f"set_db route_early_global_top_layer {layers[1]}")
314+
verbose_append(f"set_db route_design_bottom_layer {layers[0]}")
315+
verbose_append(f"set_db route_design_top_layer {layers[1]}")
316+
316317
# Set design effort.
317318
verbose_append("set_db design_flow_effort {}".format(self.get_setting("par.innovus.design_flow_effort")))
318319

0 commit comments

Comments
 (0)