Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fusesoc-openroad

fusesoc-openroad is an Edalize Flow API tool plugin for OpenROAD Flow Scripts. It replaces Edalize's legacy Tool API backend so OpenROAD can be composed with Flow API frontends such as fusesoc-chisel.

Install it in the same Python environment as FuseSoC:

pip install "fusesoc-openroad @ git+https://github.com/HardMatrix/fusesoc-openroad.git"

For development, clone this repository and run pip install -e '.[test]'.

The core must resolve exactly one Makefile, one configFile, and one SDC file. Verilog and SystemVerilog sources are written to files.txt; include directories are written to incdirs.txt. The launcher Makefile is copied to openroad.mk because Edalize's build runner owns the build-root Makefile.

Select the plugin through the generic Flow API:

targets:
  openroad:
    filesets: [rtl, openroad_files]
    toplevel: my_top
    flow: generic
    flow_options:
      tool: openroad
      flow_path: /OpenROAD-flow-scripts/flow
      make_target: synth-report

For a Chisel design, add the frontend and its normal options:

flow_options:
  frontends: [chisel]
  tool: openroad
  flow_path: /OpenROAD-flow-scripts/flow
  make_target: synth-report
  chisel_main_class: example.EmitMyTop
  chisel_scala_version: 2.13.15
  chisel_version: 7.11.0

flow_path is required. Relative paths are resolved from the FuseSoC build directory. make_target defaults to finish.

About

Edalize Flow API tool plugin for OpenROAD Flow Scripts

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages