FC2カウンター FPGAの部屋 Vitis HLS 2022.2 の新機能を確かめる1(performance プラグマ)
fc2ブログ

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

FPGAの部屋

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

Vitis HLS 2022.2 の新機能を確かめる1(performance プラグマ)

What’s New in the Vitis HLS Tool 2022.2 – Key Feature Enhancements”を参考に、Vitis HLS 2022.2 の新機能を確かめてみよう。最初は performance プラグマだ。

RGB 24 ビット・データ入出力対応のソーベル・フィルタを KV260 で試してみよう。
Vitis HLS 2022.2 で Vitis_HLS/KIRA_KV260/2022.2/sobel_axis_RGB24 プロジェクトを作成したのだが、以前はダメだったPart 指定時のボードの指定ができるようになったようだ。
Vitis_HLS_2022_2_1_221127.png

さて、ソースコードは”RGB 24 ビット・データ入出力対応のソーベル・フィルタを Vitis HLS 2021.2 で作成する3”で使用したソースコードをそのまま使用したが、array_partition、PIPELINE プラグマはコメントアウトした。
Vitis_HLS_2022_2_2_221127.png

このソースコードで C コードの合成を行った。結果を示す。
Vitis_HLS_2022_2_3_221127.png

Performance & Resouce Estimates の sobel_axis_RGB_Pipelinue_LOOP_Y_LOOP_X の LOOP_Y_LOOP_X のインターバルは 2 になっている。1 にする必要がある。
しかし、プラグマを入れなくても Vitis HLS はだいぶ性能がチューニングされているな。。。

次に、LOOP_X の前の行に”#pragma HLS performance target_ti=800”を挿入した。
Vitis_HLS_2022_2_4_221127.png

C コードの合成を行った。結果を示す。
結果は変わらなかった。
Vitis_HLS_2022_2_5_221127.png

line_buf[2][1920] の ”#pragma HLS array_partition variable=line_buf block factor=2 dim=1”を挿入した。
Vitis_HLS_2022_2_6_221127.png

C コードの合成を行った。結果を示す。
レイテンシが短くなって約半分になった。
Vitis_HLS_2022_2_7_221127.png

paformance プラグマだけを入れた時の Function Call Graph (左側)と更に array_partition プラグマを入れた時の Function Call Graph (右側)を示す。
Vitis_HLS_2022_2_8_221127.pngVitis_HLS_2022_2_9_221127.png

paformance プラグマだけを入れて C/RTL 協調シミュレーションを行った。
やはり、2 クロックで 1 ピクセル処理となっていた。
Vitis_HLS_2022_2_10_221127.png

C/RTL 協調シミュレーション波形を示す。
Vitis_HLS_2022_2_11_221127.png

paformance プラグマと array_partition プラグマを入れて C/RTL 協調シミュレーションを行った。
1 クロックで 1 ピクセルの処理ができている。
Vitis_HLS_2022_2_12_221127.png

C/RTL 協調シミュレーション波形を示す。
Vitis_HLS_2022_2_13_221127.png

paformance プラグマだけを入れた時の Implementation 結果 (左側)と更に array_partition プラグマを入れた時の Implementation 結果 (右側)を示す。
Vitis_HLS_2022_2_14_221127.pngVitis_HLS_2022_2_15_221127.png

このソースコードでは、performance プラグマは効いていないようだ。しかし、Vitis HLS 2022.2 は最初からかなり最適化が効いている。
  1. 2022年11月27日 06:55 |
  2. Vitis HLS
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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