”
Kerasを使用したMNIST CNNで手書き文字認識9(特徴マップが10個のMNISTのCNNを再学習1)”の続き。
前回は、MNIST のCNN の特徴マップが10個の場合を再学習してVivado HLS で精度を確認した。今回は、Vivado HLSで精度を確認できたので、Vivado HLS 2018.2 で mnist_conv_nn10_hlss_ko_dma プロジェクトを作成して、IP 化を行い、PYNQ_MNIST_CNN10_182 フォルダのVivado 2018.2 プロジェクトを作成し、論理合成、インプリメンテーション、ビットストリームの生成を行った。
まずは、Vivado HLS 2018.2 で mnist_conv_nn10_hlss_ko_dma プロジェクトを作成した。
各パラメータは前回の値と同じとした。

C シミュレーションを行った。エラーになってしまった。どこが原因でエラーになったのか?は分からない?

C コードの合成を行った。

Latency の最大値は 2.05 ms 程度だった。約 487 fps になる。
リソース使用量はBRAM_18K が 116 個、DSP48E が 169 個、FF が 10273 個、LUT が 17881 個だった。
次に Export RTL を行った。なお、Vivado synthesis, place and route にチェックを入れてある。

LUT は 6564 個、FF が 6128 個、DSP が 172 個、BRAM が 115 個、SRL が 111 個となった。
これでIP 化ができた。
次に、PYNQ_MNIST_CNN10_182 フォルダのVivado 2018.2 プロジェクトを作成というか、特徴マップが 3 個の時のPYNQ_MNIST_CNN3_182 フォルダをPYNQ_MNIST_CNN10_182 フォルダと名前を変えた。
PYNQ_MNIST_CNN10_182 フォルダの下の hls_all_layers フォルダに特徴マップが 3 個のCNN のIP が入っているので、それを今回の特徴マップが 10 個のIP と入れ替えた。
Vivado 2018.2 プロジェクトを示す。

ブロックデザインを示す。

Address Editor 画面を示す。

論理合成、インプリメンテーション、ビットストリームの生成を行った。結果を示す。

DSP の使用量が 78 % で多くなっている。
- 2018年07月06日 04:48 |
- PYNQ
-
| トラックバック:0
-
| コメント:0