When being in a state "a1" how can I show that the next arrows will have a precedence over each other, without having an overhead of extra states?
Full example:
- We are at
a1
state and signalsx && y
are asserted: we go to state b1 - If that condition is not asserted but
x && z
is asserted then we go to state b2 - If the above conditions are not asserted but
x
is asserted then we go to state b3
Visual concept:
In the above "FSM" we can't see that x && y
is checked before the other two.
Code snippet:
always_comb begin
case (states)
a1: begin
if (x && y)
next_state = b1;
else if (x && z)
next_state = b2;
else if (x)
next_state = b3;
else
next_state = a1;
end
endcase
end