diff options
Diffstat (limited to 'passes/fsm/fsm.cc')
-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 1e7c77727..e76be40c2 100644 --- a/passes/fsm/fsm.cc +++ b/passes/fsm/fsm.cc @@ -61,6 +61,7 @@ struct FsmPass : public Pass { log("\n"); log(" -encoding tye\n"); log(" -fm_set_fsm_file file\n"); + log(" -encfile file\n"); log(" passed through to fsm_recode pass\n"); log("\n"); } @@ -72,6 +73,7 @@ struct FsmPass : public Pass { bool flag_expand = false; bool flag_export = false; std::string fm_set_fsm_file_opt; + std::string encfile_opt; std::string encoding_opt; log_header("Executing FSM pass (extract and optimize FSM).\n"); @@ -84,7 +86,11 @@ struct FsmPass : public Pass { fm_set_fsm_file_opt = " -fm_set_fsm_file " + args[++argidx]; continue; } - if (arg == "-encoding" && argidx+1 < args.size() && fm_set_fsm_file_opt.empty()) { + if (arg == "-encfile" && argidx+1 < args.size() && encfile_opt.empty()) { + encfile_opt = " -encfile " + args[++argidx]; + continue; + } + if (arg == "-encoding" && argidx+1 < args.size() && encoding_opt.empty()) { encoding_opt = " -encoding " + args[++argidx]; continue; } @@ -127,7 +133,7 @@ struct FsmPass : public Pass { } if (!flag_norecode) - Pass::call(design, "fsm_recode" + fm_set_fsm_file_opt + encoding_opt); + Pass::call(design, "fsm_recode" + fm_set_fsm_file_opt + encfile_opt + encoding_opt); Pass::call(design, "fsm_info"); if (flag_export) |