I'm familiar with finite state machines when there are two possible states for input, which I will call w.
That is, w = 1
or w = 0
. However, what about the situation in which w
can equal A, B, or C
? In this situation, I believe that I would have to represent the input with two bits, such that A = 00
, B = 01
, and C = 11
.
For example, say I have to detect the sequence ABCB (using a Moore Machine). Below is a picture of the state diagram, state-table, and state-assignment table:
Here, I represent the present state with three bits, and the next state with three bits. Normally, I have no issue finding the required logic expressions using Karnaugh Maps given that w = 1 or 0
. However, here w = A, B, or C
. Assuming that I let A = 00
, B = 01
, and C = 11
, how would I derive the appropriate logic expressions?
My inclination is to solve a 5-variable Karnaugh Map for each Next State flip-flop (i.e. Y2, Y1, Y0
). For instance, Y2
is some function of y1, y2, y3, and w
that can be found using a Karnaugh Map.
Am I heading in the right direction with my reasoning here? Any constructive input is appreciated.
Note: This is related to an assignment of mine, but this is not the pattern I'm trying to detect.
Edit: Now that I thought about it some more, it seems like I really have 5 bits to work with in regard to the Karnaugh Map - which it technically four variables because yn
represents 1 bit and w
represents two bits.