summaryrefslogtreecommitdiff
path: root/passes/fsm/fsm.cc
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2015-01-30 22:46:53 +0100
committerClifford Wolf <clifford@clifford.at>2015-01-30 22:46:53 +0100
commitbedd46338fecd93c4c1c3b35017c26b080a990dc (patch)
tree31f9bb2dc720aba9fbf5c77373db16583a0ac547 /passes/fsm/fsm.cc
parentaabd5097ed84182c1bd32dc94abcc1205dc25d09 (diff)
Added "fsm -encfile"
Diffstat (limited to 'passes/fsm/fsm.cc')
-rw-r--r--passes/fsm/fsm.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/passes/fsm/fsm.cc b/passes/fsm/fsm.cc
index 1e7c7772..e76be40c 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)