Synthesis#
OpenROAD’s integrated synthesis tool can elaborate SystemVerilog designs and map them to technology.
Commands#
Elaborate#
The sv_elaborate command reads SystemVerilog sources, assembles the design hierarchy, and translates the design to a word-level netlist which can be subsequently synthesized using the synthesize command. This command accepts standard slang command-line options.
sv_elaborate <slang options>
Synthesize#
The synthesize command synthesizes a previously elaborated design, i.e. it implements the design using available standard cells. The mapped gate-level netlist is loaded into OpenROAD’s design database (ODB) for other tools to operate on.
synthesize
[-reduce_name_loss]
[-naming_threshold fanout_size]
Options#
Switch Name |
Description |
|---|---|
|
Disable any optimization steps which would cause mass loss of intermediate signal names. This option trades away quality of results for interpretability. |
|
When using optimization steps which would cause mass loss of intermediate signal names, try to preserve names on nets the fanout of which meets the given threshold. Like |
Limitations#
The integrated synthesis tool does not support mapping to latches, always flattens the design, and loses the names of instantiated macros.
License#
BSD 3-Clause License. See LICENSE file.