summaryrefslogtreecommitdiff
path: root/techlibs/common/synth.cc
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2015-07-02 15:25:38 +0200
committerClifford Wolf <clifford@clifford.at>2015-07-02 15:25:38 +0200
commitf0c9a099d20bc3ddee55155fe3d37b8d8d189a01 (patch)
tree7a86d8b335576019b833f9f6c04a3fd4769ccf5d /techlibs/common/synth.cc
parent6c84341f22b2758181164e8d5cddd23e3589c90b (diff)
Added "synth -nofsm"
Diffstat (limited to 'techlibs/common/synth.cc')
-rw-r--r--techlibs/common/synth.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/techlibs/common/synth.cc b/techlibs/common/synth.cc
index 4c819e23..9d71feef 100644
--- a/techlibs/common/synth.cc
+++ b/techlibs/common/synth.cc
@@ -55,6 +55,9 @@ struct SynthPass : public Pass {
log(" -encfile <file>\n");
log(" passed to 'fsm_recode' via 'fsm'\n");
log("\n");
+ log(" -nofsm\n");
+ log(" do not run FSM optimization\n");
+ log("\n");
log(" -noabc\n");
log(" do not run abc (as if yosys was compiled without ABC support)\n");
log("\n");
@@ -112,6 +115,7 @@ struct SynthPass : public Pass {
std::string top_module, fsm_opts, memory_opts;
std::string run_from, run_to;
bool noalumacc = false;
+ bool nofsm = false;
bool noabc = false;
size_t argidx;
@@ -136,6 +140,10 @@ struct SynthPass : public Pass {
}
continue;
}
+ if (args[argidx] == "-nofsm") {
+ nofsm = true;
+ continue;
+ }
if (args[argidx] == "-noabc") {
noabc = true;
continue;
@@ -179,7 +187,8 @@ struct SynthPass : public Pass {
Pass::call(design, "alumacc");
Pass::call(design, "share");
Pass::call(design, "opt");
- Pass::call(design, "fsm" + fsm_opts);
+ if (!nofsm)
+ Pass::call(design, "fsm" + fsm_opts);
Pass::call(design, "opt -fast");
Pass::call(design, "memory -nomap" + memory_opts);
Pass::call(design, "opt_clean");