FC2カウンター FPGAの部屋 2020年01月28日
FC2ブログ

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

FPGAの部屋

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

Vivado HLS 2019.2 で krnl_lap_filter を作成する2(IP化)

Vivado HLS 2019.2 で krnl_lap_filter を作成する1(ソースコードの表示)”の続き。

前回は、ラプラシアン・フィルタ・カーネル krnl_lap_filter を作成するということで、ソースコードを貼った。今回は、Vivado HLS 2019.2 のプロジェクトを作成して、C シミュレーション、C コードの合成、C/RTL 協調シミュレーション、Export RTL を行っていこう。

Vivado HLS 2019.2 で krnl_lap_filter プロジェクトを作成した。
streaming_kernel_38_200127.png

C シミュレーションを行った。
streaming_kernel_39_200127.png

C シミュレーション後には、lap.bmp が生成されていた。
streaming_kernel_40_200127.png

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

Latency の min は 3089 クロックだった。総ピクセル数が 3072 ピクセルなので、ほとんど 1 クロック/ピクセルとなっている。

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

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

outs_TVALID や ins_TREADY がほとんど 1 になっていて、スループットが高いことが分かる。

xo ファイルを生成するために extern "C" { } のコメントを外した。
streaming_kernel_44_200127.png

もう一度 C コードの合成を行ってから、Export RTL を行った。結果を示す。
streaming_kernel_45_200127.png

CP achieved post-implementation も 3.344 ns で問題無さそうだ。
krnl_lap_filter.xo ファイルが生成された。
streaming_kernel_46_200127.png
  1. 2020年01月28日 04:38 |
  2. Vitis
  3. | トラックバック:0
  4. | コメント:0