A
pictorial representation of a
state transition table. This is the same 2-bit
counter as in
state transition table:
Legend:
+---+ +---+ EN/Q1Q0
0/00| v v |0/01
| +--+ 1/00 +--+ |
+--|00|----->|01|--+
+--+ +--+
^ |
| |1/01
1/11| |
| v
+--+ +--+
+--|11|<-----|10|--+
| +--+ 1/10 +--+ |
0/11| ^ ^ |0/10
+---+ +---+
The numbers next to each arrow correspond to the variables indicated in the legend. Inputs are listed before the slash, and outputs afterwards. Here EN is the input, and Q1Q0 are the output variables. Every box represents a state. The input directs the next state , but you cannot enter the next state until an active clock edge. If the input variables change while waiting at a state, it can change the output as well as which state is the next state.
In other words:
The input tells you which arrow you are on, and subsequently what output you get; but you don't actually move in the direction of the arrow until a clock edge.
See also synchronous sequential network, state minimization, state optimization, Mealy machine, Moore machine.