10-02 conf-4, 5, 6層目のVHDL化(続き)
●conf-5層目は3x3
extras-6層目の出力はconf-5層目に入力されます。図10-30にそのタイミングのイメージを示します。
conf-5層目の入力は256ch、出力は84chになります。カーネルは3x3、この層では1つの乗算器で出力を84ch、1並列で計84ch計算します。 |
図10-30 conf-5層目のタイミングのイメージ
●1並列で出力84ch計算
図10-30の上段はoutCh0,1,2,...83を計算するようすです。これら出力84chは1個の乗算器で「逐次的に」計算されます。したがって1画素の計算にかかる期間は90ns
x 256 x 128 = 2949.12usになります(84ではなくキリの良い128)。
1ライン3画素なので 2949.12us x 3 = 8.84736msで1ライン計算しますが、同図右にあるように「休み期間」が101ms程度あるので計110.592msで1ライン、1画面3ラインなので110.592
* 4 + 2.94912 = 331.776msで1画面の計算が終わります。 |
●extras-6層目の出力がconf-5層目の入力になる
extras-6層目のシミュレーション結果relu.outの名前を変えてconf5.inとし、それがconf-5層目の入力になります。図10-31のようにRAM_X1_0〜3(入力バッファ、4ラインぶん、カーネルが3x3なので)にconf5.inの内容が書き込まれます。
conv_conf5は入力バッファからの画像を処理してRAM_X2_0〜1(出力バッファ、2ラインぶん、次は判定回路なので2つで十分)に書き込みます。1ライン3画素なのでアドレスは4、出力84chなのでデータ幅は10bit x 84 = 840bitになります(この層は1画素10ビット)。 |
図10-31 conf-5層目のブロック図
次のページへ
目次へ戻る |