A memory game developed using combinational and sequential logic, implemented on the DE0-CV FPGA
Quartus II, DE0-CycloneV, FPGA, Waveform Simulation | In collaboration with William Lau
The FPGA board my partner and I were working with had multiple 7-segment displays which could have many applications. We were inspired by their versatility and decided to create a memory game with them.
Inspired by 128 possible combinations of 7-seg display
Sketch of main circuit components
Sketch of time unit logistics
There were three main items: Timers/Counters, LFSR, Memory Cells
A time circuit is able to control the duration of HIGH and LOW logic levels of other elements in the circuit. In this circuit, the LFSR's output is only to be displayed for 5 seconds.
The Linear-Feedback Shift Register (LFSR) allows for pseudo-random bit generation through a seed value and a series of XOR gates that are fed into. This was used to display a psuedo-random pattern.
Memory cells allow for multi-bit storage via flip flops. By using them, we were able to store both the LFSR's pattern and the user's pattern to ultimately compare them.
Final circuit schematic with smaller circuits compressed into blocks
Layout of game UI on DE0 FPGA board
Competed and won award at university's Junior Design Competition