PicoRV32
Awesome RISC-V

PicoRV32

Ecossistema RISC-V

O PicoRV32 é um núcleo RV32IMC escrito em Verilog e projetado para usar a menor área de FPGA possível. Claire Wolf, autora da suíte de síntese Yosys, o escreveu, e ele frequentemente serve como processador auxiliar dentro de chips maiores.

Visão geral

O PicoRV32 é um pequeno núcleo RISC-V escrito em Verilog, uma linguagem para descrever hardware. Um núcleo é a parte de um chip que executa instruções. Ele implementa o RV32IMC, o conjunto de instruções base de 32 bits com multiplicação e instruções comprimidas, e pode ser reduzido ao RV32E, uma versão com menos registradores.

Um FPGA é um chip que pode ser reconfigurado para se comportar como um circuito diferente. Em FPGAs Xilinx 7-Series, o PicoRV32 usa entre 750 e 2000 lookup tables, as células lógicas básicas de um FPGA, e opera a 250 a 450 MHz. Ele se conecta à memória por meio de sua própria interface simples ou por meio do AXI4-Lite, um padrão comum de barramento on-chip, e oferece interrupções opcionais e uma interface de coprocessador para instruções personalizadas.

Histórico

Claire Wolf, a criadora da ferramenta de síntese Yosys, publicou o PicoRV32 em 2015. O Yosys converte descrições de hardware em circuitos, e o PicoRV32 tornou-se um projeto de teste comum para ferramentas FPGA de código aberto. O repositório foi movido para a organização YosysHQ e agora está arquivado, e o núcleo não recebe mais desenvolvimento ativo.

Onde é usado

O PicoRV32 atua como um processador auxiliar, um núcleo de apoio que executa tarefas de controle dentro de um projeto de FPGA ou chip maior. Sua alta velocidade de clock permite que ele se junte a projetos existentes na própria taxa de clock deles. O PicoSoC, um sistema de exemplo incluído no repositório, executa o PicoRV32 em placas FPGA iCE40 de baixo custo.

Fontes

  1. PicoRV32 README