When expanding upwards, do not capture $__ABC9_{FF,ASYNC}_
authorEddie Hung <eddie@fpgeh.com>
Fri, 22 Nov 2019 00:17:03 +0000 (16:17 -0800)
committerEddie Hung <eddie@fpgeh.com>
Fri, 22 Nov 2019 00:17:03 +0000 (16:17 -0800)
Since they should be captured downwards from the owning flop

passes/techmap/abc9.cc

index 8d4ff402522c09bf067cc8a202c17e8207e570d5..4b6ec6e11abab2fd0d87535d8c9dcf7ee4a36f40 100644 (file)
@@ -1165,7 +1165,7 @@ struct Abc9Pass : public Pass {
 
                                        for (auto bit : cell_to_bit_up[cell])
                                        for (auto c : bit_to_cell_up[bit])
-                                               if (unassigned_cells.count(c)) {
+                                               if (unassigned_cells.count(c) && !c->type.in("$__ABC9_FF_", "$__ABC9_ASYNC_")) {
                                                        unassigned_cells.erase(c);
                                                        next_expand_queue_up.insert(c);
                                                        assigned_cells[key].insert(c->name);