CE433 2022 Spring
Final Project
John Hitti
jdhitti@fortlewis.edu
Final Project
Introduction In
this final project we will be based on implementing a video game on the Basys 3 FPGA board. For this we will be using the game "Yoshis-Nightmare" created by Github user jconenna.
In this project we will be implementing this game onto our FPGA as well
editing the code to use the onboard buttons as a controller as well as
adding a introduction screen that displays the FLC logos.
Task 1
In
this task we will start by adding button functionality to the game
using our onboard FPGA buttons. This can be done very simply by adding
the few lines of code below and commenting out the "nes_controller"
module. We also have to make sure the hardware buttons are set as
parameters in our top module. Once this is done the buttons will have
full functionality over the game.
Task 2
In
this task we will now add our introductory screen. We need to convert our logo images into a ROM file. Fortunately, user jconenna has a blog post describing an easy way to conduct this process. Once ran through the converter we have our rom file.
Then we need to create a
display module that will let us place the logo where we want on the
screen and pass the RGB values to the display module when they are
called.
Once this is done, we can add these to our pain module. We do this by
adding a simple counter that starts at the beginning of the game and
counts up 6 seconds. During these 6 seconds the module will only
display the two FLC logos onto the display and not the game. We also
need to make sure the hard reset switch will also reset our logo
display.
Once this is done, we can upload this program to the FPGA and test it for functionality!
Discussion This
project was an excellent culmination of our skills with learned in this
class with FPGA devices and Verilog and required a good amount of
comfortability in the platform. This project also helped familiarize
with collaborative design and coding with Verilog on a project.