VexRiscv
Awesome RISC-V

VexRiscv

Écosystème RISC-V

VexRiscv est un cœur 32 bits écrit en SpinalHDL. Des plugins décident quels étages de pipeline, caches et extensions une compilation inclut. Charles Papon l'a créé, et LiteX l'utilise comme CPU par défaut pour les systèmes sur puce FPGA.

Aperçu

VexRiscv est un cœur RISC-V 32 bits écrit en SpinalHDL, un langage de description matérielle construit sur Scala. Un cœur est la partie d'une puce qui exécute les instructions. VexRiscv cible les FPGA, des puces qui peuvent être reconfigurées pour se comporter comme un circuit différent, et il évite les blocs liés à un seul fabricant, de sorte que la même conception fonctionne sur des FPGA de différents fournisseurs.

La conception est assemblée à partir de plugins. Un plugin ajoute une fonctionnalité, comme un cache, un multiplieur, une unité de calcul en virgule flottante ou une unité de gestion de mémoire, et le pipeline peut comporter de deux à plus de cinq étages. La plus petite configuration utilise environ 500 tables de correspondance FPGA, et une configuration complète avec une unité de gestion de mémoire fait tourner Linux.

Historique

Charles Papon, le créateur de SpinalHDL, a démarré VexRiscv en 2017. Papon a ensuite créé NaxRiscv, un cœur out-of-order construit avec la même approche par plugins.

Où il est utilisé

LiteX, un framework largement utilisé pour construire des systèmes FPGA sur puce, utilise VexRiscv comme processeur par défaut. Le projet Linux on LiteX VexRiscv démarre Linux sur des cartes FPGA à faible coût, et le cœur exécute également Zephyr et FreeRTOS, deux systèmes d'exploitation pour appareils embarqués.

Sources

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