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層目のブロック図
次のページへ
目次へ戻る |