FC2カウンター FPGAの部屋 Vivado HLS 2015.4 で OpenCV を使ってみた5(Sobelフィルタを試した3)

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

FPGAの部屋

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

Vivado HLS 2015.4 で OpenCV を使ってみた5(Sobelフィルタを試した3)

”Vivado HLS 2015.4 で OpenCV を使ってみた4(Sobelフィルタを試した2)”の続き。

前回は、X 軸方向のSobel フィルタをやっていたのだが、今回は Y 軸方向のSobel フィルタをテストしてみる。
ソースコードの opencv_ex_ug.cpp の変更部分を示す。

hls::Sobel<0,1,3>(img_1g, img_2g);

とした。X 軸方向の時は、

hls::Sobel<1,0,3>(img_1g, img_2g);

だった。

テストベンチの opencv_ex_ug_tb.cpp の変更部分を示す。同様に、

Sobel(gray, img0g, IPL_DEPTH_16S, 0, 1, 3);

とした。X 軸方向の時は

、Sobel(gray, img0g, IPL_DEPTH_16S, 1, 0, 3);

だった。

C シミュレーションを行った。X 軸方向の時よりもエラーが 2 個増えた。
Vivado_HLS_OpenCV_34_160406.png

C シミュレーション後の Sobel フィルタ結果を示す。
まずは元画像の test.jpg から。
Vivado_HLS_OpenCV_41_160406.jpg

ソースの方の test_result.jpg を示す。
Vivado_HLS_OpenCV_42_160406.jpg

テストベンチの出力の test_result_cv.jpg を示す。
Vivado_HLS_OpenCV_43_160406.jpg

C ソースコードからの合成を行った。
Vivado_HLS_OpenCV_35_160406.png

Estimated も Latency も前回の X 軸方向の Sobel フィルタと同じなので、同じライブラリのようだ。Estimated は 11.12 (ns) で制約を満たしていない。

リソース使用量を示す。左に今回の Y 軸方向、右に前回の X 軸方向の Sobel フィルタの場合の結果を示す。
Vivado_HLS_OpenCV_36_160406.pngVivado_HLS_OpenCV_20_160404.png

Estimated と Latency が前回と違っていないのに、リソース使用量はX 軸方向の Sobel フィルタの方が FF と LUT で多くなっている。

Analysis 表示を示す。
Vivado_HLS_OpenCV_40_160406.png

次々にライブラリをコールしているのが分かった。

C/RTL コシミュレーションを行った。
Vivado_HLS_OpenCV_37_160406.png

Latency は 29319 クロックかかった。前回の X 軸方向のC/RTL コシミュレーション結果はクロックのTarget が 5 (ns) の時の結果で、クロック数/ピクセル数は 1.09 だった。今回の Y 軸方向の場合は、クロックのTarget が 10 (ns) の時の結果で、クロック数/ピクセル数は 29319 / (189 x 146) ≒ 1.06 倍となって、こちらのほうが倍率が少ない。

C/RTL コシミュレーションの波形を示す。
Vivado_HLS_OpenCV_38_160406.png

拡大してみた。
Vivado_HLS_OpenCV_39_160406.png

INPUT_STREAM_TVALID と OUTPUT_STREAM_TREADY の波形はX 軸方向の場合と同様のようだ。

最後に、RTL シミュレーション結果の test_result.jpg を示す。
Vivado_HLS_OpenCV_44_160406.jpg
  1. 2016年04月06日 05:09 |
  2. Vivado HLS
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

トラックバック URL
http://marsee101.blog19.fc2.com/tb.php/3436-21b1bac2
この記事にトラックバックする(FC2ブログユーザー)