FC2カウンター FPGAの部屋 PYNQボードのFASTX コーナー検出にラプラシアンフィルタIPとアンシャープ・マスクキング・フィルタIPを追加2(Vivado HLS2)

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

FPGAの部屋

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

PYNQボードのFASTX コーナー検出にラプラシアンフィルタIPとアンシャープ・マスクキング・フィルタIPを追加2(Vivado HLS2)

PYNQボードのFASTX コーナー検出にラプラシアンフィルタIPとアンシャープ・マスクキング・フィルタIPを追加1(Vivado HLS)”の続き。

前回は、アンシャープ・マスクキング・フィルタIP を生成した。今回はラプラシアンフィルタIP を生成する。

PYNQ のZynq 7020 (xc7z020clg400-1)用のVivado HLS 2016.4 のプロジェクトpynq_lap_filter_axis を生成した。
AXI4-Stream版のラプラシアンフィルタIPを持ってきて、Source とTest Bench に入れた。
PIPELINE指示子の下のUNROLL指示子は効果が無いというか、PIPELINE指示子で展開されているので、削除した。
Vivado HLS 2016.4 からINTERFACE指示子のAXI4-Stream (axis) では、「registor both」オプションが必須になった。

#pragma HLS INTERFACE axis register both port=ins
#pragma HLS INTERFACE axis register both port=outs

よって、そのように修正した。
pynq_de_other_filters_6_170221.png

そして、カメラ画像のラプラシアンフィルタ処理結果をリアルタイムで表示するので、私のラプラシアンフィルタは2次微分結果の半分しか表示していない。そこで、ラプラシアンフィルタ演算後に丸め処理をするところで、マイナスの時に 0 にするのではなく、絶対値を取ることにする。これで、マイナス方向の2次微分成分も表示することができるはずだ。
pynq_de_other_filters_7_170221.png

これで C シミュレーションを行った。
pynq_de_other_filters_8_170221.png

ラプラシアンフィルタ処理後の画像を示す。
pynq_de_other_filters_9_170221.png

やはり、マイナスの2次微分成分が入っているので、線がぼやける感じがする。

ラプラシアンフィルタ演算後に丸め処理をするところで、マイナスの時に 0 にしたほうが見た目がよさそうだ。やはり、マイナスの2次微分成分は取り除くことにする。
pynq_de_other_filters_10_170221.png

Top Function に lap_filter_axis を指定して、C コードの合成を行った。
pynq_de_other_filters_11_170221.png

Estimated が 11.37 ns になってしまっている。Latency は 480009 クロックで良好の様だ。

これではまずいので、Solutionメニューから Solution Settings... を選択して、Solution Settings ダイアログを表示し、Clock Period を 10 から 9 (ns) に変更した。
pynq_de_other_filters_12_170221.png

これでもう一度、C コードの合成を行った。
pynq_de_other_filters_13_170221.png

Estimated が 9.40 ns となって、10 ns の動作には問題が無くなった。Latency は 480010 クロックで、1 クロックだけ増えていた。LUT やFF も少しだけ増えていた。

これで、IP としてパッケージを行った。
Vivado RTL Synthesis にチェックを入れた。
pynq_de_other_filters_14_170221.png

Timing met 出来て、IP が生成された。
pynq_de_other_filters_15_170222.png
  1. 2017年02月21日 05:26 |
  2. PYNQ
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

トラックバック URL
http://marsee101.blog19.fc2.com/tb.php/3727-eca69630
この記事にトラックバックする(FC2ブログユーザー)