VexRiscv
Ecossistema RISC-VVexRiscv é um núcleo de 32 bits escrito em SpinalHDL. Plugins decidem quais estágios de pipeline, caches e extensões uma compilação inclui. Charles Papon o criou, e o LiteX o usa como sua CPU padrão para sistemas em chip FPGA.
Visão geral
VexRiscv é um núcleo RISC-V de 32 bits escrito em SpinalHDL, uma linguagem de descrição de hardware construída sobre Scala. Um núcleo é a parte de um chip que executa instruções. O VexRiscv tem como alvo FPGAs, chips que podem ser reconfigurados para se comportar como um circuito diferente, e evita blocos vinculados a um único fabricante, de modo que o mesmo projeto roda em FPGAs de diferentes fornecedores.
O projeto é montado a partir de plugins. Um plugin adiciona um recurso, como um cache, um multiplicador, uma unidade de ponto flutuante ou uma unidade de gerenciamento de memória, e o pipeline pode ter de dois a mais de cinco estágios. A menor configuração usa cerca de 500 tabelas de consulta de FPGA, e uma configuração completa com uma unidade de gerenciamento de memória executa o Linux.
Histórico
Charles Papon, o criador do SpinalHDL, iniciou o VexRiscv em 2017. Papon mais tarde criou o NaxRiscv, um núcleo out-of-order construído com a mesma abordagem de plugins.
Onde é usado
O LiteX, uma estrutura amplamente utilizada para construir sistemas FPGA em chip, usa o VexRiscv como sua CPU padrão. O projeto Linux on LiteX VexRiscv inicializa o Linux em placas FPGA de baixo custo, e o núcleo também executa o Zephyr e o FreeRTOS, dois sistemas operacionais para dispositivos embarcados.
