Floppy Bird
October 2024 - December 2024
Project Description
Floppy Bird is a game inspired by the popular game, Flappy Bird, created to showcase a custom CPU design created by myself and a group of my peers for the Digital Design Lab course (ECE3710) at the University of Utah. The custom CPU architecture uses 16-bit words and runs a customized version of the CR-16 instruction set architecture (ISA). The CPU was written in Verilog and was designed to be synthesized onto the Altera DE1-SOC development board running a Cyclone-V FPGA.
In Floppy Bird, the player is a bird-fish hybrid (firb) who must navigate between two pipes without hitting either pipe. Unlike Flappy Bird, where the player must simply tap their device's touchscreen in order to make the bird move, in Floppy Bird, the player must physically jump in order to move the firb between the game's pipes. This is accomplished by interfacing a customized Dance Dance Revolution (DDR) mat onto the DE1-SOC development board using a custom PCB.
CPU Datapath
Below is the diagram of Floppy Bird's CPU's datapath (minus the graphics portion of the CPU).
Control FSM Diagram
Below is a diagram showcasing the function of Floppy Bird's CPU's control finite-state machine (FSM).
Project Poster
Below is a poster showcasing the main components of Floppy Bird.
Circuit Demonstration
Below is a video showcasing individuals playing Floppy Bird.
Paper
Below is a copy of the final paper for Floppy Bird.
Code Repository
As this project was a final project for a university class, I will not be sharing my source code publicly to prevent academic misconduct. The source code, however, is available for viewing upon the request of any prospective employer.