9-02 extras-3, 4層目のVHDL化
●extras-4層目はカーネルが3x3になる
extras-3層の出力はextras-4層に入力されます。図9-23は4層目のタイミングのイメージを示します。
extras-4層目の入力は128ch、出力は256chになります。この層はカーネルが3x3になります。この層では1つの乗算器で出力を256ch、1並列(1個の乗算器)で計算が間に合います。 |
図9-23 extras-4層目のタイミングのイメージ
●256ch×1並列なので出力256ch
図9-23の上段はoutCh0,1,2,...255を計算するようすです。これら出力256chは1個の乗算器で「逐次的に」計算されます。したがって1画素の計算にかかる期間は90ns
x 128 x 256 = 2949.12usになります。
この層の入力は10x10画素ですが、出力は5x5画素になります(その手法は後述)。したがって2949.12us x 5 = 14.7456msで1ライン計算しますが、同図右にあるように「休み期間」が95ms程度あるので計110.592msで1ライン、1画面5ラインなので110.592ms
x 5 = 552.96msで1画面の計算が終わります。(*1)
(*1)実際は110.592 * 4 + 14.7456 = 457.1136msで1画面計算。518.4msより短くて済む |
●extras-3層目の出力がextras-4層目の入力になる
extras-3層目のシミュレーション結果relu.outの名前を変えてex4.inとし、それがextras-4層目の入力になります。図9-24のようにRAM_X1_0〜3(入力バッファ、4ラインぶん、カーネルが3x3なので)にex4.inの内容が書き込まれます。
conv_ex2は入力バッファからの画像を処理してRAM_X2_0〜1(出力バッファ、2ラインぶん、次層はカーネルが1x1なので)に書き込みます。1ライン5画素なのでアドレスは8、出力256chなのでデータ幅は8bit x 256 = 2048bitになります(extras層は1画素8ビット)。 |
図9-24 extras-4層目のブロック図
次のページへ
目次へ戻る |