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-reportFor 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.0flow_path is required. Relative paths are resolved from the FuseSoC build
directory. make_target defaults to finish.