VexRiscv
Экосистема RISC-VVexRiscv — это 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 — две операционные системы для встраиваемых устройств.
