FC2カウンター FPGAの部屋 2018年05月07日

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

FPGAの部屋

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

テンプレートで書いた畳み込み層2(Export RTL まで)

テンプレートで書いた畳み込み層1(テンプレートのソースコード)”の続き。

前回はテンプレートで書いた畳み込み層のC ソースコードを貼ったので、今回はその性能を確認してみよう。

ヘッダファイルはHLSストリームのものをそのまま使用することができるが、テストベンチは畳み込み層を汎用化したため画像のピクセルを任意精度固定小数点データ型に変換する必要がある。それをテストベンチに追加した。

最初に C シミュレーションを行った。結果を示す。
template_cnn_9_180506.png

任意精度固定小数点データ型の計算結果を 2 つの実装間で比較した結果にエラーは無い。テンプレートの計算結果も正しそうだ。

C コードの合成を行った。結果を示す。
template_cnn_10_180506.png

HLSストリームで実装した”HLSストリーム・インターフェースの畳み込み層3(Windows 10 のVivado HLS 使用)”の合成結果とほとんど同じだった。大丈夫そうだ。

Instance の grp_conv_layer_template_fu_24 をクリックして、テンプレート内の合成結果を示す。
template_cnn_11_180506.png

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

合成時よりもLUT や FF の個数が少なくなったが、DSP の個数は合成時と同じだ。
CP achieved post-implementation は 8.510 ns で問題なさそうだ。
  1. 2018年05月07日 04:55 |
  2. DNN
  3. | トラックバック:0
  4. | コメント:0