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

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

 3層目と4層目のデータのやり取りはラインバッファ
RAM_X3を使って行われます。3層目はこのように1画素出力に1.44us、1ライン11画素出力するのに20.16usかかります。

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

図9-20 RAM_X3読み出し(4層目入力)

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

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

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


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

4層目の出力RAMの書き方

 4層目は1画素計算するのに1.44usですが、プーリングで間引くため出力はその倍の
2.88usになります。

 また、プーリングでは縦方向も間引くので、図9‐21のように2.88us x 4 = 11.52usの後に「休み時間」が発生して結局 10.08us x 4 =
40.32usで1ライン出力されます。

 4層目の出力は4ラインなので40.32us x 4 = 161.28usで1画面計算できますが、出力は休み時間込みで(他の層と同じ)
320usになります。

図9‐21 RAM_X4の書き込み(4層目出力)

次のページへ

目次へ戻る