8‐03 3層目のRAMアクセス(読み方/書き方)

●3層目の入力RAMの読み方

 2層目と3層目のデータのやり取りはラインバッファ
RAM_X2を使って行われます。2層目は図8‐20の上の方、1画素出力に720ns、1ライン13画素出力するのに20.16usになります。

 したがって3層目も
20.16usで1ライン11画素演算する必要があります。図8‐21の下の方、outCh0, 0, 0〜outCh0, 0, 10(出力Ch0の横一行11画素)は20.16us以内に計算されています。出力はCh63まで64並列なので、全チャネルが20.16us以内に計算されます。

図8-20 RAM_X2書き方


図8-21 RAM_X2読み方

●入力16chを逐次計算しても間に合う

 3層目はこのように入力
16Chを一つの積和演算器が受け持ちます。各Ch毎にカーネル3x3があるので図8‐21の上の方、count9を16回、90ns x 16 = 1.44usで係数や画素を読み出します。その下のinChSelは16個の入力Chを選択する信号です。

 RAM_X2_RD_ADDRはラインバッファのアドレス、RAM_X2_RD_SELはラインバッファの選択信号で、図8‐21のように生成すれば、このようなバッファアクセスができます。


 1.44us毎に出力1画素を計算するので横1ライン計算するのに 1.44us x 11 = 15.84usになりますが、2層目が1ライン出力する時間20.16usなので、それに合わせて待ち時間を加えてパイプライン動作させます。

3層目の出力RAMの書き方

 図8‐22は3層目の
書き込みのタイミングで、1.44usの間隔で1画素、1.44us x 11 = 15.84us+休み時間で20.16usの間隔で画素が11個(1ラインぶん)書き込まれます。

 さらにそれを11ラインぶん繰り返して1画面ぶん書き込まれますが、その時間は20.16us x 11 = 221.76us+休み時間で
320usになります。
 このように各層ライン単位、画面単位で同期をとりながら計算させます。

図8‐22 RAM_X3の書き込み(3層目出力)

次のページへ

目次へ戻る