VexRiscv
Awesome RISC-V

VexRiscv

Ekosystem RISC-V

VexRiscv to 32-bitowy rdzeń napisany w SpinalHDL. Wtyczki decydują, które etapy potoku, pamięci podręczne i rozszerzenia zawiera dana kompilacja. Stworzył go Charles Papon, a LiteX używa go jako domyślnego procesora dla systemów FPGA na chipie.

Przegląd

VexRiscv to 32-bitowy rdzeń RISC-V napisany w SpinalHDL, języku opisu sprzętu zbudowanym na Scali. Rdzeń to część układu, która wykonuje instrukcje. VexRiscv jest przeznaczony dla FPGA, układów, które można rekonfigurować tak, aby zachowywały się jak inny obwód, i unika bloków powiązanych z jednym producentem, dzięki czemu ten sam projekt działa na FPGA różnych dostawców.

Projekt jest składany z pluginów. Plugin dodaje jedną funkcję, taką jak pamięć podręczna, mnożnik, jednostka zmiennoprzecinkowa lub jednostka zarządzania pamięcią, a potok może mieć od dwóch do ponad pięciu stopni. Najmniejsza kompilacja używa około 500 tablic lookup FPGA, a pełna kompilacja z jednostką zarządzania pamięcią uruchamia Linuksa.

Historia

Charles Papon, twórca SpinalHDL, rozpoczął pracę nad VexRiscv w 2017 roku. Papon później stworzył NaxRiscv, rdzeń z wykonaniem poza kolejnością zbudowany z użyciem tego samego podejścia opartego na wtyczkach.

Gdzie jest używane

LiteX, powszechnie używany framework do budowania systemów FPGA na chipie, używa VexRiscv jako domyślnego procesora. Projekt Linux on LiteX VexRiscv uruchamia Linuksa na tanich płytach FPGA, a rdzeń obsługuje również Zephyr i FreeRTOS, dwa systemy operacyjne dla urządzeń wbudowanych.

Źródła

  1. VexRiscv README
  2. LiteX
  3. Linux on LiteX VexRiscv