diff options
author | Peder Bergebakken Sundt <pbsds@hotmail.com> | 2020-08-20 22:58:08 +0200 |
---|---|---|
committer | Peder Bergebakken Sundt <pbsds@hotmail.com> | 2020-08-20 22:58:08 +0200 |
commit | 656ee70f8eae4be7f7a8944a6b7bb793f0db1c67 (patch) | |
tree | 08ed4255412aeeab1852f9f7ba4be331d0300843 /passes | |
parent | 034b9ec7161d67e861b1befcc4c550bff4481387 (diff) | |
download | yosys-656ee70f8eae4be7f7a8944a6b7bb793f0db1c67.tar.gz yosys-656ee70f8eae4be7f7a8944a6b7bb793f0db1c67.tar.bz2 yosys-656ee70f8eae4be7f7a8944a6b7bb793f0db1c67.zip |
proc: Add -nomux switch
running proc -nomux will ommit the proc_mux pass
Diffstat (limited to 'passes')
-rw-r--r-- | passes/proc/proc.cc | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/passes/proc/proc.cc b/passes/proc/proc.cc index f20a167b4..09cf0af82 100644 --- a/passes/proc/proc.cc +++ b/passes/proc/proc.cc @@ -50,6 +50,9 @@ struct ProcPass : public Pass { log("\n"); log("The following options are supported:\n"); log("\n"); + log(" -nomux\n"); + log(" Will omit the proc_mux pass.\n"); + log("\n"); log(" -global_arst [!]<netname>\n"); log(" This option is passed through to proc_arst.\n"); log("\n"); @@ -62,6 +65,7 @@ struct ProcPass : public Pass { { std::string global_arst; bool ifxmode = false; + bool nomux = false; log_header(design, "Executing PROC pass (convert processes to netlists).\n"); log_push(); @@ -69,6 +73,10 @@ struct ProcPass : public Pass { size_t argidx; for (argidx = 1; argidx < args.size(); argidx++) { + if (args[argidx] == "-nomux") { + nomux = true; + continue; + } if (args[argidx] == "-global_arst" && argidx+1 < args.size()) { global_arst = args[++argidx]; continue; @@ -90,7 +98,8 @@ struct ProcPass : public Pass { Pass::call(design, "proc_arst"); else Pass::call(design, "proc_arst -global_arst " + global_arst); - Pass::call(design, ifxmode ? "proc_mux -ifx" : "proc_mux"); + if (!nomux) + Pass::call(design, ifxmode ? "proc_mux -ifx" : "proc_mux"); Pass::call(design, "proc_dlatch"); Pass::call(design, "proc_dff"); Pass::call(design, "proc_clean"); |