VexRiscv
Awesome RISC-V

VexRiscv

Экосистема RISC-V

VexRiscv — это 32-битное ядро, написанное на SpinalHDL. Плагины определяют, какие стадии конвейера, кэши и расширения включает сборка. Его создал Charles Papon, и LiteX использует его как процессор по умолчанию для FPGA-систем на кристалле.

Обзор

VexRiscv — это 32-битное ядро RISC-V, написанное на SpinalHDL, языке описания аппаратуры, построенном на Scala. Ядро — это часть чипа, которая выполняет инструкции. VexRiscv ориентирован на FPGA, чипы, которые можно перенастраивать так, чтобы они вели себя как другая схема, и избегает блоков, привязанных к одному производителю, поэтому один и тот же дизайн работает на FPGA разных поставщиков.

Дизайн собирается из плагинов. Плагин добавляет одну функцию, например кэш, умножитель, блок плавающей запятой или блок управления памятью, а конвейер может иметь от двух до более чем пяти ступеней. Самая маленькая сборка использует около 500 таблиц поиска FPGA, а полная сборка с блоком управления памятью запускает Linux.

История

Charles Papon, создатель SpinalHDL, начал работу над VexRiscv в 2017 году. Позже Papon создал NaxRiscv — ядро с внеочередным выполнением, построенное с использованием того же подхода на основе плагинов.

Где используется

LiteX, широко используемый фреймворк для построения систем FPGA на кристалле, использует VexRiscv в качестве процессора по умолчанию. Проект Linux on LiteX VexRiscv загружает Linux на недорогих платах FPGA, а ядро также поддерживает Zephyr и FreeRTOS — две операционные системы для встраиваемых устройств.

Источники

  1. VexRiscv README
  2. LiteX
  3. Linux on LiteX VexRiscv