aboutsummaryrefslogtreecommitdiffstats
path: root/backends/smv
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2019-08-06 04:47:55 +0200
committerClifford Wolf <clifford@clifford.at>2019-08-06 04:47:55 +0200
commit023086bd46bc828621ebb171b159efe1398aaecf (patch)
treee94e14733c13e234d5c5055082d732be26fd6d9b /backends/smv
parent44a9dcbbbf47f1a6f524c6328ff775f29573a935 (diff)
downloadyosys-023086bd46bc828621ebb171b159efe1398aaecf.tar.gz
yosys-023086bd46bc828621ebb171b159efe1398aaecf.tar.bz2
yosys-023086bd46bc828621ebb171b159efe1398aaecf.zip
Add $_NMUX_, add "abc -g cmos", add proper cmos cell costs
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'backends/smv')
-rw-r--r--backends/smv/smv.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/backends/smv/smv.cc b/backends/smv/smv.cc
index d75456c1b..e9586fae0 100644
--- a/backends/smv/smv.cc
+++ b/backends/smv/smv.cc
@@ -537,6 +537,13 @@ struct SmvWorker
continue;
}
+ if (cell->type == "$_NMUX_")
+ {
+ definitions.push_back(stringf("%s := !(bool(%s) ? %s : %s);", lvalue(cell->getPort("\\Y")),
+ rvalue(cell->getPort("\\S")), rvalue(cell->getPort("\\B")), rvalue(cell->getPort("\\A"))));
+ continue;
+ }
+
if (cell->type == "$_AOI3_")
{
definitions.push_back(stringf("%s := !((%s & %s) | %s);", lvalue(cell->getPort("\\Y")),