Skip to content

Commit

Permalink
move simultaneous setup hold attr to open_chip script only if ran_wri…
Browse files Browse the repository at this point in the history
…te_design. Previously this was done before final DB was written, causing hierarchical flow to fail (#849)
  • Loading branch information
harrisonliew authored Mar 10, 2024
1 parent f42634e commit 76d3cbb
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions hammer/par/innovus/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -928,10 +928,6 @@ def write_regs(self) -> bool:
return True

def write_design(self) -> bool:
# Because implementation is done, enable report_timing -early/late and SDF writing
# without recalculating timing graph for each analysis view
self.append("set_db timing_enable_simultaneous_setup_hold_mode true")

# Save the Innovus design.
self.verbose_append("write_db {lib_name} -def -verilog".format(
lib_name=self.output_innovus_lib_name
Expand Down Expand Up @@ -1026,6 +1022,11 @@ def run_innovus(self) -> bool:
self.output.clear()
assert super().do_pre_steps(self.first_step)
self.append("read_db latest")
if self.ran_write_design:
# Because implementation is done, enable report_timing -early/late and SDF writing
# without recalculating timing graph for each analysis view
self.append("set_db timing_enable_simultaneous_setup_hold_mode true")

self.write_contents_to_path("\n".join(self.output), self.open_chip_tcl)

with open(self.open_chip_script, "w") as f:
Expand Down

0 comments on commit 76d3cbb

Please sign in to comment.