From cc587fb5f397a1fcb63c829422106f590ef9095c Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Fri, 24 May 2013 15:34:25 +0200 Subject: [PATCH] Added -nodetect option to fsm pass --- passes/fsm/fsm.cc | 10 ++++++++-- 1 file 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"); -- 2.30.2