9-02 extras-3, 4層目のVHDL化(続き)
●extras-3層目はカーネルが1x1
図9-18は積和演算の部分、出力1チャネルの1画素を計算するのに10ns x 512
= 5120nsかかります(入力512チャネル、カーネルが1x1なので)。 |
図9-18 入力512チャネル、カーネル1x1なので5120ns(クロック100MHz)
●カーネルが小さいのでその分たくさんのチャネルを計算できる
図9-19は一つの乗算器で出力128チャネルの1画素を計算するようす、5120ns
x 128 = 655.36usかかっています。この層は出力が128chなのでこれ1つで十分であり、全チャネルの1画素を計算するのに655.36us、10x10画素なので1ラインに655.36us
x 10 = 6.5536msかかります。 |
図9-19 一つの乗算器で128chの出力を計算する
●1ライン10画素書いて後は休み時間
図9-20は1ラインぶん演算して書き込む部分です。周期は前層と同じ55.296msになります(6.5536ms+休み時間)。また1画面計算するにはその10倍かかります。 |
図9-20 1ライン演算して書き込むようす
●relu.outに出力が書かれている
extras-3層目も出力はテキストファイルに落とされます(図9-21)。10×10画素なので1画面で100行、また出力は128チャネルなのでビット幅は
8bit x 128 = 1024bit になります(1画素8ビット)。これをVBAで128個のCSVファイルに分割してPythonの結果と比較します。 |
図9-21 各画素8ビットであることに注意
●バッチファイルでまとめて比較する
CSVファイルが128個もあるので、前層までと同様にバッチファイルによって比較し、全てのチャネルがピタリ一致することを確認します。 |
次のページへ
目次へ戻る |