ragibson / FPGA-Asteroids

32-bit single cycle CPU design and implementation of the "Asteroids" arcade game for this CPU in Assembly and C.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FPGA-Asteroids

Asteroids screenshot

This repository contains a CPU design for use on FPGAs and a clone of the Asteroids arcade game (written in assembly by hand) that runs on the CPU.

CPU Design

In short, the CPU is a 32-bit single cycle processor and supports

  • A subset of the MIPS instruction set
  • Accelerometer input
  • Keyboard input
  • VGA display output (640x480 @ 60 Hz)
  • Mono audio output
  • LED lights output
  • 7-segment display output

More information can be found in the CPU README.

Asteroids

The assembly version runs on the CPU clocked at 100 MHz (with support for on-the-fly underclocking to 25 or 50 MHz to demonstrate VBLANK).

A prototype written in C that writes directly to the Linux framebuffer is also available.

More information can be found in the Asteroids README.

About

32-bit single cycle CPU design and implementation of the "Asteroids" arcade game for this CPU in Assembly and C.

License:MIT License


Languages

Language:SystemVerilog 51.9%Language:VHDL 22.7%Language:Assembly 19.2%Language:C 6.2%