aboutsummaryrefslogtreecommitdiffstats
path: root/passes
diff options
context:
space:
mode:
authorPeder Bergebakken Sundt <pbsds@hotmail.com>2020-08-20 22:58:08 +0200
committerPeder Bergebakken Sundt <pbsds@hotmail.com>2020-08-20 22:58:08 +0200
commit656ee70f8eae4be7f7a8944a6b7bb793f0db1c67 (patch)
tree08ed4255412aeeab1852f9f7ba4be331d0300843 /passes
parent034b9ec7161d67e861b1befcc4c550bff4481387 (diff)
downloadyosys-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.cc11
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");