VexRiscv
Awesome RISC-V

VexRiscv

RISC-Vエコシステム

VexRiscvはSpinalHDLで書かれた32ビットコアです。プラグインによって、ビルドに含めるパイプラインステージ、キャッシュ、拡張機能が決まります。Charles Paponが作成し、LiteXはFPGAシステムオンチップのデフォルトCPUとして採用しています。

概要

VexRiscvは、Scala上に構築されたハードウェア記述言語であるSpinalHDLで書かれた32ビットRISC-Vコアです。コアとは、命令を実行するチップの部分のことです。VexRiscvは、別の回路のように振る舞うよう再構成できるチップであるFPGAを対象としており、特定のメーカーに縛られたブロックを避けるため、同じ設計が異なるベンダーのFPGA上で動作します。

この設計はプラグインから組み立てられます。プラグインはキャッシュ、乗算器、浮動小数点ユニット、メモリ管理ユニットなど1つの機能を追加し、パイプラインは2段から5段以上まで持つことができます。最小のビルドは約500個のFPGAルックアップテーブルを使用し、メモリ管理ユニットを備えたフルビルドはLinuxを実行します。

履歴

SpinalHDLの作者であるCharles Paponは、2017年にVexRiscvを開始しました。Paponは後に、同じプラグイン方式で構築されたアウトオブオーダーコアであるNaxRiscvを作成しました。

使用場所

LiteXは、FPGAシステムオンチップを構築するための広く使われているフレームワークで、デフォルトのCPUとしてVexRiscvを使用しています。Linux on LiteX VexRiscvプロジェクトは、低コストのFPGAボード上でLinuxを起動し、このコアは組み込みデバイス向けの2つのオペレーティングシステムであるZephyrとFreeRTOSも実行します。

ソース

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