FC2カウンター FPGAの部屋 RGB 24 ビットの AXI4-Stream データ入出力対応のソーベル・フィルタを Vitis HLS 2023.1 で作成する
fc2ブログ

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

FPGAの部屋

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

RGB 24 ビットの AXI4-Stream データ入出力対応のソーベル・フィルタを Vitis HLS 2023.1 で作成する

ソーベル・フィルタを ZUBoard 1CG の PYNQ v3.0.1 で使用するために Vitis HLS 2023.1 で RGB 24 ビットの AXI4-Stream データ入出力対応のソーベル・フィルタを Vitis HLS 2023.1 で作成した。

ソースコードとテストベンチ・コードは、”RGB 24 ビット・データ入出力対応のソーベル・フィルタを Vitis HLS 2021.2 で作成する3”の物を使用した。

Vitis HLS 2023.1 で sobel_axis_RGB24 プロジェクトを作成した。
part は xczu1cg-sbva484-1-e を指定した。
zub1cg_pynq_112_230809.png

今回のテストベンチ・コードでは OpenCV ライブラリを使用している。
Vitis HLS 2023.1 には内蔵された OpenCV は無いので、別にインストールした OpenCV を指定する。
Vitis HLS の Project メニューから Project Settings... を選択して、Project Settings ダイアログを開いた。
Simulation タブを開いて、sobel_axis_RGB24_tb.cpp の CFLAGS に

-I/usr/local/include


を設定した。
Linker Flags に

-L/usr/local/lib -lopencv_core -lopencv_imgcodecs -lopencv_imgproc


を設定した。
zub1cg_pynq_113_230809.png

更に、 Synthesis をクリックして、 Top Function に sobel_axis_RGB24 を指定した。
zub1cg_pynq_114_230809.png

現在の Vitis_HLS/ZUBoard_1CG/2023.1/median_axis_RGB24 ディレクトリを示す。
zub1cg_pynq_111_230809.png

C シミュレーションを行った。
下の、Console では成功と表示されているが、_csim.log では、エラーになっている。これは、最初に OpenCV の設定を忘れていてエラーなったのが残っている状況だ。このログは消えないのだろうか?
zub1cg_pynq_115_230809.png

solution1/csim/build ディレクトリを示す。
sobel.jpg が生成されていた。
zub1cg_pynq_116_230809.png

C コードの合成を行った。結果を示す。
zub1cg_pynq_117_230809.png
zub1cg_pynq_118_230809.png

C/RTL 協調シミュレーションを行った。
結果を示す。
zub1cg_pynq_119_230809.png

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

ins_TREADY と outs_TVALID がほとんど 1 なので、スループットが高いことが分かる。

Export RTL を行った。

Implementation を行った。
CP achieved post-implementation が 5.934 ns で、良さそうだ。
zub1cg_pynq_120_230809.png
  1. 2023年08月09日 04:51 |
  2. ZUBoard
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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