Added "synth -nofsm"
authorClifford Wolf <clifford@clifford.at>
Thu, 2 Jul 2015 13:25:38 +0000 (15:25 +0200)
committerClifford Wolf <clifford@clifford.at>
Thu, 2 Jul 2015 13:25:38 +0000 (15:25 +0200)
techlibs/common/synth.cc

index 4c819e23026e1081080f09895ac9edf387432587..9d71feef1d3b3f644b36c9cec4b21abee59785fb 100644 (file)
@@ -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");