Vitis Tutorialはgithubの次のリポジトリをダウンロードして進めていきます。
$ git clone https://github.com/Xilinx/Vitis-Tutorials
まず、読むのはdocs/vitis-getting-startedです。
次の順にセットアップを行い、「3. Building the Accelerated Application — Essential Concepts」でサンプルデザインをビルドします。
$ cd Vitis-Tutorials/docs/Pathway3/reference-files/run
インストールしたPlatformを確認します。
$ ls /opt/xilinx/platforms/
xilinx_u50_xdma_201920_1
Makefileはデフォルトで次のようになっています。
TARGET := sw_emu
PLATFORM := xilinx_u200_xdma_201830_2
PLATFORMをインストールしているPlatformに変更します。
TARGET := sw_emu
PLATFORM := xilinx_u50_xdma_201920_1
design.cfgもデフォルトは次のようになっています。
platform=xilinx_u200_xdma_201830_2
debug=1
[connectivity]
nk=mmult:1:mmult_1
platformをインストールしているplatformに修正します。
platform=xilinx_u50_xdma_201920_1
debug=1
[connectivity]
nk=mmult:1:mmult_1
コンパイル前に次のように環境変数のセットアップをします。
$ source /opt/Xilinx/Vitis/2019.2/settings64.sh
$ source /opt/xilinx/xrt/setup.sh
まずはsw_emuをコンパイルします。
次のようにmake buildコマンドを実行します。
$ make build
<<<途中は省略>>>
emconfigutil --platform xilinx_u50_xdma_201920_1
****** configutil v2019.2 (64-bit)
**** SW Build 2700185 on Thu Oct 24 18:45:48 MDT 2019
** Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
INFO: [ConfigUtil 60-895] Target platform: /opt/xilinx/platforms/xilinx_u50_xdma_201920_1/xilinx_u50_xdma_201920_1.xpfm
INFO: [ConfigUtil 60-1578] This platform contains Device Support Archive '/opt/xilinx/platforms/xilinx_u50_xdma_201920_1/hw/xilinx_u50_xdma_201920_1.dsa'
emulation configuration file `emconfig.json` is created in current working directory
MakefileのTARGETを次のようにhw_emuに変更してmakeします。
TARGET := hw_emu
$ make build
<<<途中は省略>>>
emconfigutil --platform xilinx_u50_xdma_201920_1
****** configutil v2019.2 (64-bit)
**** SW Build 2700185 on Thu Oct 24 18:45:48 MDT 2019
** Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
INFO: [ConfigUtil 60-895] Target platform: /opt/xilinx/platforms/xilinx_u50_xdma_201920_1/xilinx_u50_xdma_201920_1.xpfm
INFO: [ConfigUtil 60-1578] This platform contains Device Support Archive '/opt/xilinx/platforms/xilinx_u50_xdma_201920_1/hw/xilinx_u50_xdma_201920_1.dsa'
emulation configuration file `emconfig.json` is created in current working directory
最後にMakefileのTARGETをhwに変更してコンパイルします。
TARGET := hw
$ make build
<<<途中は省略>>>
emconfigutil --platform xilinx_u50_xdma_201920_1
****** configutil v2019.2 (64-bit)
**** SW Build 2700185 on Thu Oct 24 18:45:48 MDT 2019
** Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
INFO: [ConfigUtil 60-895] Target platform: /opt/xilinx/platforms/xilinx_u50_xdma_201920_1/xilinx_u50_xdma_201920_1.xpfm
INFO: [ConfigUtil 60-1578] This platform contains Device Support Archive '/opt/xilinx/platforms/xilinx_u50_xdma_201920_1/hw/xilinx_u50_xdma_201920_1.dsa'
emulation configuration file `emconfig.json` is created in current working directory
real 54m21.755s
user 1m22.786s
sys 0m10.856s
最後にhwでrunしてみましょう。
$ make run
emconfigutil --platform xilinx_u50_xdma_201920_1
****** configutil v2019.2 (64-bit)
**** SW Build 2700185 on Thu Oct 24 18:45:48 MDT 2019
** Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
INFO: [ConfigUtil 60-895] Target platform: /opt/xilinx/platforms/xilinx_u50_xdma_201920_1/xilinx_u50_xdma_201920_1.xpfm
INFO: [ConfigUtil 60-1578] This platform contains Device Support Archive '/opt/xilinx/platforms/xilinx_u50_xdma_201920_1/hw/xilinx_u50_xdma_201920_1.dsa'
emulation configuration file `emconfig.json` is created in current working directory
./host mmult.hw.xilinx_u50_xdma_201920_1.xclbin
Found Platform
Platform Name: Xilinx
INFO: Reading mmult.hw.xilinx_u50_xdma_201920_1.xclbin
Loading: 'mmult.hw.xilinx_u50_xdma_201920_1.xclbin'
TEST PASSED
TEST PASSEDって表示されたけど、実際に何をしたのかよくわからない。