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

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

FPGAの部屋

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

ikwzm さんの”Ultra96/Ultra96-V2 向け Debian GNU/Linux で XRT(Xilinx Runtime) を動かす”をやってみる6(fclkcfg, udmabufインストール編)

ikwzm さんの”Ultra96/Ultra96-V2 向け Debian GNU/Linux で XRT(Xilinx Runtime) を動かす”をやってみる5(実践編)”の続き。

XRT を使用して、streaming_lap_fitler5 を動作させることができたが、fclk0 の動作周波数設定をすることができずにデフォルト値でクロックがでているようだった。 ikwzm さんにお聞きしたところ、fclkcfg や udmabuf がインストールされていないということなので、インストールして、もう一度、XRT を使用して、streaming_lap_fitler5 を動作させてみよう。

まずは、Ubuntu 18.04 が動作するパソコンで、ikwzm さんの ZynqMP-FPGA-Linux を git clone する。
git clone https://github.com/ikwzm/ZynqMP-FPGA-Linux.git
cd ZynqMP-FPGA-Linux
git checkout v2019.2.1
git lfs pull
ls -l

Vitis_Ubuntu_59_200414.png
Vitis_Ubuntu_60_200414.png

この内の”fclkcfg-4.19.0-xlnx-v2019.2-zynqmp-fpga_1.3.0-1_arm64.deb”、”udmabuf-4.19.0-xlnx-v2019.2-zynqmp-fpga_1.4.6-0_arm64.deb”、”u-dma-buf-4.19.0-xlnx-v2019.2-zynqmp-fpga_2.1.3-0_arm64.deb”を Ultra96-V2 の Ubuntu 18.04 上でインストールする。

この 3 個のパッケージを FileZilla で SFTP して、 Ultra96-V2 の Ubuntu 18.04 上にアップロードした。
Vitis_Ubuntu_61_200414.png

ここからは、 Ultra96-V2 の Ubuntu 18.04 上での作業になる。
”fclkcfg-4.19.0-xlnx-v2019.2-zynqmp-fpga_1.3.0-1_arm64.deb”、”udmabuf-4.19.0-xlnx-v2019.2-zynqmp-fpga_1.4.6-0_arm64.deb”、”u-dma-buf-4.19.0-xlnx-v2019.2-zynqmp-fpga_2.1.3-0_arm64.deb”をインストールする。
sudo dpkg -i fclkcfg-4.19.0-xlnx-v2019.2-zynqmp-fpga_1.3.0-1_arm64.deb
Vitis_Ubuntu_62_200414.png

sudo dpkg -i udmabuf-4.19.0-xlnx-v2019.2-zynqmp-fpga_1.4.6-0_arm64.deb
sudo dpkg -i u-dma-buf-4.19.0-xlnx-v2019.2-zynqmp-fpga_2.1.3-0_arm64.deb

Vitis_Ubuntu_63_200414.png

これで、パッケージがインストールされたので、XRT のリンクを準備して、zocl ドライバをロードする。
cd ZynqMP-FPGA-XRT-Example-1-Ultra96/
source /opt/xilinx/xrt/setup.sh
sudo ./dtbocfg.rb --install zocl --dts zocl.dts

Vitis_Ubuntu_64_200414.png

dmesg | tail -18 すると、fclkcfg が fclk0 に動作周波数をロードしているのが見えた。成功だ。
Vitis_Ubuntu_65_200414.png

[ 2015.009428] fpga_manager fpga0: writing streaming_lap_filter5.bin to Xilinx ZynqMP FPGA Manager
[ 2015.409550] zocl: loading out-of-tree module taints kernel.
[ 2015.411669] fclkcfg amba_pl@0:fclk0: driver installed.
[ 2015.411678] fclkcfg amba_pl@0:fclk0: device name    : amba_pl@0:fclk0
[ 2015.411683] fclkcfg amba_pl@0:fclk0: clock  name    : pl0_ref
[ 2015.411688] fclkcfg amba_pl@0:fclk0: clock  rate    : 99999999
[ 2015.411712] fclkcfg amba_pl@0:fclk0: clock  enabled : 1
[ 2015.411716] fclkcfg amba_pl@0:fclk0: remove rate    : 1000000
[ 2015.411720] fclkcfg amba_pl@0:fclk0: remove enable  : 0
[ 2015.414984] [drm] Probing for xlnx,zocl
[ 2015.415083] [drm] FPGA programming device pcap founded.
[ 2015.415088] [drm] PR Isolation addr 0x0
[ 2015.415872] [drm] Initialized zocl 2018.2.1 20180313 for a0000000.zyxclmm_drm on minor 1
[ 2015.423517] [drm] Pid 3305 opened device
[ 2015.423591] [drm] Pid 3305 closed device
[ 2015.432958] [drm] Pid 3305 opened device
[ 2015.433029] [drm] Pid 3305 closed device


これで準備は完了したので、streaming_lap_fitler5 を動作させてみよう。
./streaming_lap_filter5.exe streaming_lap_filter5.xclbin
3 回繰り返した。
Vitis_Ubuntu_66_200414.png

実行時間は 3.817 ms, 1.741 ms , 4,848 ms だった。結構ばらつく。

今回はラプラシアン・フィルタ結果の temp_lap.bmp を見てみよう。
Vitis_Ubuntu_67_200414.png

Vitis_Ubuntu_68_200414.png

正常に、ラプラシアン・フィルタ処理できているようだ。
  1. 2020年04月16日 03:54 |
  2. Vitis
  3. | トラックバック:0
  4. | コメント:0