Right, so this is working as intended. The semantics of nMigen is that later assignments to the same signal (m.next = ... is a form of assignment to a signal, the FSM state) always override earlier assignments. You would see the same behavior if you wrote code like:
When building an FSM I came across a weird issue where an internal state was not executed if a hanging m.next was used.
BOUNCE never gets executed with the m.next = "NEXT" un wrapped.
full file with simulation
The text was updated successfully, but these errors were encountered: