PROE_WGR-V

"Projektarbeit E" von Tobias Kling und Philip Mohr – FH Kiel 2025

Dieses Repository enthält einen RISC-V Prozessor und Peripherie in Verilog, sowie die dazugehörigen Werkzeuge, Skripte und Tests.


Projektstruktur

📂 /WGR-V-MAX

Hier befinden sich die nötige Ordnerstruktur, um das Projekt mit Quartus zu verwenden.

Die RAM-Komponente wird initial mit einer .hex Datei geladen.

Da die von objdump erstellten .hex Dateien nicht direkt in Quartus verwendet werden können, muss die Datei mit .conv_hex.py konvertiert werden.

📂 /rtl

Verilog Dokumentation

Enthält den Kern des RISC-V Prozessors.

📁 /rtl/peripherals

📂 /asic

Die ASIC-Version befindet sich in einem separaten Repo:
WGR-V ASIC

Tools: Openlane2, Verilator, cocotb
Technologie: SkyWater 130nm

Chip-Layout

WGR-V ASIC GDS Render

Enthaltene Peripherie

Peripherie-Modul
✅ debug_module
✅ uart
✅ pwm_timer
✅ system_timer
❌ spi
❌ gpio
❌ ws2812b
❌ seq_multiplier
❌ seq_divider

📂 /scripts

Skripte für Kompilierung, Konvertierung, Simulation

📂 /src

C Dokumentation

Softwarequellcode, Projekte und HAL in C und Assembler.


Simulation & Nutzung

🔧 Kompilieren

scripts\RV32I_quartus\build_main.bat
scripts\RV32E_fram\build_main.bat

📦 Hex-Dateien generieren

python scripts/hex_conv/conv_hex.py input.hex output.hex shift_amount memory_depth
python scripts/hex_conv/conv_fram.py input.hex output.hex memory_size

🚀 Simulation starten

scripts\sim\questa\run.bat [-gl] [-vcd] [-q]

🦭 Alles in einem Schritt

build_copy_simulate.bat

Tobias Kling
Philip Mohr
FH Kiel, 2025