3-bit Palindrome

Discover when FSMs can be dangerous

You are tasked to design a circuit which would detect a 3-bit palindrome sequence from incoming stream of bits.

Palindrome code is a sequence of characters which reads the same backward as forward. For example, the following are palindromes: 101, 010, 111, 000, etc.

All the flops should be positive edge triggered with asynchronous resets (if any).

Interface Definition

x_i : Input stream of bits to the circuit

palindrome_o : Output to signal that the current bit and the last two bits together form a
               palindrome

Loading the interactive workspace...