gui: add gui/open_yosys targets#3857
gui: add gui/open_yosys targets#3857oharboe wants to merge 3 commits intoThe-OpenROAD-Project:masterfrom
Conversation
Useful when viewing a netlist with blackboxed modules where there's no .odb file in parallel synthesi Signed-off-by: Øyvind Harboe <[email protected]>
|
@maliberty Recently write_db will no longer write out .odb files with blackboxed submodules, I believe an intentional sanity check, so this covers the view timing for netlist use-case. |
There was a problem hiding this comment.
Pull request overview
This PR adds support for opening Verilog netlist files (.v) in the OpenROAD GUI, which is useful when viewing netlists with blackboxed modules during hierarchical synthesis where no .odb file exists yet.
Changes:
- Added support for reading Verilog files directly in the GUI
- Created a new
gui_yosystarget for viewing Yosys synthesis outputs - Extended the file opening logic to handle
.vfiles alongside existing.odband.defformats
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| flow/scripts/variables.mk | Exports RESULTS_V variable to track Verilog files in results directory |
| flow/scripts/open.tcl | Adds conditional logic to read Verilog files with LEF libraries when no ODB/DEF exists |
| flow/designs/asap7/minimal/README.md | Documents the new gui_yosys target for viewing netlists with blackboxed modules |
| flow/Makefile | Registers the gui_yosys shortcut and enables GUI opening for all .v files in results |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <[email protected]> Signed-off-by: Øyvind Harboe <[email protected]>
|
@maliberty unrelated mock-cpu (mesochronous-fifo) QoR failures: |
|
Please explain the write_db issue. You probably need to merge master for the metrics issue. |
If I use SYNTH_BLACKBOXES for a module, write_db no longer will save a .odb file, but fails. I thought this was an intentional sanity check? |
|
did a merge, pr head passed, pr merge failed. @maliberty so master is a bit flaky now? |
|
In what way does write_db fail? I'm not sure what sanity check you are describing. |
|
It says there is no master for the blackboxed module, as I recall. |
|
Example: |
|
@maliberty Merge? I think this is a nice addition, even if The-OpenROAD-Project/OpenROAD#9413 is/should be fixed. |
|
That error isn't related to write_db. It is a sanity check as you can't do physical design without a LEF to give a physical description. Do you not have a LEF or have you not loaded it? |
Neither: I'm doing hierarchical synthesis. Hierarchical Synthesis with Bazel-ORFSThe ConceptHierarchical synthesis breaks a large design into parallelizable chunks to save time and memory. Instead of a single "flat" synthesis run, you treat sub-modules as independent entities. 1. Parallel SynthesisDefine a list of modules to be synthesized simultaneously. Bazel handles the scheduling, ensuring each module is mapped to gates in its own isolated process. 2. Blackboxing and synthesizing each module separately as a top moduleEach module in that list is synthesized as a top module. When synthesizing each Top module, use
3. Netlist AssemblySince the outputs are structural Verilog, the final step is a simple file concatenation. cat sub_module_A.v sub_module_B.v top_level.v > final_netlist.v |
Useful when viewing a netlist with blackboxed modules where there's no .odb file in parallel synthesi