10-02 conf-4, 5, 6層目のVHDL化(続き)

conf-6層目は3x3

 extras-8層目の出力はconf-6層目に入力されます。図10-40にそのタイミングのイメージを示します。

 conf-6層目の入力は256ch、出力は
84chになります。カーネルは3x3、この層では1つの乗算器で出力を84ch、1並列で計84ch計算します。


図10-40 conf-6層目のタイミングのイメージ


●1並列で出力84ch計算

 図10-40の上段はoutCh0,1,2,...83を計算するようすです。これら出力84chは1個の乗算器で「逐次的に」計算されます。したがって1画素の計算にかかる期間は90ns x 256 x
128 = 2949.12usになります(84ではなくキリの良い128)。

 1ライン1画素なので 2949.12us x 1 =
2.94912msで1ライン計算しますが、同図右にあるように「休み期間」が107ms程度あるので計110.592msで1ライン、1画面1ラインなので110.592msで1画面の計算が終わります。

●extras-8層目の出力がconf-6層目の入力になる

 extras-8層目のシミュレーション結果relu.outの名前を変えてconf6.inとし、それがconf-6層目の入力になります。図10-41のようにRAM_X1_0〜3(入力バッファ、
4ラインぶん、カーネルが3x3なので)にconf6.inの内容が書き込まれます。

 conv_conf6は入力バッファからの画像を処理してRAM_X2_0〜1(出力バッファ、
2ラインぶん、次は判定回路なので2つで十分)に書き込みます。1ライン3画素なのでアドレスは4、出力84chなのでデータ幅は10bit x 84 = 840bitになります(この層は1画素10ビット)。


図10-41 conf-6層目のブロック図


次のページへ



目次へ戻る