”Ultra96用ラプラシアンフィルタIP の作成1”の続き。
前回は、Ultra96 用のエッジ検出フィルタのラプラシアンフィルタを作成するということで、ソースコードを貼った。今回は、C シミュレーション、C コードの合成、C/RTL 協調シミュレーション、Export RTL を行う。
まずは、C シミュレーションからやってみよう。
成功した。
lap_filter_axis/solution1/csim/build/ ディレクトリを見ると、C シミュレーションの生成物が見える。
元画像がこれで、
ラプラシアンフィルタ後の画像がこれだ。
エッジが出ているのが分かる。
C コードの合成を行った。
Latency もかなり良い状況だ。ガボールフィルタよりもカーネルの大きさが 3 x 3 のためリソース使用量も少ない。ガボールフィルタは 9 x 9 。
C/RTL 協調シミュレーションを行った。
Latency は 480061 クロックだった。 800 x 600 = 480000 ピクセルなので、ほとんど 1 クロック/ピクセルの性能が出ている。
C/RTL 協調シミュレーションの波形を示す。
ins と outs の TVALID と TREADY がほとんど 1 になっているので、スループットが高い。
Export RTL を行った。
CP achieved post-implementation は 4.369 ns ということで問題ない数値だと思う。
前回は、Ultra96 用のエッジ検出フィルタのラプラシアンフィルタを作成するということで、ソースコードを貼った。今回は、C シミュレーション、C コードの合成、C/RTL 協調シミュレーション、Export RTL を行う。
まずは、C シミュレーションからやってみよう。
成功した。
lap_filter_axis/solution1/csim/build/ ディレクトリを見ると、C シミュレーションの生成物が見える。
元画像がこれで、
ラプラシアンフィルタ後の画像がこれだ。
エッジが出ているのが分かる。
C コードの合成を行った。
Latency もかなり良い状況だ。ガボールフィルタよりもカーネルの大きさが 3 x 3 のためリソース使用量も少ない。ガボールフィルタは 9 x 9 。
C/RTL 協調シミュレーションを行った。
Latency は 480061 クロックだった。 800 x 600 = 480000 ピクセルなので、ほとんど 1 クロック/ピクセルの性能が出ている。
C/RTL 協調シミュレーションの波形を示す。
ins と outs の TVALID と TREADY がほとんど 1 になっているので、スループットが高い。
Export RTL を行った。
CP achieved post-implementation は 4.369 ns ということで問題ない数値だと思う。
コメント