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層目のブロック図


次のページへ



目次へ戻る