Skip to content
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

Merged
merged 6 commits into from
Jul 30, 2020
Merged

OpenROAD complete backend with nangate45 #608

merged 6 commits into from
Jul 30, 2020

Conversation

ssteffl
Copy link
Contributor

@ssteffl ssteffl commented Jun 18, 2020

overview

  • this assumes a pristine OpenROAD-flow installation somewhere on the machine. no hacks to OpenROAD-flow used
  • the default OpenROAD-flow tcl-scripts are used to drive the tools. hammer just sets up run directories/configs
  • documentation not complete, and several TODOs in the code
  • ran on personal laptop running Ubuntu 18

results

  • default RocketConfig makes it through non-hierarchical srams,synthesis,par,drc
  • all def/gds outputs look reasonable after each steppnr
  • quality issues with drc and PPA reports after routing
  • no simulation possible since no stdcell behavioral models exist
  • no lvs possible since no stdcell spice/cdl exists
  • syn+pnr take ~4 hours, drc might not finish

Copy link
Contributor

@colinschmidt colinschmidt left a 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)
Copy link
Contributor

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
Copy link
Contributor

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

return True

class ExampleDriver(CLIDriver):
def get_extra_par_hooks(self) -> List[HammerToolHookAction]:
Copy link
Contributor

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 🎉

@alonamid
Copy link
Contributor

I know this is still a draft, but I would appreciate seeing docs associated with this.

@ssteffl ssteffl changed the title OpenROAD synthesis complete with fake rams on nangate45 OpenROAD complete backend with nangate45 Jun 24, 2020
ifneq ($(CUSTOM_VLOG), )
OBJ_DIR ?= $(VLSI_OBJ_DIR)/custom-$(VLSI_TOP)
ifneq ($(CUSTOM_VLOG),)
OBJ_DIR ?= $(VLSI_OBJ_DIR)/custom-$(VLSI_TOP)
Copy link
Contributor

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":
Copy link
Contributor

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.

@ssteffl ssteffl marked this pull request as ready for review July 30, 2020 23:25
@ssteffl ssteffl merged commit 88fceaf into dev Jul 30, 2020
@alonamid alonamid mentioned this pull request Nov 24, 2020
@therbom therbom mentioned this pull request Aug 25, 2022
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants