Sudoku Creator and Solver

Sudoku Demo

Project Summary

Simon is a memory game in which a player must memorize sequences of button presses. The common toy on which it is played consists of four buttons, each with colored LEDs contained within, and a speaker which plays a tone corresponding to each colored button. The toy will play a sequence of tones from start to finish, and the user must tap the corresponding buttons in correct order. Each time the user correctly completes the sequence, a random button will be added, and the sequence will be played again in its entirety. The goal is to get to the longest sequence possible before entering an incorrect or out of order sequence.

My friend Noah (D'22) and I wanted to create this game using VHDL to control an FPGA development board. We used Xilinx's Basys 3 Development board. There are five built in push-buttons, arranged in a star. We used the outer 4 buttons to control the sequence submissions. Additionally, 4 uniquely colored LEDs were controlled on a breadboard to correctly indicate which button had been either pressed or was to be played by the sequence. A small 100mW speaker was also added to the breadboard so that tones, which were the same notes as the original Simon game, could be played.

See the source code on GitHub.