diff options
author | Clifford Wolf <clifford@clifford.at> | 2015-01-19 11:55:05 +0100 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2015-01-19 11:55:05 +0100 |
commit | e13a45ae61e05705d9ab6890da60737bd05eb24d (patch) | |
tree | 07fc6268083538311b2bffe59a105119e55933cd /kernel | |
parent | 3a58b8d5b5160b7f31c885d904dbdb752a1c1e62 (diff) |
Added $equiv cell type
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/celltypes.h | 1 | ||||
-rw-r--r-- | kernel/rtlil.cc | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/kernel/celltypes.h b/kernel/celltypes.h index 3a56de2f..60e6606f 100644 --- a/kernel/celltypes.h +++ b/kernel/celltypes.h @@ -114,6 +114,7 @@ struct CellTypes setup_type("$fa", {A, B, C}, {X, Y}, true); setup_type("$assert", {A, EN}, pool<RTLIL::IdString>(), true); + setup_type("$equiv", {A, B}, {Y}, true); } void setup_internals_mem() diff --git a/kernel/rtlil.cc b/kernel/rtlil.cc index b35cbc3d..ec61cb52 100644 --- a/kernel/rtlil.cc +++ b/kernel/rtlil.cc @@ -905,6 +905,14 @@ namespace { return; } + if (cell->type == "$equiv") { + port("\\A", 1); + port("\\B", 1); + port("\\Y", 1); + check_expected(); + return; + } + if (cell->type == "$_BUF_") { check_gate("AY"); return; } if (cell->type == "$_NOT_") { check_gate("AY"); return; } if (cell->type == "$_AND_") { check_gate("ABY"); return; } |