"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.
Hier befinden sich die nötige Ordnerstruktur, um das Projekt mit Quartus zu verwenden.
altsyncram).wgr_flat.hex)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.
Enthält den Kern des RISC-V Prozessors.
cpu.v: RV32I/E CPU mit Stall-Logik und lokalen Parametern für Instruktionenalu.v, register_file.v, defines.v, wgr_v_max.vperipheral_bus.v: Peripherie-Auswahl und Routinguart.v, spi.v, pwm_timer.v, gpio.v, ws2812b.v, seq_divider.vDie ASIC-Version befindet sich in einem separaten Repo:
WGR-V ASIC
Tools: Openlane2, Verilator, cocotb
Technologie: SkyWater 130nm
| Peripherie-Modul |
|---|
| ✅ debug_module |
| ✅ uart |
| ✅ pwm_timer |
| ✅ system_timer |
| ❌ spi |
| ❌ gpio |
| ❌ ws2812b |
| ❌ seq_multiplier |
| ❌ seq_divider |
Skripte für Kompilierung, Konvertierung, Simulation
Softwarequellcode, Projekte und HAL in C und Assembler.
scripts\RV32I_quartus\build_main.bat scripts\RV32E_fram\build_main.bat
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
scripts\sim\questa\run.bat [-gl] [-vcd] [-q]
build_copy_simulate.bat
Tobias Kling
Philip Mohr
FH Kiel, 2025