-
Notifications
You must be signed in to change notification settings - Fork 653
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OpenROAD complete backend with nangate45 #608
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems reasonable.
I'm not sure we need all the commented out hammer settings but perhaps once P&R is running we might so its fine to wait on this PR until then.
vlsi/Makefile
Outdated
HAMMER_EXEC ?= ./example-vlsi | ||
INPUT_CONFS ?= $(if $(filter $(tech_name),nangate45),\ | ||
example-nangate45.yml,\ | ||
example.yml) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps we should name eaxmple.yml example-asap7.yml?
@@ -0,0 +1,144 @@ | |||
# Technology Setup | |||
# Technology used is nanagate45 | |||
vlsi.core.technology: nangate45 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We might want to separate out the yaml into generic settings and tech specific settings, so we would have an:
example.yml
example-asap7.yml
example-nangate45.yml
And it optionally includes the right pair based on tech_name
vlsi/example-vlsi-nangate45
Outdated
return True | ||
|
||
class ExampleDriver(CLIDriver): | ||
def get_extra_par_hooks(self) -> List[HammerToolHookAction]: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we just have a generic exampleDriver that inspects os.env(tech_name)
and includes the get hooks programmatically.
The magic of hammer 🎉
I know this is still a draft, but I would appreciate seeing docs associated with this. |
ifneq ($(CUSTOM_VLOG), ) | ||
OBJ_DIR ?= $(VLSI_OBJ_DIR)/custom-$(VLSI_TOP) | ||
ifneq ($(CUSTOM_VLOG),) | ||
OBJ_DIR ?= $(VLSI_OBJ_DIR)/custom-$(VLSI_TOP) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do these spaces line something up? It seems like they unalign these ?=
operators.
@@ -7,21 +11,24 @@ 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(''' | |||
if x.get_setting("vlsi.core.technology") == "asap7": |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is a nicer way to do this now but this is ok for the time being.
overview
results