diff options
author | Clifford Wolf <clifford@clifford.at> | 2013-05-24 15:34:25 +0200 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2013-05-24 15:34:25 +0200 |
commit | cc587fb5f397a1fcb63c829422106f590ef9095c (patch) | |
tree | 026c9af7689fba44fde54e8d582a1c6840f17781 | |
parent | cc0540412832859d28e5c24c8be95c725c10ed19 (diff) | |
download | yosys-cc587fb5f397a1fcb63c829422106f590ef9095c.tar.gz yosys-cc587fb5f397a1fcb63c829422106f590ef9095c.tar.bz2 yosys-cc587fb5f397a1fcb63c829422106f590ef9095c.zip |
Added -nodetect option to fsm pass
-rw-r--r-- | passes/fsm/fsm.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/passes/fsm/fsm.cc b/passes/fsm/fsm.cc index b4d7bc46f..1feeaf8b3 100644 --- a/passes/fsm/fsm.cc +++ b/passes/fsm/fsm.cc @@ -33,7 +33,7 @@ struct FsmPass : public Pass { 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_detect unless got option -nodetect\n"); log(" fsm_extract\n"); log("\n"); log(" fsm_opt\n"); @@ -65,6 +65,7 @@ struct FsmPass : public Pass { { bool flag_nomap = false; bool flag_norecode = false; + bool flag_nodetect = false; bool flag_expand = false; bool flag_export = false; std::string fm_set_fsm_file_opt; @@ -84,6 +85,10 @@ struct FsmPass : public Pass { encoding_opt = " -encoding " + args[++argidx]; continue; } + if (arg == "-nodetect") { + flag_nodetect = true; + continue; + } if (arg == "-norecode") { flag_norecode = true; continue; @@ -104,7 +109,8 @@ struct FsmPass : public Pass { } extra_args(args, argidx, design); - Pass::call(design, "fsm_detect"); + if (!flag_nodetect) + Pass::call(design, "fsm_detect"); Pass::call(design, "fsm_extract"); Pass::call(design, "fsm_opt"); |