From f7735dedc0c3eb9744695af61de230864b05d12d Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Tue, 4 Jun 2019 12:18:34 -0700 Subject: [PATCH] Use new API for par hooks | fix typo --- vlsi/Makefile | 2 +- vlsi/example-vlsi | 25 ++++--------------------- 2 files changed, 5 insertions(+), 22 deletions(-) diff --git a/vlsi/Makefile b/vlsi/Makefile index 5b6390b7..193ed0b4 100644 --- a/vlsi/Makefile +++ b/vlsi/Makefile @@ -26,7 +26,7 @@ include $(base_dir)/common.mk #sim_name is unused, but GenerateSimFiles expects it sim_name ?= vcs tech_name ?= -tech_dir ?= $(vlsi_dir)/hammer-$(tech_nam)-plugin/$(tech_name) +tech_dir ?= $(vlsi_dir)/hammer-$(tech_name)-plugin/$(tech_name) SMEMS_COMP ?= $(tech_dir)/sram-compiler.json SMEMS_HAMMER ?= $(build_dir)/$(long_name).mems.hammer.json MACROCOMPILER_MODE ?= -l $(SMEMS_COMP) --use-compiler -hir $(SMEMS_HAMMER) diff --git a/vlsi/example-vlsi b/vlsi/example-vlsi index 90ddec3c..3f65d9a5 100755 --- a/vlsi/example-vlsi +++ b/vlsi/example-vlsi @@ -1,9 +1,9 @@ #!/usr/bin/env python3 import hammer_vlsi -from hammer_vlsi import CLIDriver +from hammer_vlsi import CLIDriver, HammerToolHookAction -from typing import Dict, Callable, Optional +from typing import Dict, Callable, Optional, List def example_place_tap_cells(x: hammer_vlsi.HammerTool) -> bool: x.append(''' @@ -12,25 +12,8 @@ def example_place_tap_cells(x: hammer_vlsi.HammerTool) -> bool: return True class ExampleDriver(CLIDriver): - - def action_map(self) -> Dict[str, Callable[[hammer_vlsi.HammerDriver, Callable[[str], None]], Optional[dict]]]: - par_action = self.create_par_action(custom_hooks=[ - hammer_vlsi.HammerTool.make_replacement_hook("place_tap_cells", example_place_tap_cells) - ]) - - new_dict = dict(super().action_map()) - new_dict.update({ - "par": par_action - }) - return new_dict - - def par_action(self, driver: hammer_vlsi.HammerDriver, append_error_func: Callable[[str], None]) -> Optional[dict]: - if not driver.load_par_tool(): - return None - success, par_output = driver.run_par(hook_actions=[ - hammer_vlsi.HammerTool.make_replacement_hook("place_tap_cells", example_place_tap_cells) - ]) - return par_output + def get_extra_par_hooks(self) -> List[HammerToolHookAction]: + return [hammer_vlsi.HammerTool.make_replacement_hook("place_tap_cells", example_place_tap_cells)] if __name__ == '__main__': ExampleDriver().main()