PicoRV32
Awesome RISC-V

PicoRV32

RISC-V-Ökosystem

PicoRV32 ist ein in Verilog geschriebener RV32IMC-Kern, der entwickelt wurde, um möglichst wenig FPGA-Fläche zu belegen. Claire Wolf, Autorin der Yosys-Synthese-Suite, hat ihn geschrieben, und er dient oft als Hilfsprozessor innerhalb größerer Chips.

Übersicht

PicoRV32 ist ein kleiner RISC-V-Kern, geschrieben in Verilog, einer Sprache zur Beschreibung von Hardware. Ein Kern ist der Teil eines Chips, der Anweisungen ausführt. Er implementiert RV32IMC, den 32-Bit-Basisbefehlssatz mit Multiplikation und komprimierten Anweisungen, und kann auf RV32E reduziert werden, eine Version mit weniger Registern.

Ein FPGA ist ein Chip, der so rekonfiguriert werden kann, dass er sich wie eine andere Schaltung verhält. Auf Xilinx 7-Series FPGAs verwendet PicoRV32 zwischen 750 und 2000 Lookup-Tabellen, die grundlegenden Logikzellen eines FPGA, und läuft mit 250 bis 450 MHz. Er verbindet sich über seine eigene einfache Schnittstelle oder über AXI4-Lite, einen gängigen On-Chip-Busstandard, mit dem Speicher und bietet optionale Interrupts und eine Coprozessor-Schnittstelle für benutzerdefinierte Anweisungen.

Verlauf

Claire Wolf, die Entwicklerin des Synthesewerkzeugs Yosys, veröffentlichte PicoRV32 im Jahr 2015. Yosys wandelt Hardwarebeschreibungen in Schaltkreise um, und PicoRV32 wurde zu einem gängigen Testdesign für Open-Source-FPGA-Werkzeuge. Das Repository wurde in die YosysHQ-Organisation verschoben und ist inzwischen archiviert, und der Kern wird nicht mehr aktiv weiterentwickelt.

Wo es verwendet wird

PicoRV32 dient als Hilfsprozessor, ein Hilfskern, der Steuerungsaufgaben innerhalb eines größeren FPGA-Designs oder Chips ausführt. Seine hohe Taktfrequenz ermöglicht es ihm, sich bestehenden Designs mit deren eigener Taktfrequenz anzuschließen. PicoSoC, ein im Repository enthaltenes Beispielsystem, führt PicoRV32 auf kostengünstigen iCE40-FPGA-Boards aus.

Quellen

  1. PicoRV32 README