Learning the Art of Electronics: 19L.1.4 Assign Binary Values to States
There are a lot of “don’t cares” in the directed graph. (For example, the only state in which the start button does anything is A.) This suggests the combinatorial logic to implement this FSM should not be too complex. We chose state assignments so there was only, at most, a one bit transition to the next state. This was easy because, from the directed graph, A only goes to B and D, B only goes to C, and both D and C are Hotel California states.1
Again, this is a direct translation of the abstract PS/NS table using the binary state assignments shown in the first column. LED outputs are active-high.
PS (Q1 Q0) | NS (start, stop) = | 00 | 01 | 10 | 11 | duration led | cheat led |
---|---|---|---|---|---|---|---|
A = 00 | D1 D0 = | 00 | 10 | 01 | 10 | 0 | 0 |
B = 01 | D1 D0 = | 01 | 11 | 01 | 11 | 1 | 0 |
C = 11 | D1 D0 = | 11 | 11 | 11 | 11 | 0 | 0 |
D = 10 | D1 D0 = | 10 | 10 | 10 | 10 | 0 | 1 |
"You can check-out any time you like. But you can never leave." See https://LAoE.link/Hotel_California.html↩︎