PicoRV32
Awesome RISC-V

PicoRV32

Écosystème RISC-V

PicoRV32 est un cœur RV32IMC écrit en Verilog et conçu pour utiliser le moins de surface FPGA possible. Claire Wolf, autrice de la suite de synthèse Yosys, l'a écrit, et il sert souvent de processeur auxiliaire au sein de puces plus grandes.

Aperçu

PicoRV32 est un petit cœur RISC-V écrit en Verilog, un langage de description de matériel. Un cœur est la partie d'une puce qui exécute les instructions. Il implémente RV32IMC, le jeu d'instructions de base 32 bits avec multiplication et instructions compressées, et peut être réduit à RV32E, une version avec moins de registres.

Un FPGA est une puce qui peut être reconfigurée pour se comporter comme un circuit différent. Sur les FPGA Xilinx 7-Series, PicoRV32 utilise entre 750 et 2000 tables de correspondance, les cellules logiques de base d'un FPGA, et fonctionne à 250 à 450 MHz. Il se connecte à la mémoire via sa propre interface simple ou via AXI4-Lite, une norme de bus sur puce courante, et offre des interruptions optionnelles et une interface de coprocesseur pour des instructions personnalisées.

Historique

Claire Wolf, la créatrice de l'outil de synthèse Yosys, a publié PicoRV32 en 2015. Yosys convertit les descriptions matérielles en circuits, et PicoRV32 est devenu une conception de test courante pour les outils FPGA open source. Le dépôt a été déplacé vers l'organisation YosysHQ et est désormais archivé, et le cœur ne reçoit plus de développement actif.

Où il est utilisé

PicoRV32 sert de processeur auxiliaire, un cœur d'assistance qui exécute des tâches de contrôle au sein d'une conception FPGA ou d'une puce plus vaste. Sa fréquence d'horloge élevée lui permet de rejoindre des conceptions existantes à leur propre fréquence d'horloge. PicoSoC, un système d'exemple inclus dans le dépôt, exécute PicoRV32 sur des cartes FPGA iCE40 à faible coût.

Sources

  1. PicoRV32 README