This project walks you through building your first FPGA game step by step. You'll learn about VGA functionality, synchronization, and FPGA programming using the Elbert V2 Spartan 3A development board.
1️⃣We will use the Elbert V2 Spartan 3A FPGA board:Numato Elbert V2 FPGA Board
2️⃣To program the FPGA, install the required USB driver: Download USB CDC Driver
3️⃣We will use Xilinx ISE 14.7 for FPGA development: Download Xilinx ISE 14.7
4️⃣To upload bitstreams to the FPGA, install ElbertV2Config.exe: Download ElbertV2Config
5️⃣ Additional Resources: Elbert V2 Documentation
To display graphics, we need to understand how the VGA controller works.
This explains how VGA timing works and how we can use it to draw images in the VGA_sync module.
The project consists of four core modules:
- 🟢 TopModule → Declares the VGA system inputs/outputs.
- 🔵 U1 - IN_CLOCK_OUT → Converts 12 MHz input to 25 MHz output.
- 🟣 U2 - Counter → Uses 25 MHz input to synchronize VGA_sync and TopModule.
- 🟠 U3 - VGA_sync → Handles vertical & horizontal synchronization and video output.
1️⃣ Set up your FPGA board and install all required software.
2️⃣ Understand the VGA synchronization and how it drives pixel rendering.
3️⃣ Compile & upload the code to test the game on your FPGA board.