FC2カウンター FPGAの部屋 reVISION-Zybo-Z7-20をやってみた14(mnist_conv_nn10_sDMA その3)
FC2ブログ

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

FPGAの部屋

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

reVISION-Zybo-Z7-20をやってみた14(mnist_conv_nn10_sDMA その3)

reVISION-Zybo-Z7-20をやってみた13(mnist_conv_nn10_sDMA その2)”の続き。

前回は、動作周波数 75 MHz でmnist_conv_nn10_sDMA.cpp がハードウェアとしてデバックでビルドできて、Vivado のレポートを見た。今回は、Vivado HLS のプロジェクトを見て、他の動作周波数でもビルドが成功しないのか?確かめてみよう。

まずは、Vivado HLS のプロジェクトは revisio_zybo_z7_20_ws/mnist_conv_nn10_sDMA/Debug/_sds/vhls/mnist_conv_nn ディレクトリにある。
reV_mnist_conv_nn10_sDMA_20_180911.png

Vivado HLS 2017.4 を立ち上げて、mnist_conv_nn プロジェクトを読み込んだ。
reV_mnist_conv_nn10_sDMA_21_180911.png

C コードの合成時のレポートを示す。
reV_mnist_conv_nn10_sDMA_22_180911.png
reV_mnist_conv_nn10_sDMA_23_180911.png

Timing のTarget が 13.33 ns に対して、Estimated が 10.73 ns だった。
Latency は min が 1161511 クロックで、max が 1363111 クロックだった。
リソース使用量は、BRAM_18K が 157 個、DSP48E が 4 個、FF が 1356 個、LUT が 4210 個だった。

次に、他の動作周波数でビルドが成功するか?確認してみよう。
115.38 MHz ではタイミングエラーでビルドが失敗した。
133.33 MHz では、ビルドが成功した。
reV_mnist_conv_nn10_sDMA_24_180911.png

Vivado HLS の C コードの合成結果を観す。
reV_mnist_conv_nn10_sDMA_25_180911.png
reV_mnist_conv_nn10_sDMA_26_180911.png

Target 7.5 ns に対して、Estimated は 12.13 ns でとても間に合わないように思える。
Latency は min 1609431クロックで、max が 1867351 クロックだった。133.33 MHz の周期 7.5 ns だと、min で約 12.1 ms で max で 14.0 ms となる。

Vivado synthesis, place and route にチェックを入れて、Export RTL を行った。
reV_mnist_conv_nn10_sDMA_27_180911.png

CP achieved post-implementation は 7.495 ns で、規格を満たしている。

Vivado を起動してレポートを見た。
reV_mnist_conv_nn10_sDMA_28_180911.png

WNS は 0.059 ns だった。微妙なところでタイミングがメットしている。

Implemented Design を開いて Intra-Clock Paths を確認するとやはり mnist_conv_nn_1 がタイミングの余裕が最小だということが分かった。
reV_mnist_conv_nn10_sDMA_29_180911.png
  1. 2018年09月11日 05:23 |
  2. reVISION, xfOpenCV
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/4292-43a46c4f
この記事にトラックバックする(FC2ブログユーザー)