FC2カウンター FPGAの部屋 2020年07月07日
fc2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

ZynqMP-FPGA-Linux で Vitis 2020.1 でビルドした vadd を動作させる3(XRT インストール、Vitis サンプル・デザインの実行)

ZynqMP-FPGA-Linux で Vitis 2020.1 でビルドした vadd を動作させる2(Debian を起動)”の続き。

前回は、ikwzm さんの ZynqMP-FPGA-Linux を使ってみることにしたということで、作成した MicroSD カードをUltra96-V2 に挿入して起動し、GUI の設定などを行った。今回は、XRT をインストールして、Vitis アクセラレーション・アプリケーションを動作させてみよう。

最初にUbuntu 18.04 のパソコンから ssh で Ultra96-V2 にログインした。
ssh 192.168.3.24 -X -l fpga
ZynqMP-FPGA-Linux201_22_200705.png

ikwzm さんの ZynqMP-FPGA-XRT を参照して XRT をインストールしていこう。
まずは、ZynqMP-FPGA-XRT.git をダウンロードする。
git clone https://github.com/ikwzm/ZynqMP-FPGA-XRT.git
cd ZynqMP-FPGA-XRT/
ls

ZynqMP-FPGA-Linux201_23_200705.png

python-pyopencl をインストールした。
sudo apt install -y python-pyopencl
ZynqMP-FPGA-Linux201_24_200705.png

xrt_202010.2.6.0_Ubuntu_18.04-arm64-xrt.deb をインストールした。
sudo apt install ./xrt_202010.2.6.0_Ubuntu_18.04-arm64-xrt.deb
ZynqMP-FPGA-Linux201_25_200705.png
ZynqMP-FPGA-Linux201_26_200705.png

xrt-setup_2.6.0-1_arm64.deb をインストールした。
sudo apt install ./xrt-setup_2.6.0-1_arm64.deb
ZynqMP-FPGA-Linux201_27_200705.png
ZynqMP-FPGA-Linux201_28_200705.png

これからは、ikwzm/ZynqMP-FPGA-XRT-Example-1-Ultra96 に従ってやっていく。

Vitis_work を作って、ikwzm/ZynqMP-FPGA-XRT-Example-1-Ultra96 をダウンロードした。
mkdir Vitis_work
cd Vitis_work/
git clone https://github.com/ikwzm/ZynqMP-FPGA-XRT-Example-1-Ultra96.git
cd ZynqMP-FPGA-XRT-Example-1-Ultra96/
ls

ZynqMP-FPGA-Linux201_29_200705.png

XRT をセットアップした。
source /opt/xilinx/xrt/setup.sh
ZynqMP-FPGA-Linux201_30_200705.png

zocl をロード、クロックを設定する。その前に、streaming_lap_filter5.bin を /lib/firmware/ にコピーする
sudo cp streaming_lap_filter5.bin /lib/firmware/
sudo ./dtbocfg.rb --install zocl --dts zocl.dts
dmesg | tail -12

ZynqMP-FPGA-Linux201_31_200705.png

dmesg の tail -12 ではすべてのメッセージが表示されていなかったので、メッセージを貼っておく。

[  291.996977] fpga_manager fpga0: writing streaming_lap_filter5.bin to Xilinx ZynqMP FPGA Manager
[  292.315190] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/firmware-name
[  292.347674] zocl: loading out-of-tree module taints kernel.
[  292.356199] [drm] Probing for xlnx,zocl
[  292.360174] zocl-drm amba_pl@0:zyxclmm_drm: IRQ index 0 not found
[  292.366416] [drm] PR Isolation addr 0x0
[  292.366921] [drm] Initialized zocl 2018.2.1 20180313 for amba_pl@0:zyxclmm_drm on minor 1
[  292.380423] fclkcfg amba_pl@0:fclk0: driver installed.
[  292.385601] fclkcfg amba_pl@0:fclk0: device name    : amba_pl@0:fclk0
[  292.392061] fclkcfg amba_pl@0:fclk0: clock  name    : pl0_ref
[  292.397806] fclkcfg amba_pl@0:fclk0: clock  rate    : 99999999
[  292.403660] fclkcfg amba_pl@0:fclk0: clock  enabled : 1
[  292.408880] fclkcfg amba_pl@0:fclk0: remove rate    : 1000000
[  292.414622] fclkcfg amba_pl@0:fclk0: remove enable  : 0


OF: overlay: WARNING が出ているようだ。

streaming_lap_filter5.exe を実行する。
./streaming_lap_filter5.exe streaming_lap_filter5.xclbin
ZynqMP-FPGA-Linux201_32_200705.png

動作しなかった。
No devices found だった。

(追記)
ikwzm さんに動作させ方を聞いたところ、
sudo chmod 666 /dev/dri/renderD128
でパーミッションを与えてくれということだったので、やってみたところうまく行った。

cd Vitis_work/
cd ZynqMP-FPGA-XRT-Example-1-Ultra96/
source /opt/xilinx/xrt/setup.sh
sudo ./dtbocfg.rb --install zocl --dts zocl.dts
dmesg | tail -15

ZynqMP-FPGA-Linux201_36_200707.png
ZynqMP-FPGA-Linux201_37_200707.png

sudo chmod 666 /dev/dri/renderD128
./streaming_lap_filter5.exe streaming_lap_filter5.xclbin

ZynqMP-FPGA-Linux201_38_200707.png

うまく動作した。良かった。

fpga@debian-fpga:~/Vitis_work/ZynqMP-FPGA-XRT-Example-1-Ultra96$ ./streaming_lap_filter5.exe streaming_lap_filter5.xclbin
Using FPGA binary file specfied through the command line: streaming_lap_filter5.xclbin
Found Platform
Platform Name: Xilinx
Loading: 'streaming_lap_filter5.xclbin'
total time = 0.000614 sec
Success HW and SW results match


実行時間は 614 us なので速い。
  1. 2020年07月07日 04:35 |
  2. Vitis
  3. | トラックバック:0
  4. | コメント:0