Skip to content

An snake game implemented on the De1-SoC FPGA in combination with a nios II softcore processor.

Notifications You must be signed in to change notification settings

MartBent/fpga-nios-snake

Repository files navigation

Snake on FPGA

This project is about the implementation of a snake game on a FPGA board, the board used:

http://www.ee.ic.ac.uk/pcheung/teaching/ee2_digital/de1-soc_user_manual.pdf

The snake game is implemented by using several components. These components can either be made of out software, hardware, or synthesized from VHDL.

An overview of the components: system

Snake driver

The snake is a implementation of the snake game in C. It is platform independant and therefore it is able to run on a Nios II CPU. See more: https://github.com/MartBent/portable-snake

Nios II/e

The Nios II is a VHDL component which simulates a complete CPU. this CPU can run program written in C using a memory block from the QSys platform designer in combination with a VHDL JTAG interface to program the code. It is used to run the Snake driver

VGA Driver

The VGA driver is a VHDL components which is responsible for driving a VGA screen connected to the VGA output of the FPGA board. The components accepts RGB values for each pixel. These values are retrieved from the Frame buffer.

Frame Buffer

The Frame buffer is a VHDL component taken from the QSys platform designer. It is a memory array which is connected to the Nios II softcore CPU, connections are also exposed to the VHDL Top-level system. It is used to pass pixel data form the program running on the Nios to the VGA driver.

Score display

The score display is a double 7-segment display encoder which is able to show a 6 bit number on 2 7-segemnt displays. It is used to display the game's current score.

About

An snake game implemented on the De1-SoC FPGA in combination with a nios II softcore processor.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published