We are the first year students studying Computer Science in Innopolis University and we would like to share our experience in developing a Verilog program to create the greatest Memory Game (MemGame) that has ever existed on the FPGA board.
In this article, we decided to create a game for extending human memory. You will read the background theory and the incredible story of creation.
Hardware and Software
Quartus Prime Lite Edition
MAX10 FPGA Device support for Quartus Prime
Great story of creation
One day a group of students understood that they forgot everything right on the midterm of one interesting subject. After that they decided to create something to train their memory because they wanted to be able to prepair for the subject for one night. The group of students started to think and they came up with idea of MemGame. After a lot of hard hours of making the code and testing it the, game was finaly ready and it was absolutely perfect. But it is another story.
MemGame principle of creation and operation
We have 4 levels of the game. Each level has it's own picture that is reflects on the display using 2 particular switches. On the display we have 7 parts and each of them has it's own binary code that is given by 3 other switches. Pressing the button makes you to confirm the binory code you entered with the help of 3 switches.
First of all, user needs to choose the picture he will start the game from (on the pictures under each one the binory code of it).
Second of all, user needs to enter different codes and activate them using the button. If the part of the display that was activated using the code is on the display then this part will be on the other display, else the picture user have made on the second display will disapear and by remembering the code for every part of the dispay user needs to get the same picture on the second display like on the main one.
Third of all, user chooses the different picture on the main display and he needs to using his memory about parts of the display from previos pictures recreate new picture without mistakes.
Fourth of all, when user successfully recognized all the parts of the display the game is finished. You trained your memory thank you for participating.
Features in the future:
Use 2 displays for given data and 2 for possible ouputs. Also we can add 3rd switch for given pictures and make 8 different ones.
The code of our project is here.
Here the video of how it all works.
Authors: Nikolai Petukhov, Kseniia Voronova, Mikhail Tezin