-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
89cc620
commit 2f25d13
Showing
8 changed files
with
103 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
+++ | ||
authors = ["Maxime Letemple"] | ||
title = "Pokémon Silicium" | ||
date = 2022-12-10 | ||
description = "Pokémon silicium is a simulation of a player versus player pokémon fight on FPGA." | ||
[taxonomies] | ||
tags = ["digital electronics", "school projects"] | ||
[extra] | ||
featured = true | ||
+++ | ||
Pokémon silicium is a simulation of a player versus player pokémon fight on FPGA. The output is a 256*160 display using VGA. The game is controlled by the [PMOD joystick from Digilent](https://digilent.com/reference/pmod/pmodjstk/start). This was a team project in order to validate my S7 at my engineering school. | ||
|
||
VHDL implementation | ||
=== | ||
|
||
The description of the architecture is written exclusively in VHDL. We worked as a two person team. My partner wrote the game logic (managing life registers, game loop, type table, etc ...). My job was to convert the serial bus received by the joystick, to send him the inputs in the correct format and to receive informations on the status of the game in order to display them. I had to manage sprite superpostion and transparency, VGA display to create a fluid and viable interface. | ||
|
||
Converting pictures to ROM | ||
=== | ||
|
||
In order to display sprites, I had to convert .ppm files in a 8 bits ROM written in VHDL. I wrote a programm in C that takes several pictures and convert them in one ROM. It also creates a log file, which is useful when looking for an adress. | ||
|
||
```console | ||
./a.out img ROM_img.vhd ronflex_back.ppm ronflex_front.ppm mew_back.ppm mew_front.ppm rayquaza_back.ppm rayquaza_front.ppm torterra_back.ppm torterra_front.ppm brasegali_back.ppm brasegali_front.ppm pikachu_back.ppm pikachu_front.ppm ectoplasma_back.ppm ectoplasma_front.ppm tiplouf_back.ppm tiplouf_front.ppm | ||
``` | ||
|
||
More infos | ||
=== | ||
|
||
- Resources and project code can be found [here](https://github.com/maxletemple/pokemon_silicium). | ||
- Download the report [here](pokemon_silicium.pdf) (in french). |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
+++ | ||
authors = ["Maxime Letemple"] | ||
title = "RISCV-EIRB" | ||
date = 2023-05-23 | ||
description = "RV32I RISCV processor from scratch" | ||
+++ | ||
My biggest project during my S8 was the implementation of a RV32I RISCV processor on a Nexys A7 FPGA board. I was in a team of six students, and my job was to create test binaries in order to validate each instruction. When the processor was done, I had to set the gcc toolchain to work on our processor. | ||
|
||
More infos | ||
=== | ||
|
||
The code can be found on the [github repository](https://github.com/maxletemple/riscv_eirb). |
Submodule duckquill
updated
from 5c80cf to d7e832