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層目出力)
次のページへ
目次へ戻る
|