30 lines
947 B
Python
Executable File
30 lines
947 B
Python
Executable File
#!/usr/bin/env python3
|
|
import os
|
|
|
|
import hammer_vlsi
|
|
from hammer_vlsi import CLIDriver, HammerToolHookAction
|
|
|
|
from typing import Dict, Callable, Optional, List
|
|
|
|
def example_place_tap_cells(x: hammer_vlsi.HammerTool) -> bool:
|
|
x.append("")
|
|
return True
|
|
|
|
def example_add_fillers(x: hammer_vlsi.HammerTool) -> bool:
|
|
x.append("")
|
|
return True
|
|
|
|
class ExampleDriver(CLIDriver):
|
|
def get_extra_par_hooks(self) -> List[HammerToolHookAction]:
|
|
extra_hooks = [
|
|
# make_pre_insertion_hook will execute the custom hook before the specified step
|
|
hammer_vlsi.HammerTool.make_pre_insertion_hook("route_design", example_add_fillers),
|
|
|
|
# make_replacement_hook will replace the specified step with a custom hook
|
|
hammer_vlsi.HammerTool.make_replacement_hook("place_tap_cells", example_place_tap_cells),
|
|
]
|
|
return extra_hooks
|
|
|
|
if __name__ == '__main__':
|
|
ExampleDriver().main()
|