”
reVISION-Zybo-Z7-20をやってみた6(Zybo-Z7-20 で確認)”の続き。
前回は、コンパイルしたSDSoC のバイラテラル・フィルタのSD カード・イメージをMicro SD カードに焼いて、Zybo-Z7-20 で確かめた。今回は、バイラテラル・フィルタのVivado と Vivado HLS のプロジェクトを見ていこう。
まずは、Vivado のプロジェクトだが、たぶん、sdx_workspaces/revisio_zybo_z7_20_ws/bilateral_ex/Debug/_sds/p0/_vpl/ipi/syn/の下にある syn.xpr で良いと思うのだ。

しかし、プロジェクトを開いてみると、IP Status のステータスが、IP をアップデートになっていて、アップデートしてもIP が更新エラーになってしまう。

zybo_z7_20.bd を開いた。

Vivado HLS の IP 辺りを拡大した。

ハードウェア化されているのは、w0_xf_bilateralfilter だった。
次に、Vivado HLS のプロジェクトを見てみよう。
Vivado HLS のプロジェクトは sdx_workspaces/revisio_zybo_z7_20_ws/bilateral_ex/Debug/_sds/vhls/w0_xf_bilateralFilter/ にあるようだ。

w0_xf_bilateralFilter プロジェクトを示す。

C コードの合成結果を示す。

Estimated は Target が 10 ns に対して、 8.70 ns なので十分だが、Uncertainty も 2.70 ns になっていて、増やされている。
Latency の min が 13,162 クロックで、 max が 2,149,253 だった。100 MHz クロックの場合は、 131.62 us から 21.49253 ms だった。
リソース使用量は、BRAM_18K が 7 個、DSP48E が 21 個、FF が 7,079 個、LUT が 10,616 個だった。
w0_xf_bilateralFilter.vhd ファイルから、インターフェースを見ていこう。

p_src_mat は、p_src_mat_rows, p_src_mat_cols, p_src_mat_size と p_src_mat_data_V_dout を受け取る。たぶん、p_src_mat_data_V_empty_n が 1 の時にデータを受け取って、FIFO からデータを受け取った場合は、p_src_mat_data_V_read を 1 にするのだろう?
p_dst_mat は p_src_mat_rows, p_src_mat_cols, p_src_mat_size を受け取る。 p_dst_mat_data_V_din は出力となっている。たぶん、p_dst_mat_data_V_full_n が 1 ならば、p_dst_mat_data_V_write を 1 にして、データをFIFO に書いているのだろう?
- 2018年03月28日 05:25 |
- reVISION, xfOpenCV
-
| トラックバック:0
-
| コメント:0