9-03 extras-5, 6層目のVHDL化(続き)

●extras-5層目はカーネルが1x1

 図9-34は積和演算の部分、出力1チャネルの1画素を計算するのに10ns x 256 = 2560nsかかります(入力256チャネル、カーネルが1x1なので)。


図9-34 入力256チャネル、カーネル1x1なので2560ns(クロック100MHz)

●カーネルが小さいのでその分たくさんのチャネルを計算できる

 図9-35は一つの乗算器で出力128チャネルの1画素を計算するようす、2560ns x 128 = 327.68usかかっています。この層は出力が128chなのでこれ1つで十分であり、全チャネルの1画素を計算するのに327.68us、5x5画素なので1ラインに327.68us x 5 = 1.6384msかかります。


図9-35 一つの乗算器で128chの出力を計算する

●1ライン5画素書いて後は休み時間

 図9-36は1ラインぶん演算して書き込む部分です。周期は前層と同じ110.592msになります(1.6384ms+休み時間)。また1画面計算するにはその5倍かかります。


図9-36 1ライン演算して書き込むようす

●relu.outに出力が書かれている

 extras-5層目も出力はテキストファイルに落とされます(図9-37)。5×5画素なので1画面で25行、また出力は128チャネルなのでビット幅は
8bit x 128 = 1024bit になります(1画素8ビット)。これをVBAで128個のCSVファイルに分割してPythonの結果と比較します。


図9-37 各画素8ビットであることに注意

●バッチファイルでまとめて比較する

 CSVファイルが128個もあるので、前層までと同様にバッチファイルによって比較し、全てのチャネルがピタリ一致することを確認します。

●extras-5層目のファイル類はここ

プロジェクトのアーカイブ
EXCEL+VBA
relu.out
Pythonの結果
バッチファイル

次のページへ



目次へ戻る