VexRiscv
RISC-V-ÖkosystemVexRiscv ist ein in SpinalHDL geschriebener 32-Bit-Kern. Plugins entscheiden, welche Pipeline-Stufen, Caches und Erweiterungen ein Build enthält. Charles Papon hat ihn erstellt, und LiteX verwendet ihn als Standard-CPU für FPGA-Systeme auf einem Chip.
Übersicht
VexRiscv ist ein 32-Bit-RISC-V-Kern, geschrieben in SpinalHDL, einer Hardwarebeschreibungssprache, die auf Scala aufbaut. Ein Kern ist der Teil eines Chips, der Anweisungen ausführt. VexRiscv zielt auf FPGAs ab, Chips, die so rekonfiguriert werden können, dass sie sich wie eine andere Schaltung verhalten, und vermeidet Blöcke, die an einen Hersteller gebunden sind, sodass dasselbe Design auf FPGAs verschiedener Anbieter läuft.
Das Design wird aus Plugins zusammengesetzt. Ein Plugin fügt eine Funktion hinzu, etwa einen Cache, einen Multiplizierer, eine Gleitkommaeinheit oder eine Speicherverwaltungseinheit, und die Pipeline kann zwei bis mehr als fünf Stufen haben. Der kleinste Build verwendet etwa 500 FPGA-Lookup-Tabellen, und ein vollständiger Build mit einer Speicherverwaltungseinheit führt Linux aus.
Verlauf
Charles Papon, der Schöpfer von SpinalHDL, begann 2017 mit VexRiscv. Papon entwickelte später NaxRiscv, einen Out-of-Order-Kern, der mit demselben Plugin-Ansatz aufgebaut ist.
Wo es verwendet wird
LiteX, ein weit verbreitetes Framework zum Aufbau von FPGA-Systemen auf einem Chip, verwendet VexRiscv als Standard-CPU. Das Projekt Linux on LiteX VexRiscv bootet Linux auf kostengünstigen FPGA-Boards, und der Kern führt außerdem Zephyr und FreeRTOS aus, zwei Betriebssysteme für eingebettete Geräte.
