I will use two flip-flops uv, and two input variables xy, and make the following encodings for states and input:
State encoding:
uv | |
s | 00 |
a | 01 |
r | 10 |
Input encoding:
xy | |
0 | 00 |
1 | 01 |
. | 10 |
I will then transcribe the state-transition table
0 | 1 | . | |
s | a | a | r |
a | a | a | s |
r | r | r | r |
to the bit values
00 | 01 | 10 | |
00 | 01 | 01 | 10 |
01 | 01 | 01 | 00 |
10 | 10 | 10 | 10 |
Finally I will create two Karnaugh maps, one corresponding to next-state value of u and one to v:
Map for next u:
0 | 0 | d | 1 |
0 | 0 | d | 0 |
d | d | d | d |
1 | 1 | d | 1 |
Map for next v:
1 | 1 | d | 0 |
1 | 1 | d | 0 |
d | d | d | d |
0 | 0 | d | 0 |
Now I can derive the simplified logic equations from these maps as:
next u = u + v'xy'
next v = u'x'