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

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

FPGAの部屋

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

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

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

前回はC シミュレーションまでだったので、今回は、Cコードの合成、C/RTL コシミュレーションを行った。

最初にCコードの合成を行った。
Vivado_HLS_OpenCV_19_160404.png

Target の 10 (ns) に対して、Estimated は 11.12 (ns) で制約を満たしていない。

リソース使用量を示す。
Vivado_HLS_OpenCV_20_160404.png

BRAM_18K が 3 、DSP48E が 3 、FF が 849 、LUT が1384 使用されていた。

タイミングが満足しないので、soulution2 を新たに作って、Clock Period を 5 (ns) に設定した。
それで、もう一度 C への合成を行った。
Vivado_HLS_OpenCV_21_160404.png

Target の 5 (ns9 に対して、Estimated は 4.36 (ns) で満足している。タイミング制約を満足できないわけではなく、たまたま満足できなかったようだ。

リソース使用量を示す。左に Target が 10 (ns) の時のリソース使用量、右に Target が 5 (ns) の時のリソース使用量を示す。
Vivado_HLS_OpenCV_20_160404.pngVivado_HLS_OpenCV_22_160404.png

Target が 5 (ns) の時は、特に FF が増えているが分かる。

OpenCV の合成では、HLS ビデオライブラリの関数ごとに合成レポートが出るようだ。
Vivado_HLS_OpenCV_23_160404.png

合成された Verilog HDL ファイルを示す。HLS ビデオライブラリの関数ごとに Verilog HDL ファイルが生成されている。ファイルが多い。
Vivado_HLS_OpenCV_24_160404.png

次に C/RTL コシミュレーションを行った。前回はRTL シミュレーションが終了しなかったので、寝る前に仕掛けて、寝たのだが、10分足らずですぐに終わった。前回のC/RTL コシミュレーションを違うパソコンでやるとすぐ終わる。このパソコンはAMDだから、なのか?謎が残る。
Vivado_HLS_OpenCV_18_160404.png

Latency は、30207 クロックかかっている。画像のサイズは 189 x 146 ピクセルなので、27594 ピクセルだ。
30207 / 27594 ≒ 1.095 になった。1 クロックに 1 ピクセルを処理できているが、待ちもあるようだ。

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

終了時刻が 151.3225 us になっているが、これは 200 MHz で回路が動作した場合である。
INPUT_STREAM_TREADY と OUTPUT_STREAM_TVALID に待ちが入っていて、少しWait していることが分かる。

そのWait しているところを拡大してみよう。
TLAST が 1 にアサートされて、画像のラインが終了してる所で、Wait が入っているのが分かった。
Vivado_HLS_OpenCV_26_160404.png

だが、性能が 1.095 倍だけ落ちるので、200MHz が 200 / 1.095 ≒ 183 MHz になると考えると良いと思う。

最後に、C/RTL コシミュレーションで出力された test_result.jpg を示す。問題ないようだ。
Vivado_HLS_OpenCV_30_160404.jpg
  1. 2016年04月05日 04:32 |
  2. Vivado HLS
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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