Introduction: VHDL Verilog Space Shooter

About: Enthusiastic software developer with passion for fitness, fencing and cycling. I am also game developer (WebGL, XNA, Unity), designer and hardware developer.


This was an end project for my college subject. It represented famous online game "Space shooter". But this project is created in VHDL language instead of Flash or Javascript. VHDL is not programming language. It is (as initials say) hardware description language. For those that don't know this language - it is extremly hard to program in it.


I must warn you that this project was made for specific board. It was developed and tested for Digilent Nexys 4 Spartan 3E board. Game is displayed via VGA protocol and only works in 640x480 resolution.

Design components:

Program is made with some very common components like: RAM, Gyro sensor, Negative edge founder, Prescaler, Timer, Counter, PS2 Controller, Shift register, VSYNC and HSYNC (for VGA display), Random generator and Barrel shifter. There are also components I programmed, components like: Enemy, User ...

Step 1: Digilent Nexys 4 Spartan 3E Board

Here is photo of nexys displaying life and score.

Pressing middle button on the board makes player shoot misiles. Tilting board left/right makes player move left or right on the screen.

Step 2: Circuit Board

Here is the picture of a project as a circuit board (Download Circuit.pdf for better resolution).

For more info and source code please check my Github link.