”
Vivado HLS 2019.2 で xfOpenCV のAXI4-Stream 版 medianblur をやってみる2”の続き。
前回は、カラー画像出力と白黒画像出力の C シミュレーションを行って、成功した。今回は、カラー画像出力と白黒画像出力それぞれにおいて、C コードの合成、C/RTL 協調シミュレーション、Export RTL を行う。
まずは前回の続きで、C コードの合成を行った。左側が白黒画像出力、右側がカラー画像出力だ。


2 つ共、Latency は同じ max 値で 2094021 クロックだった。最大解像度は 1920 x 1080 = 2073600 ピクセルなので、 2094021 クロック / 2073600 ピクセル ≒ 1.010 クロック / ピクセルだった。性能は問題ない。
リソース使用量は当然ながらカラー画像出力の方が多い。BRAM_18K の使用量も白黒画像出力が 3 個、カラー画像出力が 9 個だった。
C/RTL 協調シミュレーションを行った。結果を示す。上がが白黒画像出力、下がカラー画像出力だ。


どちらも Latency は 366956 クロックだった。使用画像は 800 x 450 ピクセルなので、合計 360000 ピクセル、よって 366956 クロック / 2073600 ピクセル ≒ 1.019 クロック / ピクセルだった。
C/RTL 協調シミュレーションの全体波形を示す。上がが白黒画像出力、下がカラー画像出力だ。


ほとんど同じだが、TDATA が 8 ビットと 32 ビットの違いがある。
C/RTL 協調シミュレーションの波形を拡大してみよう。上がが白黒画像出力、下がカラー画像出力だ。


こちらも同じだ。
最後に、Export RTL を示す。左側が白黒画像出力、右側がカラー画像出力だ。


この結果がそっくり同じということはどういうことだろうか?
C コードの合成の結果は違っていたのに?何かバグっているとしか思えない。
- 2020年03月13日 03:59 |
- Vivado HLS
-
| トラックバック:0
-
| コメント:0