Update fsm_detect bugfix
authorClifford Wolf <clifford@clifford.at>
Tue, 12 Nov 2019 16:31:30 +0000 (17:31 +0100)
committerClifford Wolf <clifford@clifford.at>
Tue, 12 Nov 2019 16:31:30 +0000 (17:31 +0100)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
passes/fsm/fsm_detect.cc

index 61e6f8011206d0bfee3f4ff4a40bb0f9038e6d31..fb3896669734545bd1d40d23bed05479b70320f6 100644 (file)
@@ -173,9 +173,10 @@ static void detect_fsm(RTLIL::Wire *wire)
 
                        if (set_output || clr_output) {
                                for (auto &port_it : cell->connections())
-                                       for (auto bit : assign_map(port_it.second))
-                                               if (bit.wire != nullptr && !sig_q_bits.count(bit))
-                                                       goto next_cellport;
+                                       if (cell->input(port_it.first))
+                                               for (auto bit : assign_map(port_it.second))
+                                                       if (bit.wire != nullptr && !sig_q_bits.count(bit))
+                                                               goto next_cellport;
                        }
 
                        if (set_output || clr_output) {