6‐05 1層目のRAMアクセス(HDL)

●入力チャネル4つを切り替える信号

 このタイムチャートの
in1ChSelにより入力の4ch(RGB+Dummy)や係数ROMのアドレス・オフセットなどを切り替えます。その生成は図6‐31のように9サイクル毎に0,1,2,3とカウントアップさせます。in1ChSelは2ビットなので3の次は0に戻ります。したがって36サイクル、360nsで一周します。

図6‐31 90ns毎に0,1,2,3とカウントアップ。360nsで0に戻る(gts_timing.vhd)

●30x30画素なのでカーネルの動く範囲は28×28

 このタイムチャートの
CnnPixCount(CNNブロックの水平方向カウンタ)は図6‐32のように生成します。カウントアップのタイミングはcount9=8かつin1ChSel=3なので10ns x 9 x 4 = 360nsになります。また27でクリアされて0になる「28進カウンタ」になっています。

図6‐32 0〜27、0〜27と繰り返すCnnPixCount(gts_timing.vhd)

●10.08us x 28 = 282.24us+休み時間で320us

 
CnnLineCount(CNNブロックの垂直方向カウンタ)は図6‐33のように生成します。カウントアップのタイミングはCnnPixCount=27なので360ns x 28 = 10.08usになります。
 カウンタは”27”でストップし、クリア信号を待ちます。VgaLineCountMod10=9すなわちVGAの水平同期が10個ぶん(320us)でクリアされます(このように休み時間37.76us発生)。

図6‐33 0〜27でストップしてクリアを待つCnnLineCount(gts_timing.vhd)


次のページへ


目次へ戻る