9-01 extras-1, 2層目のVHDL化(続き)
●extras-1層目はカーネルが1x1
図9-03は積和演算の部分、出力1チャネルの1画素を計算するのに10ns x 1024
= 10240nsかかります(入力1024チャネル、カーネルが1x1なので)。 |
図9-03 入力1024チャネル、カーネル1x1なので10240ns(クロック100MHz)
●カーネルが小さいのでその分たくさんのチャネルを計算できる
図9-04は一つの乗算器で出力128チャネルの1画素を計算するようす、10240ns
x 128 = 1310.72usかかっています。これが2つ並列で動くので出力256チャネルの1画素を計算するのに1310.72us、19x19画素なので1ラインに1310.72us
x 19 = 24.90368msかかります。 |
図9-04 一つの乗算器で128chの出力を計算する
●出力チャネル数以外は15層目とほぼ同じ
図9-05は1ラインぶん演算して書き込む部分です。周期は前層と同じ27.648msになります(24.90368ms+休み時間)。また1画面計算するにはその19倍の525.312msかかります。 |
図9-05 1ライン演算して書き込むようす
●relu.outに出力が書かれている
extras-1層目も出力はテキストファイルに落とされます(図9-06)。19×19画素なので1画面で361行、また出力は256チャネルなのでビット幅は
8bit x 256 = 2048bit になります(次層以降は1画素8ビットになる)。これをVBAで256個のCSVファイルに分割してPythonの結果と比較します。 |
図9-06 各画素8ビットであることに注意
●バッチファイルでまとめて比較する
CSVファイルが256個もあるので、前層までと同様にバッチファイルによって比較し、全てのチャネルがピタリ一致することを確認します。 |
次のページへ
目次へ戻る |