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

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

FPGAの部屋

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

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

PYNQボードには、”PYNQボードでカメラ画像をリアルタイムにFASTX コーナー検出1”、”PYNQボードでカメラ画像をリアルタイムにFASTX コーナー検出2”で、PYNQボードに付けたカメラの画像にFASTX コーナー検出をリアルタイムで行うことができた。
でも、そろそろPYNQ祭りに向けて、もう少しPYNQボードに芸をさせたい。そこで、いつものラプラシアンフィルタIPと最近、assert() の例としてやってみたアンシャープ・マスクキング・フィルタを追加することにした。

まずは、アンシャープ・マスクキング・フィルタIP をPYNQボード用に生成する。

PYNQ のZynq 7020 (xc7z020clg400-1)用のVivado HLS 2016.4 のプロジェクトpynq_unsharp_mask_fixedp を生成した。

unsharp_mask_fixedp のファイルをコピー&ペーストして、Explorer のSource とTest Bench にAdd File した。
assert() 付きの任意精度固定小数点型の実装だ。

アンシャープ・マスクキング・フィルタIP を 800 x 600 解像度に変更した。
pynq_de_other_filters_1_170220.png

Top Function を指定して、一旦、合成した。合成結果を示す。
pynq_de_other_filters_2_170220.png

やはり、Timing のEstimated は、10.08 ns でわずかながらTarget を越している。
Latency は 480036 クロックだった。そうピクセル数が 480000 ピクセルのことを思えば、大体 1 クロックで 1 ピクセルを処理できている。

Timing のEstimated を改善するために、Solution Settings のSynthesis Settings のClock Period を 10 ns から 9 ns に変更した。
これでもう一度、C コードの合成を行った。でもやはり、Timing のEstimated は、10.08 ns で変化が無かった。

Solution Settings のSynthesis Settings のClock Period を 8 ns に設定したところ、Timing のEstimated が 8.25 ns に収まった。
合成結果を示す。
pynq_de_other_filters_3_170220.png

Latency は 480037 クロックで、Timing のEstimated が 10 ns の時よりも 1 クロック増えた。
パーセンテージには表れないほどだが、FF と LUT もリソース使用量が増えている。
これで、10 ns のクロックで動作するだろう。

Export RTL を行った。その際にVivado RTL Synthesis にチェックを入れて、論理合成テストを行った。
pynq_de_other_filters_4_170220.png

論理合成テストも問題ないようだ。

C:\Users\Masaaki\Documents\VIvado_HLS\PYNQ\pynq_unsharp_mask_fixedp\solution1\impl\ip に xilinx_com_hls_unsharp_mask_axis_1_0.zip ができた。
pynq_de_other_filters_5_170220.png
  1. 2017年02月20日 05:14 |
  2. PYNQ
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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