Projects
PONG for FPGA

PONG for FPGA

Course: EE 354 – Introduction to Digital Circuit Design
GitHub: https://github.com/JTWilford/FPGApong
Documentation: https://drive.google.com/file/d/1260T6Pmk8mvRby-4g-wVtNnW6QiqHeIq/view?usp=sharing

In this project, I collaborated with another student to develop a PONG clone on an FPGA. Our ultimate goal with this project was to create a simple, modular video game engine in Verilog.

We designed this engine at the Register-Transfer Level, using Verilog and Xilinx ISE. We utilized a state machine to handle different functions of the engine, such as collision detections, player movement, and VGA output. We also incorporated an Arduino into the project to create a custom controller, with support for 2 players using potentiometers as inputs (similar to the original PONG).

Our final game engine supported rectangular collision boxes, monochromatic sprites, and up to 4-color images. Sprites and images could be scaled by any factor of 2. The engine also had an easy to use text rendering system, with a custom-made font designed to mimic the original PONG.

Images