fsm - extract and optimize finite state machines¶
yosys> help fsm
¶
fsm [options] [selection]
This pass calls all the other fsm_* passes in a useful order. This performs
FSM extraction and optimization. It also calls opt_clean as needed:
fsm_detect unless got option -nodetect
fsm_extract
fsm_opt
opt_clean
fsm_opt
fsm_expand if got option -expand
opt_clean if got option -expand
fsm_opt if got option -expand
fsm_recode unless got option -norecode
fsm_info
fsm_export if got option -export
fsm_map unless got option -nomap
Options:
-expand, -norecode, -export, -nomap
enable or disable passes as indicated above
-fullexpand
call expand with -full option
-encoding type
-fm_set_fsm_file file
-encfile file
passed through to fsm_recode pass
This pass uses a subset of FF types to detect FSMs. Run 'opt -nosdff -nodffe'
before this pass to prepare the design.
The Verific frontend may merge multiplexers in a way that interferes with FSM
detection. Run 'verific -cfg db_infer_wide_muxes_post_elaboration 0' before
reading the source, and 'bmuxmap' after 'proc' for best results.