PicoRV32
Awesome RISC-V

PicoRV32

Ecosistema RISC-V

PicoRV32 es un núcleo RV32IMC escrito en Verilog y diseñado para usar la menor área de FPGA posible. Lo escribió Claire Wolf, autora de la suite de síntesis Yosys, y a menudo sirve como procesador auxiliar dentro de chips más grandes.

Descripción general

PicoRV32 es un pequeño núcleo RISC-V escrito en Verilog, un lenguaje para describir hardware. Un núcleo es la parte de un chip que ejecuta instrucciones. Implementa RV32IMC, el conjunto de instrucciones base de 32 bits con multiplicación e instrucciones comprimidas, y puede reducirse a RV32E, una versión con menos registros.

Una FPGA es un chip que puede reconfigurarse para comportarse como un circuito diferente. En las FPGA Xilinx de la serie 7, PicoRV32 utiliza entre 750 y 2000 tablas de búsqueda, las celdas lógicas básicas de una FPGA, y funciona a entre 250 y 450 MHz. Se conecta a la memoria mediante su propia interfaz simple o mediante AXI4-Lite, un estándar común de bus en chip, y ofrece interrupciones opcionales y una interfaz de coprocesador para instrucciones personalizadas.

Historial

Claire Wolf, la creadora de la herramienta de síntesis Yosys, publicó PicoRV32 en 2015. Yosys convierte descripciones de hardware en circuitos, y PicoRV32 se convirtió en un diseño de prueba común para herramientas FPGA de código abierto. El repositorio se trasladó a la organización YosysHQ y ahora está archivado, y el núcleo ya no recibe desarrollo activo.

Dónde se usa

PicoRV32 actúa como procesador auxiliar, un núcleo de apoyo que ejecuta tareas de control dentro de un diseño FPGA o chip más grande. Su alta velocidad de reloj le permite unirse a diseños existentes a su propia frecuencia de reloj. PicoSoC, un sistema de ejemplo incluido en el repositorio, ejecuta PicoRV32 en placas FPGA iCE40 de bajo coste.

Fuentes

  1. PicoRV32 README