aboutsummaryrefslogtreecommitdiffstats
path: root/passes/techmap
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2020-01-14 13:09:54 -0800
committerEddie Hung <eddie@fpgeh.com>2020-01-14 13:09:54 -0800
commit300003cb7854650cab9dd063a864f8f1df052d6d (patch)
treeeed4890b429b90b4e57f3624f0f594a83836f2d9 /passes/techmap
parentaaafd784a54603af44fe7424c8d39be2443368e5 (diff)
downloadyosys-300003cb7854650cab9dd063a864f8f1df052d6d.tar.gz
yosys-300003cb7854650cab9dd063a864f8f1df052d6d.tar.bz2
yosys-300003cb7854650cab9dd063a864f8f1df052d6d.zip
abc9_ops: discard $__ABC9_DELAY boxes
Diffstat (limited to 'passes/techmap')
-rw-r--r--passes/techmap/abc9_ops.cc9
1 files changed, 2 insertions, 7 deletions
diff --git a/passes/techmap/abc9_ops.cc b/passes/techmap/abc9_ops.cc
index 04a54fd63..e1f6252f2 100644
--- a/passes/techmap/abc9_ops.cc
+++ b/passes/techmap/abc9_ops.cc
@@ -572,17 +572,12 @@ void reintegrate(RTLIL::Module *module)
log_assert(r.second);
}
- pool<IdString> delay_boxes;
std::vector<Cell*> boxes;
for (auto cell : module->cells().to_vector()) {
if (cell->has_keep_attr())
continue;
- if (cell->type.in(ID($_AND_), ID($_NOT_), ID($__ABC9_FF_)))
+ if (cell->type.in(ID($_AND_), ID($_NOT_), ID($__ABC9_FF_), ID($__ABC9_DELAY)))
module->remove(cell);
- else if (cell->type.begins_with("$paramod$__ABC9_DELAY\\DELAY=")) {
- delay_boxes.insert(cell->name);
- module->remove(cell);
- }
else if (cell->attributes.erase("\\abc9_box_seq"))
boxes.emplace_back(cell);
}
@@ -674,7 +669,7 @@ void reintegrate(RTLIL::Module *module)
bit_drivers[i].insert(mapped_cell->name);
}
}
- else if (delay_boxes.count(mapped_cell->name)) {
+ else if (mapped_cell->type == ID($__ABC9_DELAY)) {
SigBit I = mapped_cell->getPort(ID(i));
SigBit O = mapped_cell->getPort(ID(o));
if (I.wire)