FC2カウンター FPGAの部屋 Kerasで学習した重みとバイアスを使用した白線間走行用CNNをIPにする2
FC2ブログ

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

FPGAの部屋

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

Kerasで学習した重みとバイアスを使用した白線間走行用CNNをIPにする2

Kerasで学習した重みとバイアスを使用した白線間走行用CNNをIPにする1”の続き。

前回は、”カーブ、直線用白線間走行用畳み込みニューラルネットワーク13(AXI4 Stream版CNN IP 1)”の curve_conv_nn2_axis3 プロジェクトを利用して、curve_conv_nn2_axis3_k プロジェクトを作成し、C シミュレーションを行った。今回は、C コードの合成、Export RTLを行う。

C Synthesis ボタンをクリックして、C コードの合成を行った。結果を示す。
keras_curve_line_11_180804.png
keras_curve_line_12_180804.png

Estimated は 8.313 ns でTarget の 10 ns に比べて余裕がある。
Latency は 178833 クロックで、クロックが 100 MHz とすると 1.79 ms ということになる。以前は、1.94 ms だったので、Vivado HLS のバージョンが進んで最適化が進んだのかもしれない?
リソース使用量はBRAM_18Kが 13 個、DSP48E が 8 個、FF が 977 個、LUT が 2801 個で、以前と比べて大体減っているが、LUT は大幅に増えている。

次に、Export RTLを行った。なお、Vivado synthesis, place and route にチェックを入れてある。
結果を示す。
keras_curve_line_13_180804.png

LUT が 794 個、FF が 673 個、DSP が 3 個、BRAM が 16 個という結果になった。LUT、FF、DSP、は減っているが、BRAM は増えている。特にDSP はどうして 8 個から 3 個に減ってしまったのか?
  1. 2018年08月04日 05:42 |
  2. TensorFlow, Keras
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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