10-01 conf-3層目のVHDL化

conf-3層目は10x10

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

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


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


●64ch×2並列で出力126ch

 図10-10の上段はoutCh0,1,2,...63を計算するようすです。これら出力64chは1個の乗算器で「逐次的に」計算されます。したがって1画素の計算にかかる期間は90ns x 512 x
64 = 2949.12usになります。
 1ライン10画素なので2949.12us x 10 =
29.4912msで1ライン計算しますが、同図右にあるように「休み期間」が25ms程度あるので計55.296msで1ライン、1画面19ラインなので55.296ms * 9 + 29.4912 = 527msで1画面の計算が終わります。

 「outCh64 to outCh125(これは62ch)」も1つの乗算器で計算されます。乗算器(ビットシフト型)が2個並列で64chづつ計算して出力は64 + 62 = 126chになります(入力は512ch)。

●extras-2層目の出力がconf-3層目の入力になる

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

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


図10-11 conf-3層目のブロック図


次のページへ



目次へ戻る