Rocket-ChipはXilinx FPGAを使って合成することができるが、Xilinx Vivadoと言えば、 Amazon AMI だ(身勝手)。
Amazon AMIのインスタンスを使えばVivadoをAWSで簡単に使用することができるらしい、と聞いて早速やってみた。
と思ったら、単体のVivadoが入っているわけではなくて、 SDx の Vivadoが入っているのか。 サポートしているデバイスも削られているようだ。
というわけで Rocket-Chip の fpga-zynq をダウンロードして、 デバイスを変更して実行してみた。
いくつかCentOS用にパッケージのインストールが必要だ。
sudo yum install java-1.8.0-openjdk sudo yum install java-1.8.0-openjdk-devel
git clone https://github.com/ucb-bar/fpga-zynq.git --recurse-submodules
Rocket-Chip のリポジトリをダウンロードする。
diff --git a/rocket-chip b/rocket-chip --- a/rocket-chip +++ b/rocket-chip @@ -1 +1 @@ -Subproject commit f3299ae91d3f01d0349eb4746886e303e8fb1b41 +Subproject commit f3299ae91d3f01d0349eb4746886e303e8fb1b41-dirty diff --git a/zc706/fpga-images-zc706 b/zc706/fpga-images-zc706 --- a/zc706/fpga-images-zc706 +++ b/zc706/fpga-images-zc706 @@ -1 +1 @@ -Subproject commit c2ece5e916a8f4205ab70163be9a2aa1766fab6a +Subproject commit c2ece5e916a8f4205ab70163be9a2aa1766fab6a-dirty diff --git a/zedboard/src/tcl/zedboard_bd.tcl b/zedboard/src/tcl/zedboard_bd.tcl index 27d7e74..1b78f49 100644 --- a/zedboard/src/tcl/zedboard_bd.tcl +++ b/zedboard/src/tcl/zedboard_bd.tcl @@ -20,7 +20,7 @@ set script_folder [_tcl::get_script_folder] ################################################################ # Check if script is running in correct Vivado version. ################################################################ -set scripts_vivado_version 2016.2 +set scripts_vivado_version 2017.1_sdxop set current_vivado_version [version -short] if { [string first $scripts_vivado_version $current_vivado_version] == -1 } { @@ -43,7 +43,8 @@ if { [string first $scripts_vivado_version $current_vivado_version] == -1 } { set list_projs [get_projects -quiet] if { $list_projs eq "" } { - create_project project_1 myproj -part xc7z020clg484-1 +# create_project project_1 myproj -part xc7z020clg484-1 + create_project project_1 myproj -part xcvu9p-flga2104-1-e set_property BOARD_PART em.avnet.com:zed:part0:1.0 [current_project] }
と思ったらFPGA-ZynqのリポジトリはARMコアが入っている必要があるんだな。 別の構成を試してみよう。
っていうか SDx ってAWSのディスク領域食いすぎじゃない?
/usr/bin/install: cannot create regular file ‘/home/centos/riscv64/lib/gcc/riscv64-unknown-elf/7.1.1/plugin/include/wide-int-print.h’: No space left on device /bin/sh: line 15: echo: write error: No space left on device /usr/bin/install: cannot create regular file ‘/home/centos/riscv64/lib/gcc/riscv64-unknown-elf/7.1.1/plugin/include/xcoff.h’: No space left on device /bin/sh: line 15: echo: write error: No space left on device /usr/bin/install: cannot create regular file ‘/home/centos/riscv64/lib/gcc/riscv64-unknown-elf/7.1.1/plugin/include/xcoffout.h’: No space left on device gmake[2]: *** [install-plugin] Error 1
2018/01/21 追記: freedomの構成を試してみたけれども、MIGの構成を変えなければならないのか。
ERROR: [Coretcl 2-1132] No IP matching VLNV 'xilinx.com:ip:mig_7series:*' is accessible for the current part 'xcvu9p-flga2104-1-e'.
AWSでは、DDRをどのように処理すればよいのか、分からない。DDRのインスタンスを配置していること自体が良くないのか。