FC2カウンター FPGAの部屋 Vitis Vision Library を使用する時の Vitis HLS 2020.2 の設定方法(dilation 編 1)
fc2ブログ

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

FPGAの部屋

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

Vitis Vision Library を使用する時の Vitis HLS 2020.2 の設定方法(dilation 編 1)

XfOpenCV が休止になって、後継が Vitis Vision Library になった。
正確に言うと、 Vitis_Libraries/vision/L1/ が Vitis HLS のフローとなっている。
Vitis Vision Library のマニュアルは、 Vitis Vision Library User Guide で、 Vitis HLS での Vitis Vision Library の使用方法については、 Getting Started with HLS に記述がある。
Vitis Vision Library User GuidePrerequisites に従って、”Ubuntu 18.04 LTS のパソコンに OpenCV 3.4.9 をインストールする”で OpenCV 3.4.9 を Ubuntu 18.04 LTS の自分のパソコンにインストールした。
これで、Vitis HLS 2020.2 で Vitis Vision Library を実行する環境が整ったので、早速やってみよう。

最初に、Getting Started with HLS に例示されている dilation をやってみよう。

Vitis HLS 2020.2 で ZYBO Z7-20 用の dilation プロジェクトを作成した。

Vitis Libraries を git clone した。
git clone https://github.com/Xilinx/Vitis_Libraries.git

Vitis_Libraries/vision/L1/examples/dilation ディレクトリの 3 つのファイル

xf_dilation_accel.cpp
xf_dilation_config.h
xf_dilation_tb.cpp


を Vitis HLS の dilation プロジェクトのディレクトリにコピーした。

Vitis_Libraries/vision/L1/examples/dilation/build ディレクトリの

xf_config_params.h

も Vitis HLS の dilation プロジェクトのディレクトリにコピーした。
Vitis_Vision_Library4Vitis_HLS_1_201227.png

Vitis HLS の Explorer で Source に xf_dilation_accel.cpp を Test Bench に xf_dilation_tb.cpp を登録した。
Vitis_Vision_Library4Vitis_HLS_2_201227.png

Getting Started with HLS の”Use the following steps to operate the HLS Standalone Mode using GUI”を参考にしながら、Vitis HLS を設定していこう。

まずは、OpenCV のインストールでインストールされた、 include ディレクトリや lib ディレクトリを確認しよう。

OpenCV 3.4.9 の include ディレクトリは /usr/local/include/opencv2 だった。 opencv.hpp がある。
Vitis_Vision_Library4Vitis_HLS_3_201227.png

ただし、Vitis Vision library では、 include する際に opencv2 ディレクトリを付加してパスを設定しているので、 /usr/local/include を設定すれば良さそうだ。
Vitis_Vision_Library4Vitis_HLS_4_201227.png

#include "opencv2/opencv.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgcodecs/imgcodecs.hpp"


次に OpenCV 3.4.9 の lib のパスは、 /usr/local/lib にあった。
Vitis_Vision_Library4Vitis_HLS_5_201227.png

これで OpenCV 関連のパスが分かったので、Vitis HLS 2020.2 の Project メニューから Project Settings... を選択して、設定を行う。
Project Settings (dilation) ダイアログが開く。
左のウインドウで Simulation をクリックする。
xf_dilation_tb.cpp の CFLAGS を設定する。(設定方法は、Edit CFLAGS... ボタンをクリックする)
テストベンチ・ファイルの CFLAGS は Getting Started with HLS では、

-I<path-to-L1-include-directory> -std=c++0x -I<path-to-opencv-include-folder>

と指定されている。
そこで、実際に入れる CFLAG は

-I/media/masaaki/Ubuntu_Disk/Xilinx_github/Vitis_Libraries/vision/L1/include -std=c++0x -I/usr/local/include

になった。なお、フルパスで入れたのだが、Vitis HLS の Project Settings (dilation) ダイアログ で見える xf_dilation_tb.cpp の CFLAGS は相対パスになっている。

Linker Flags は Getting Started with HLS では、

-L<path-to-opencv-lib-folder> -lopencv_core -lopencv_imgcodecs -lopencv_imgproc

と指定されている。
よって、実際に入力した Linker Flags は

-L/usr/local/lib -lopencv_core -lopencv_imgcodecs -lopencv_imgproc

とした。

Input Arguments では、画像ファイルを指定する。デフォルトでは、縦 128 行、横 128 ピクセルの画像が指定されている。よって、 Vitis Vision Library の data ディレクトリにあった 128x128.png を指定した。

/media/masaaki/Ubuntu_Disk/Xilinx_github/Vitis_Libraries/vision/data/128x128.png


Vitis_Vision_Library4Vitis_HLS_6_201227.png

ここで、 Synthesis まで設定すると OK ボタンが押せなくなるので、 OK ボタンをクリックしてダイアログを終了する。

再度、Vitis HLS 2020.2 の Project メニューから Project Settings... を選択して、設定を行う。
Project Settings (dilation) ダイアログが開く。
左のウインドウで Synthesis をクリックする。
xf_dilation_accel.cpp の CFLAGS を設定する。(設定方法は、Edit CFLAGS... ボタンをクリックする)
ソース・ファイルの CFLAGS は Getting Started with HLS によると、Simulation のファイルの CFLAGS から OpenCV のインクルード・パスを含めないということだったので、

-I/media/masaaki/Ubuntu_Disk/Xilinx_github/Vitis_Libraries/vision/L1/include -std=c++0x

とした。
Vitis_Vision_Library4Vitis_HLS_7_201227.png

こちらはフルパスで入っているようだ。
OK ボタンが押せなくなっていることもあるが、 Cancel ボタンをクリックしても、設定は入力されているようだ。
(2021/01/15 :追記)Top Function を指定すると OK ボタンが押せるようになるようです。

最後に Vitis HLS はデフォルトで AXI4 Master の際の 64 ビットアドレスのアクセスが入っている。UltraScale+ MPSoC の Ultra96 ならまだしも ZYBO Z7-20 では 32 ビットアドレスなので、これを外しておく。

Solution メニューから Solution Settings... を選択して、 Solution Settings (solution 1) ダイアログを開く。
config_interface の左向き三角をクリックして展開する。
m_axi_addr64 のチェックを外す。
Vitis_Vision_Library4Vitis_HLS_8_201227.png

(2020/12/31:追記)
Vitis Library for Video-Stream Core, OpenCV Version?”を読むと、 2020.1 から環境が競合するので OpenCV をインストールしないようになったそうです。つまり自分の都合良いバージョンの OpenCV をインストールしてそれを使うようになったようです。
  1. 2020年12月27日 04:54 |
  2. Vitis_Vision
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/5101-aef89fd6
この記事にトラックバックする(FC2ブログユーザー)