Skip to content

tweger1999/FPGA_Chip_8_Emulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Header

Overview

Using a Zedboard FPGA, we created a hardware Chip-8 emulator that uses I2C protocol to display graphics on a monitor.

About The Team


Tristan Weger

Program: University of Cincinnati CEAS

Major: Electrical Engineer

Grade: 5th Year Senior


Nathan Henry

Program: University of Cincinnati CEAS

Major: Computer Engineer

Grade: 5th Year Senior


Josh Smith

Program: University of Cincinnati CEAS

Major: Electrical Engineer

Grade: 5th Year Senior


About the Project

Inspiration

The members of the group all learned about FPGAs in class, but had no experience designing a large scale project involving them. The CHIP-8 emulator seemed like a fun and challenging project for an otherwise professional use cases of the emerging technology. 

What it does

The CHIP-8 Emulator is a virtual machine with a collection of retro arcade games, there is also implementation to create personal games.

Construction

We used a hardware description language to program individual components such as a program counter, display, memory, alu, instruction decoder, controller input, timer, and a stack.

Challenges

Synthesis time for the program can be minutes long, adding valuable time to debugging times. VHDL error messages can also be cryptic, leading to intense bug finding.

Accomplishments that we're proud of 

What we learned 

What's next for Chip8 FPGA Emulator

Hardware

Zedboard Zync-7000 FPGA Development Board

  • The ZedBoard is a popular development board that features a Xilinx Zynq-7000 System on Chip (SoC) device. The Zynq-7000 combines a dual-core ARM Cortex-A9 processor with programmable logic, making it a powerful platform for embedded system design. The ZedBoard includes a range of interfaces and peripherals such as USB, Ethernet, HDMI, and audio I/O, making it suitable for a wide range of applications. Additionally, the ZedBoard is supported by a range of software development tools including the Xilinx Vivado Design Suite, which makes it easy for designers to develop and test their FPGA designs. Overall, the ZedBoard is a versatile development board that provides designers with a powerful and flexible platform for developing FPGA-based systems.

Software

Chip-8

  • Chip 8 is an interpreted programming language designed for early home computers, particularly the COSMAC VIP and Telmac 1800. It uses a simple virtual machine architecture, with programs written in hexadecimal code that are executed by an interpreter running on the target hardware. The Chip 8 system was primarily used for developing simple video games, with support for graphics, sound, and user input. While the Chip 8 system was not widely adopted in its day, it has since become a popular platform for emulation enthusiasts and hobbyists. Its simple architecture and ease of programming make it a popular choice for learning about computer architecture and low-level programming.

Xilinx Vivado

  • Xilinx Vivado is a popular software tool used for designing and programming Field-Programmable Gate Arrays (FPGAs) and System on Chip (SoC) devices. It provides a comprehensive suite of tools for designing and optimizing digital circuits, including a design environment, synthesis tools, simulation capabilities, and debug features. Vivado also supports high-level design languages such as C/C++ and SystemC, allowing designers to quickly implement complex designs. Additionally, Vivado includes advanced optimization features such as high-level synthesis and partial reconfiguration, which can significantly improve design efficiency and reduce development time. Overall, Xilinx Vivado is a powerful tool for digital circuit design that has become a popular choice for many FPGA and SoC designers.

About

Chip 8 emulator built in VHDL using Zedboard FPGA's VGA output

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors