FC2カウンター FPGAの部屋 RBG 24 ビット・データ入出力対応のメディアン・フィルタを Vitis HLS 2021.1 で作成する2
fc2ブログ

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

FPGAの部屋

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

RBG 24 ビット・データ入出力対応のメディアン・フィルタを Vitis HLS 2021.1 で作成する2

RBG 24 ビット・データ入出力対応のメディアン・フィルタを Vitis HLS 2021.1 で作成する1”の続き。

メディアン・フィルタを実装してみたくなった、ということで、前回は、ソースコードとテストベンチコードを貼って、 Vitis HLS 2021.1 で median_filter_axis_RBG プロジェクトを作成した。今回は、 C シミュレーションと C コードの合成を行った。

C シミュレーションを行った。結果を示す。
median_kv260_4_211101.png

median_filter_axis_RBG/solution1/csim/build に org.jpg と median.jpg が生成されている。
median_kv260_5_211102.png

org.jpg を示す。これが元の画像だ。
median_kv260_6_211102.jpg

メディアン・フィルタ処理後の median.jpg を示す。とっても良くノイズが取れている。
median_kv260_7_211102.jpg

ガウシアン・フィルタ処理後の画像を示す。メディアン・フィルタ処理後の画像に比べて、ノイズが除去されていない。
gaussian_kv260_7_211028.jpg

ガウシアン・フィルタよりもメディアン・フィルタの方がノイズ除去という点では優れているようだ。

次に、注目の C コードの合成を行った。結果を示す。
LOOP_Y_LOOP_X が Interval = 1 クロックで合成できていることだ。バブルソートをインターバル 1 クロックで合成できている。 Iteration Latency = 7 クロックだが。
median_kv260_8_211102.png

たぶん、シンプルなソートのほうが合成時の性能が良いのかも知れない。演算器たくさん実装できるし。
後の合成結果を示す。
median_kv260_9_211102.png
median_kv260_10_211102.png

C コードの合成時の Function Call Graph を示す。
グラフの意味が良く分からないのだが、今までのユーザーズガイドにも記載が無いし、良く分からない。今度の 2021.2 でユーザーズガイドに記載されるかな?
median_kv260_11_211102.png

下のウインドウの Latency や リソース使用量の表は分かりやすいと思う。
  1. 2021年11月02日 04:42 |
  2. KRIA KV260 Vision AI Starter Kit
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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