diff options
Diffstat (limited to 'passes/fsm')
| -rw-r--r-- | passes/fsm/fsm_detect.cc | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/passes/fsm/fsm_detect.cc b/passes/fsm/fsm_detect.cc index 61e6f8011..fb3896669 100644 --- a/passes/fsm/fsm_detect.cc +++ b/passes/fsm/fsm_detect.cc @@ -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) {  | 
