10‐05 5層目シミュレーションとEXCELの答え合わせ(続き)

●EXCELのtruncateシートとRelu_xxを比較

 積和演算の後はバイアス加算、8ビットシフト、ReLUを経てRelu_00〜15となります(図10‐60(a))。同図(b)はEXCELのCalculateシートですが、truncateの行とピタリ一致することを確認します。

図10-60 (a) 5層目の出力(シム)。8×16=128個のデータ


図10-60 (b) 5層目の出力(EXCEL)。truncate行に128個

●積和結果が合わないとき−入力画素データはEXCELと合っているか

 図10‐61はEXCELのCalculateシートで、5層目の入力はx_inです。その行が図10‐52
PixRomDataの値になります(入力は2048個あります)。



図10-61 2048個のデータの入力を確認。

●重み係数はEXCELと合っているか

 図10‐62はW5シートで、A列の2048個の係数が図10‐52
MatRomDataとなります(この表のようにエンコードされる)。

図10-62 入力2048個と係数2048個で出力が1つ計算される

●128個を320usで書いて6層目へ

 図10‐63は5層目の出力RAMの信号です。CNN1ブロックを処理する時間は320us、その時間内にRAM_X5_WR_N_Xが128回"L"になっています。
 RAM_X5はバッファが2個あります(ピンポンモード)。RAM_X5_WR_SELは1画面(128個書き込み)ごとにH/Lになります。

図10‐63 RAM_X5にはバッファが2つある。代わりばんこに書き込む

●書き込みタイミングが想定通りになっているか

 図10‐64のように出力データ1個書き込むのに
1280ns、128個書き込むのに163.84usかかります(*1)

(*1)出力データ1個計算するのに20480nsかかるが、16並列のデータを逐次的に書くので、16 x 1280ns = 20480ns、それ×8回で163.84usになる。このタイムチャート参照

図10-64 RAM_X5の書き込みを拡大

最初のページへ

目次へ戻る