FPGA開発日記

FPGAというより、コンピュータアーキテクチャかもね! カテゴリ別記事インデックス https://sites.google.com/site/fpgadevelopindex/

RISC-V on ZedBoard for Parallelaのビルド実験

試しに、RISC-V on Parallela ボードのRISC-Vデザインをビルドしてみた。

リポジトリは以下に存在している。

https://github.com/eliaskousk/parallella-riscv

ここでは、Vivadoを用いて合成するので、LinuxマシンにVivadoがインストールされているのが前提だ。

まずはデザインをcloneしてくる。

git clone https://github.com/eliaskousk/parallella-riscv.git

以降で、必要なsubmodulesはビルドスクリプトが勝手にフェッチしてくるので問題ない。

コンフィグレーションの変更を行う。今回は、RISC-VをZedBoardで動かしたいのと、Vivadoを2016.4で動作させるので、以下のような変更を行う。

  • scripts/settings.sh
diff --git a/scripts/settings.sh b/scripts/settings.sh
index 7f7dca2..e651f48 100644
--- a/scripts/settings.sh
+++ b/scripts/settings.sh
@@ -1,10 +1,10 @@
 #!/bin/bash

-BOARD=parallella
+BOARD=zedboard
 export BOARD
 echo "\$BOARD set to ${BOARD}"

-JOBS=8
+JOBS=4
 export JOBS
 echo "\$JOBS set to ${JOBS}"

@@ -12,7 +12,7 @@ VIVADO_PATH=/opt/Xilinx/Vivado
 export VIVADO_PATH
 echo "Vivado path set to ${VIVADO_PATH}"

-VIVADO_VERSION=2015.4
+VIVADO_VERSION=2016.4
 export VIVADO_VERSION
 echo "Vivado version set to ${VIVADO_VERSION}"

次に、ホストのソフトウェアをビルドする。もしかしたらこれは必要ないかもしれない。

sudo apt install openssl-dev  # 必要なファイルのインストール
./scripts/build.host.software.sh

RISC-Vデザインのビルドを行う。Vivadoが立ち上がり、合成が始まる。

./scripts/build.host.software.sh

しばらく待っているとビルドが終了するので、dcp(design check point)のファイルを読み込んで何がどうなっているのか確認してみよう。

vivado ./zedboard/fpga/zedboard_riscv/system.runs/impl_1/system_wrapper_opt.dcp

f:id:msyksphinz:20170401165650p:plain

当たり前だがほとんどがRISC-Vのデザインとなり、いくつかAXIのインタフェースを備えている。