FC2カウンター FPGAの部屋 2019年08月30日
FC2ブログ

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

FPGAの部屋

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

Ultra96用ラプラシアンフィルタIP の作成2

Ultra96用ラプラシアンフィルタIP の作成1”の続き。

前回は、Ultra96 用のエッジ検出フィルタのラプラシアンフィルタを作成するということで、ソースコードを貼った。今回は、C シミュレーション、C コードの合成、C/RTL 協調シミュレーション、Export RTL を行う。

まずは、C シミュレーションからやってみよう。
lap_filter_axis_2_190829.png

成功した。
lap_filter_axis/solution1/csim/build/ ディレクトリを見ると、C シミュレーションの生成物が見える。
lap_filter_axis_3_190830.png

元画像がこれで、
lap_filter_axis_4_190830.jpg

ラプラシアンフィルタ後の画像がこれだ。
lap_filter_axis_5_190830.jpg

エッジが出ているのが分かる。

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

Latency もかなり良い状況だ。ガボールフィルタよりもカーネルの大きさが 3 x 3 のためリソース使用量も少ない。ガボールフィルタは 9 x 9 。

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

Latency は 480061 クロックだった。 800 x 600 = 480000 ピクセルなので、ほとんど 1 クロック/ピクセルの性能が出ている。

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

ins と outs の TVALID と TREADY がほとんど 1 になっているので、スループットが高い。

Export RTL を行った。
lap_filter_axis_9_190830.png

CP achieved post-implementation は 4.369 ns ということで問題ない数値だと思う。
  1. 2019年08月30日 06:30 |
  2. Ultra96
  3. | トラックバック:0
  4. | コメント:0