Skip to content

Latest commit

 

History

History
80 lines (66 loc) · 2.42 KB

README.md

File metadata and controls

80 lines (66 loc) · 2.42 KB

FPGA-Gold-Miner

Introduction

This is the github repository for the ELEC50009 - Information module coursework. FPGA Gold Miner is an FPGA-based multiplayer interactive game. Utilizing the DE10-Lite FPGA board and NIOS II softcore, along with server-client communication based on AWS, it enables two players, using DE10 as gamepads, to enjoy the classic Gold Miner game.

Structure

FPGA-Gold_Miner/
│
├──coursework_v1.elf # software project
├──DE10_LITE_Golden_Top.sof # NIOS hardware bit-stream file
├──gamebox.py # gamebox library
├──Gold-MinerBasicClient.py # Game file and Client script
├──host.py # UART communication with FPGA
├──tcpserver.py # Server script
│
├── Golden_Top/ # FPGA project
│   ├── ... 
│   ├── software/
|   │   ├── coursework_v1
|   |   │   ├── coursework_v1.elf # software project
|   |   │   ├── hello_world_small.c # software program of NIOS
|   |   │   └── ... 
|   |   └── coursework_v1_bsp # board support package for the project
│   ├── ... 
│   ├── coursework.qsys # QSYS HDL file
|   ├── coursework.qsys # SOPC Builder information file of the hardware
│   ├── DE10_LITE_Golden_Top.qpf # Quartus Project
|   ├── DE10_LITE_Golden_Top.sof # NIOS hardware bit-stream file
│   └── DE10_LITE_Golden_Top.v # Top level Verilog file
│
├── picture/  # pictures used in game 
├── images/
├── input.txt # temporary file for game 
├── output.txt # temporary file for game 
├── .gitignore
└── README.md

Tutorial

  1. Initialise FPGA
Goto Quartus -> Tools -> Programmer -> Add file...
Open <path>\FPGA-Gold-Miner\src\DE10_LITE_Golden_Top.sof
Click Start
  1. Create UARTconnection between host.py script and DE10-Lite
# Open NIOS II command shell
& '<path>\intelFPGA_lite\18.1\nios2eds\Nios II Command Shell.bat'
# Locate the folder
cd <path>/FPGA-Gold-Miner/src
# Download .elf project 
nios2-download -g coursework_v1.elf

run host.py
  1. Set Up server
Set up AWS server (refer to https://github.com/Aaron-Zhao123/ELEC50009/blob/main/lab5/lab5.pdf)
# Open server file
python3 tcpserver.py
  1. Start the game
run Gold-MinerBasicClient.py

Game Interface

Demo

Info_Proc_Group14.mp4