aboutsummaryrefslogtreecommitdiffstats
path: root/passes/cmds
diff options
context:
space:
mode:
authorMarcelina Koƛcielnicka <mwk@0x04.net>2022-01-24 16:02:29 +0100
committerMarcelina Koƛcielnicka <mwk@0x04.net>2022-01-28 23:34:41 +0100
commit93508d58dafbbffcedffa70b21a197b6fca8bb30 (patch)
tree4f4bed22749559a1938457015ff875891fd7a40a /passes/cmds
parentdb33b1e535f5ee93dba9ee1cc181b91c482a4dee (diff)
downloadyosys-93508d58dafbbffcedffa70b21a197b6fca8bb30.tar.gz
yosys-93508d58dafbbffcedffa70b21a197b6fca8bb30.tar.bz2
yosys-93508d58dafbbffcedffa70b21a197b6fca8bb30.zip
Add $bmux and $demux cells.
Diffstat (limited to 'passes/cmds')
-rw-r--r--passes/cmds/clean_zerowidth.cc2
-rw-r--r--passes/cmds/stat.cc4
2 files changed, 5 insertions, 1 deletions
diff --git a/passes/cmds/clean_zerowidth.cc b/passes/cmds/clean_zerowidth.cc
index 4e7c68093..bac6b1521 100644
--- a/passes/cmds/clean_zerowidth.cc
+++ b/passes/cmds/clean_zerowidth.cc
@@ -80,7 +80,7 @@ struct CleanZeroWidthPass : public Pass {
if (GetSize(cell->getPort(ID::Q)) == 0) {
module->remove(cell);
}
- } else if (cell->type == ID($pmux)) {
+ } else if (cell->type.in(ID($pmux), ID($bmux), ID($demux))) {
// Remove altogether if WIDTH is 0, replace with
// a connection if S_WIDTH is 0.
if (cell->getParam(ID::WIDTH).as_int() == 0) {
diff --git a/passes/cmds/stat.cc b/passes/cmds/stat.cc
index 14a27ed99..fffdda48e 100644
--- a/passes/cmds/stat.cc
+++ b/passes/cmds/stat.cc
@@ -117,6 +117,10 @@ struct statdata_t
}
else if (cell_type.in(ID($mux), ID($pmux)))
cell_type = stringf("%s_%d", cell_type.c_str(), GetSize(cell->getPort(ID::Y)));
+ else if (cell_type == ID($bmux))
+ cell_type = stringf("%s_%d_%d", cell_type.c_str(), GetSize(cell->getPort(ID::Y)), GetSize(cell->getPort(ID::S)));
+ else if (cell_type == ID($demux))
+ cell_type = stringf("%s_%d_%d", cell_type.c_str(), GetSize(cell->getPort(ID::A)), GetSize(cell->getPort(ID::S)));
else if (cell_type.in(
ID($sr), ID($ff), ID($dff), ID($dffe), ID($dffsr), ID($dffsre),
ID($adff), ID($adffe), ID($sdff), ID($sdffe), ID($sdffce),