Giter Club home page Giter Club logo

fpga-nios-snake's Introduction

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.

fpga-nios-snake's People

Contributors

martbent avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.