Generic¶
prep - generic synthesis script¶
- yosys> help prep¶
- prep [options]¶
This command runs a conservative RTL synthesis. A typical application for this is the preparation stage of a verification flow. This command does not operate on partly selected designs.
-top <module>use the specified module as top module (default='top')
-auto-topautomatically determine the top of the design hierarchy
-flattenflatten the design before synthesis. this will pass '-auto-top' to 'hierarchy' if no top module is specified.
-ifxpassed to 'proc'. uses verilog simulation behavior for verilog if/case undef handling. this also prevents 'wreduce' from being run.
-memxsimulate verilog simulation behavior for out-of-bounds memory accesses using the 'memory_memx' pass.
-nomemdo not run any of the memory_* passes
-rdffcall 'memory_dff'. This enables merging of FFs into memory read ports.
-nokeepdcdo not call opt_* with -keepdc
-run <from_label>[:<to_label>]only run the commands between the labels (see below). an empty from label is synonymous to 'begin', and empty to label is synonymous to the end of the command list.
The following commands are executed by this synthesis command:
begin: hierarchy -check [-top <top> | -auto-top] coarse: proc [-ifx] flatten (if -flatten) future opt_expr -keepdc opt_clean check opt -noff -keepdc wreduce -keepdc [-memx] memory_dff (if -rdff) memory_memx (if -memx) opt_clean memory_collect opt -noff -keepdc -fast check: stat check
Note
Help text automatically generated from
techlibs/common/prep.cc:30
synth - generic synthesis script¶
- yosys> help synth¶
- synth [options]¶
This command runs the default synthesis script. This command does not operate on partly selected designs.
-top <module>use the specified module as top module (default='top')
-auto-topautomatically determine the top of the design hierarchy
-flattenflatten the design before synthesis. this will pass '-auto-top' to 'hierarchy' if no top module is specified.
-hieroptenable hierarchical optimization. this option is useful when `-flatten' is not used, or when selected modules are marked with 'keep_hierarchy'
. to prevent their dissolution.
-encfile <file>passed to 'fsm_recode' via 'fsm'
-lut <k>perform synthesis for a k-LUT architecture.
-nofsmdo not run FSM optimization
-noabcdo not run abc (as if yosys was compiled without ABC support)
-boothrun the booth pass to map $mul to Booth encoded multipliers
-noalumaccdo not run 'alumacc' pass. i.e. keep arithmetic operators in their direct form ($add, $sub, etc.).
-nordffpassed to 'memory'. prohibits merging of FFs into memory read ports
-nosharedo not run SAT-based resource sharing
-run <from_label>[:<to_label>]only run the commands between the labels (see below). an empty from label is synonymous to 'begin', and empty to label is synonymous to the end of the command list.
-abc9use new ABC9 flow (EXPERIMENTAL)
-flowmapuse FlowMap LUT techmapping instead of ABC
-no-rw-checkmarks all recognized read ports as "return don't-care value on read/write collision" (same result as setting the no_rw_check attribute on all memories).
-extra-map filenamesource extra rules from the given file to complement the default mapping library in the `techmap` step. this option can be repeated.
-relativeshareuse paths relative to share directory for source locations where possible (experimental).
The following commands are executed by this synthesis command:
begin: hierarchy -check [-top <top> | -auto-top] coarse: proc flatten (if -flatten) opt_expr opt_clean check opt -nodffe -nosdff fsm (unless -nofsm) opt [-hier] wreduce peepopt opt_clean techmap -map +/cmp2lut.v -map +/cmp2lcu.v (if -lut) booth (if -booth) alumacc (unless -noalumacc) share (unless -noshare) opt [-hier] memory -nomap opt_clean fine: opt -fast -full [-hier] memory_map opt -full techmap (unless -extra-map) techmap -map +/techmap.v -map <inject> (if -extra-map) techmap -map +/gate2lut.v (if -noabc and -lut) clean; opt_lut (if -noabc and -lut) flowmap -maxlut K (if -flowmap and -lut) opt -fast [-hier] abc -fast (unless -noabc, unless -lut) abc -fast -lut k (unless -noabc, if -lut) opt -fast (unless -noabc) check: hierarchy -check stat check
Note
Help text automatically generated from
techlibs/common/synth.cc:29