I encountered a problem about finite state machines in digital design which asks the following :
Design a sequential circuit with serial input X and serial outputs Z1 and Z2
which performs the following operation. Whenever the circuit receives a sequence 1100 on input it should output Z1 = 1 and Z2 = 0. Whenever the circuit receives a sequence 0101 on input it should output Z1 = 0 and Z2 = 1. Otherwise it should output Z1 = 0 and Z2 = 0. Draw the state diagram.
I found the folowing diagram. Is there anyone who can do this with fewer states?
Best Answer
S: initial node
A0..A3 represents the 0101 sequence
B0..B3 represents the 1100 sequence
The two digites after the state's name colon represent the output;
00 >> Z1=0, Z2=0
Drawn using graphviz