Game Design
Let us create a little game with a seven-segment display (SSD). There are two inputs, “clk” and “stop”, and one output “dout(6:0)” that feeds the output to the seven segment display as shown in figure 3. Assume that the clock frequency is 1kHz. The idea behind this game is to have a continuous clockwise movement in the seven segment display segments. Momentarily, we would also like to overlap the four neighbouring segments. Thus, the sequence starting from ‘a’ should be
a -> ab ->b ->bc -> c -> cd-> d -> de -> e -> ef -> f -> fa -> a …. (continues)
The combined states of ab, bc, cd, de, ef, fa should only last for a few milliseconds. If stop is activated, then the circuit should return to the original state ‘a’ and remain so until stop is deactivated. Provide an FSM for this simple game approach and write the VHDL code and present the overall timing simulations. If you are asked to implement this design using the Nexys4 board, what additional VHDL design and implementation requirements would you have other than the XDC file? Please provide step-by-step discussion and solutions.