Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/algosup/2024-2025-project-1-fpga-team-6

This project aims to create a Frogger game using the FPGA (Field Programmable Gate Array) technology and Verilog.
https://github.com/algosup/2024-2025-project-1-fpga-team-6

console controller fpga frogger-game game-development lilypad verilog

Last synced: about 2 months ago
JSON representation

This project aims to create a Frogger game using the FPGA (Field Programmable Gate Array) technology and Verilog.

Awesome Lists containing this project

README

        

# ✨ Frogger FPGA Team 6 ✨

## What is the purpose of this project? 📚

This project aims to create a Frogger game using the FPGA (Field Programmable Gate Array) technology. We handle input, output, screen display and even memory management using Verilog.

![2024-10-18 11-49-23](https://github.com/user-attachments/assets/550aa575-0d70-416f-be6d-736c16db6aaf)

## What is Frogger? 🐸

- The goal of the game is to move a frog from the bottom of the screen to the top. There’s only one problem: The frog is trying to cross a busy highway filled with cars! You must carefully control the frog to cross the road without getting hit by a car.

Our Frogger game will contain colorful sprites, though no sounds can be handled as the only way we can display the game on a monitor is with a VGA port.

image

## How can we play the game? 🕹️

To play the game, you'll need to have some required elements:

- A [Go-Board](https://nandland.com/cart/)
- A [VGA compatible monitor](https://www.amazon.com./s?k=vga+monitor&crid=1SGS6CI178TBH&sprefix=vga+mo%2Caps%2C207&ref=nb_sb_ss_ts-doa-p_1_6)
- A [VGA cable](https://www.amazon.com./s?k=vga+cable&crid=1N29E5VSJS1W4&sprefix=vga%2Caps%2C199&ref=nb_sb_ss_ts-doa-p_2_3)
- A [micro-USB cable](https://www.amazon.com./s?k=micro-usb+cable&crid=L7H96RRAM5DF&sprefix=micro-us%2Caps%2C158&ref=nb_sb_ss_ts-doa-p_2_8)

### macOS Setup

Then, you'll need to setup apio on your machine.
To do this, follow the steps on this [link](https://nandland.com/set-up-apio-fpga-build-and-program/).

Once you've setup the software, all you need is
- [download our latest release](https://github.com/algosup/2024-2025-project-1-fpga-team-6/releases)
- connect the board to your computer with the micro-USB cable
- upload it into the board using the `apio upload` command on your terminal (make sure you're in the Frogger folder!)

Then, if the board is correctly plugged and connected to a VGA monitor, the game will launch!

## LilyPad 🪷

image

LilyPad is a console we've made beside the Frogger game. The Go-Board contains the game you want to play, you put it correctly inside the console, and it's plug & play!

image

The console has been constructed to contain the Go-Board, letting the 7-Segment displays visible.
Also, the Pmods have been placed specifically to create controller plugs.

image
image

As we created a console, we needed to create controllers as well, and we did.

image

Note: The game is totally playable with only a Go-Board, but the console and controllers will allow a huge experience!

image

## Can we buy/recreate the console? 🎮🕹️👾

Yes, you could be able to create your own LilyPad!
You can even order one to our team.

To know everything about the cost of a LilyPad, you can check this [link](https://docs.google.com/spreadsheets/d/1F-HxhJdpekoRyOHcomrwG5_U2OMouyGQa8QbSrjasqM/edit?usp=sharing).

Also, you can check the [LilyPad Documentation](https://github.com/algosup/2024-2025-project-1-fpga-team-6/releases) to dive deeper into the subject!

## "FPGA"? How does this work? 💾

The FPGA is a type of configurable integrated circuit that can be repeatedly programmed after manufacturing.
We actually used the Go-Board provided by Russell Merrick, who taught us how to deal with this technology at [ALGOSUP](https://algosup.com/en.html).

To be able to upload some code in this hardware, we used Verilog as a programming language.

## Who are the people in the team? 🤝

Team 6 involves few coworkers, handling different roles:

| Role               | Name | Picture |
| ------------------ | ----- | ------- |
| Project Manager | Enzo GUILLOUCHE | [](https://github.com/EnzoGuillouche) |
| Program Manager | Evan UHRING | [](https://github.com/Evan-UHRING) |
| Technical Leader | Maxime CARON | [](https://github.com/MaximeAlgosup) |
| Software Engineer | Elone DELILLE | [](https://github.com/HiNett) |
| Quality Assurance | Axel DAVID | [](https://github.com/Fus1onAxel) |
| Technical Writer | Pierre GORIN | [](https://github.com/Pierre2103) |

[Here](https://github.com/algosup/2024-2025-project-1-fpga-team-6/graphs/contributors) are their contributions to the project!

#### The project's documentation

- [Weekly Reports](./Documents/Management/WeeklyReports/)
- [Management Documentation](./Documents/Management/)
- [Functional specifications](./Documents/FunctionalSpecifications/functionalSpecifications.md)
- [Technical specifications](./Documents/TechnicalSpecifications/technicalSpecifications.md)
- [3D Models](./3DModels/)
- [Quality Assurance Documentation](./Documents/QA/)
- [User Manuals](./Documents/Manuals/)