FC2カウンター FPGAの部屋 白線追従走行用畳み込みニューラルネットワークの製作19(Cコードの合成、IP化)

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

FPGAの部屋

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

白線追従走行用畳み込みニューラルネットワークの製作19(Cコードの合成、IP化)

白線追従走行用畳み込みニューラルネットワークの製作18(Vivado HLSでCシミュレーション)”の続き。

前回は、Vivado HLS 用のファイルがそろったので、Vivado HLS 2016.4 でプロジェクトを作成し、C シミュレーションを行って精度を確認した。今回は、Cコードの合成を行って、レイテンシやリソース使用量を確認する。

Vivado HLS 2016.4 で C コードの合成を行った。結果を示す。
wlt_cnn_88_170830.png
wlt_cnn_89_170830.png

レイテンシは、187374 クロックで、クロックは 100 MHz なので、1.87 ms となる。十分な性能ということが言える。
リソース使用量はBRAM_18K が 13 個、DSP48E が 9 個、FF が 716 個、LUT が 1476 個だった。
DSP48E が 7 個になると、現在のZYBO 用の Vivado プロジェクトに入ることになる。超えてしまったら、ガボール・フィルタを取り除く必要がある。現在のVivado HLS プロジェクトはZYBO 用だ。

C/RTL協調シミュレーションを行った。結果を示す。
wlt_cnn_90_170830.png

レイテンシは、187374 クロックで、C コードの合成と同じだった。
wlt_cnn_90_170830.png

C/RTL協調シミュレーション波形を見ていこう。まずは全体波形から紹介する。
wlt_cnn_92_170830.png

画像を転送しているの初めのごく一部なのだが、そこをデータが見えるまで拡大してみよう。
wlt_cnn_93_170830.png

最後にExport RTL をやってみた。今はインターフェースがデフォルトのままで、このままでは使えないが、とりあえず、リソース使用量を見るためにやってみた。Vivado RTL Synthesis と Place and Route にチェックを入れて、実際のリソース使用量を見ている。
wlt_cnn_91_170830.png

C コードの合成の時と、リソース使用量がどれも少なくなっている。DSP は 5 で今のままでZYBO_0 のVivado プロジェクトに入りそうだが、考えてみると、画像の縮小をする必要があるため、ガボール・フィルタはZYBO では除かないと入らないだろうと思う。

次に、Vivado HLS 2017.1 での結果を示す。Vivado HLS 2016.4 と比較してみよう。
最初に C コードの合成結果を示す。
wlt_cnn_94_170830.png
wlt_cnn_95_170830.png

レイテンシは、max が 299264 クロックで 2016.4 よりも時間がかかっている。でもこちらでも性能的には問題ない。
リソース使用量はBRAM_18K は13 で同じ、DSP48E は 2016.4 が 9 で、2017.1 が 7 だった。FF は 2016.4 が 716 に対して、2017.1 が 1122 だった。LUT は、2016.4 が 1476 に対して、2017.1 が 2586 だった。DSP48E は 2017.1 の方が少ないが、それ以外は、同じか 2017.1 の方がリソース使用量が多い。

C/RTL協調シミュレーションをやってみた。結果を示す。
wlt_cnn_96_170830.png

やはり、約 2.99 ms となった。

最後に、Export RTL を行った。やはり、Vivado RTL Synthesis と Place and Route にチェックを入れてある。
wlt_cnn_97_170830.png

BRAM_18K とDSP48E は 2016.4 と同じで、それ以外は 2017.1 の方がリソース使用量が多い。
  1. 2017年08月30日 05:26 |
  2. DNN
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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