summaryrefslogtreecommitdiff
path: root/passes/fsm/fsm.cc
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2013-03-01 12:35:12 +0100
committerClifford Wolf <clifford@clifford.at>2013-03-01 12:35:12 +0100
commita338d1a082726d84210912318a9ac49977dc380c (patch)
treee025f50cbc314b882c911aaa4083f91608836cac /passes/fsm/fsm.cc
parentf3a849512f2c7def98fcfa56de74d8a6bdc8b8fc (diff)
Added help messages for fsm_* passes
Diffstat (limited to 'passes/fsm/fsm.cc')
-rw-r--r--passes/fsm/fsm.cc38
1 files changed, 37 insertions, 1 deletions
diff --git a/passes/fsm/fsm.cc b/passes/fsm/fsm.cc
index 61322fbd..c0c42de9 100644
--- a/passes/fsm/fsm.cc
+++ b/passes/fsm/fsm.cc
@@ -23,7 +23,43 @@
#include <stdio.h>
struct FsmPass : public Pass {
- FsmPass() : Pass("fsm") { }
+ FsmPass() : Pass("fsm", "extract and optimize finite state machines") { }
+ virtual void help()
+ {
+ // |---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|
+ log("\n");
+ log(" fsm [options] [selection]\n");
+ log("\n");
+ log("This pass calls all the other fsm_* passes in a useful order. This performs\n");
+ log("FSM extraction and optimiziation. It also calls opt_rmunused as needed:\n");
+ log("\n");
+ log(" fsm_detect\n");
+ log(" fsm_extract\n");
+ log("\n");
+ log(" fsm_opt\n");
+ log(" opt_rmunused\n");
+ log(" fsm_opt\n");
+ log("\n");
+ log(" fsm_expand if got option -expand\n");
+ log(" opt_rmunused if got option -expand\n");
+ log(" fsm_opt if got option -expand\n");
+ log("\n");
+ log(" fsm_recode unless got option -norecode\n");
+ log("\n");
+ log(" fsm_info\n");
+ log("\n");
+ log(" fsm_export if got option -export\n");
+ log(" fsm_map unless got option -nomap\n");
+ log("\n");
+ log("Options:\n");
+ log("\n");
+ log(" -expand, -norecode, -export, -nomap\n");
+ log(" enable or disable passes as indicated above\n");
+ log("\n");
+ log(" -fm_set_fsm_file file\n");
+ log(" passed through to fsm_recode pass\n");
+ log("\n");
+ }
virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
{
bool flag_nomap = false;