9-02 extras-3, 4層目のVHDL化

extras-3層目はカーネルが1x1になる

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

 extras-3層目の入力は512ch、出力は128chになります。この層はカーネルが
1x1になります。この層では1つの乗算器で出力を128ch、1並列(1個の乗算器)で計算が間に合います。


図9-15 extras-3層目のタイミングのイメージ


●128ch×1並列で出力128ch

 図9-15の上段はoutCh0,1,2,...127を計算するようすです。これら出力128chは1個の乗算器で「逐次的に」計算されます。したがって1画素の計算にかかる期間は10ns x 512 x
128 = 655.36usになります。

 1ライン10画素なので 655.36us x 10 =
6.5536msで1ライン計算しますが、同図右にあるように「休み期間」が48.7424msあるので計55.296msで1ライン、1画面10ラインなので55.296 * 9 + 6.5536 = 504.2176msで1画面の計算が終わります。

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

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

 conv_ex3は入力バッファからの画像を処理してRAM_X2_0〜3(出力バッファ、
4ラインぶん、次層はカーネルが3x3なので)に書き込みます。1ライン10画素なのでアドレスは16、出力128chなのでデータ幅は8bit x 128 = 1024bitになります(extras層は1画素8ビット)。


図9-16 extras-3層目のブロック図


次のページへ



目次へ戻る