FC2カウンター FPGAの部屋 Vitis 2019.2 で RTL カーネルを使用してストーミング接続を試す2
fc2ブログ

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

FPGAの部屋

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

Vitis 2019.2 で RTL カーネルを使用してストーミング接続を試す2

Vitis 2019.2 で RTL カーネルを使用してストーミング接続を試す1”の続き。

RTL カーネルでストリーミング接続がうまく行くのか?を確かめるために、krnl_lap_filter_dmaw.cpp を Vivado HLS 2019.2 で RTL カーネルにすることにした。前回は、ソースコードを貼って、Vivado HLS 2019.2 のプロジェクトを作成した。今回は、C シミュレーション、C コードの合成、C/RTL 協調シミュレーション、Export RTL を行う。

C シミュレーションからやってみよう。
RTL_kernel_20_200317.png

solution1/csim/build ディレクトリを見ると、lap.bmp が生成されている。
RTL_kernel_21_200317.png

C コードの合成を行った。
RTL_kernel_22_200317.png

Latency も問題無さそうだ。リソース使用量は多いが、やはり、ほとんど dma_write で消費されている。サイズを固定すればリソース使用量が減るのは確認済みだ。

C/RTL 協調シミュレーションを行った。
RTL_kernel_23_200317.png

C/RTL 協調シミュレーションの波形を見てみよう。全体波形から。
RTL_kernel_24_200317.png

拡大してみよう。
RTL_kernel_25_200317.png

WVALID が 1 の間の幅 320 ns はクロックが 5 ns とすると 64 クロック分となる。つまり画像の 1 行のピクセル数と一致する。WVALID が 0 に落ちている間は、 20 ns つまり、 4 クロック分となる。

次に、Export RTL を行うが、その前に”extern "C" { }”を元に戻した。
RTL_kernel_26_200317.png

Export RTL を行った。
RTL_kernel_27_200317.png

問題無さそうだ。

krnl_lap_filter_dmaw.xo が生成されていた。
RTL_kernel_28_200317.png
  1. 2020年03月17日 04:30 |
  2. Vitis
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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