riscv-tests のインストール方法

投稿日:2025年04月04日      最終更新日:2025年04月04日

1. はじめに

riscv-testsは、RISC-Vのプロセッサ向けのユニットテストやベンチマークテストのセットです。
自分の実装したRISC-V CoreがRISC-VのISAに準拠しているかを検証するために使用されます。(ただし、すべての命令のテストを網羅しているわけではないようです。)

2. ビルド方法

riscv-tests は、riscv-gnu-toolchain をビルドした後に、ビルドする必要があります。
riscv-gnu-toolchain のビルドは RISC-V Spike のインストール を参照してください。
ビルド時のコマンドは、 make linux ではなく、 make を実行してください。さもないと必要なコンパイラがビルドされません。make linux を実行しても構いませんが、linux用のコンパイラがビルドされます。riscv-tests では ベアメタル用のelf形式のバイナリをビルドするため、linux用のコンパイラは必要ありません。

$ git clone https://github.com/riscv/riscv-tests
$ cd riscv-tests
$ git submodule update --init --recursive
$ autoconf
$ ./configure --prefix=$RISCV/target
$ make
$ make install

3. Spike での実行方法

下記のコマンドで実行できます。riscv-testsをビルドすると、$RISCV/target/share/riscv-tests/isa にテストがインストールされます。RISC-V の形式ごとに様々なテストがインストールされているので、そのうち一つを選んで、spikeに渡してください。
また、spike を実行する際は、 --isa オプションを指定する必要があります。--isa オプションは、テストを実行するISAシミュレーターのISAを指定します。実行するテストによって適宜変更してください。

実行コマンド
spike -l --isa=RV64I ${RISCV}/target/share/riscv-tests/isa/<テスト名>
Example
spike -l --isa=RV64I ${RISCV}/target/share/riscv-tests/isa/rv64ui-p-add
Comment Box is loading comments...