8-10 4,5,6層目の論理シミュレーション

■4層目の論理シミュレーション

 このアーカイブは4層目のModelSim(使い方はここ)プロジェクトです。


●4層目の出力画像は32個のRAMの中にある

 図8-120のようにtb_conv_hw/conv_hw_1の下にはRAM_Z4_00〜31まで
32個のRAMがあり、それぞれに出力チャネルの画像データ(プーリングにより8×8画素)が書かれています。これらが4層目の結果であり、5層目の入力になります。


  図8-120 ModelSimのSimタブ


●RAM_Z4_00の中身を見てみる

 図8-121はtb_conv_hw/conv_hw_1/RAM_Z4_00の下のRAMDATAです(RAMの中身)。出力チャネル32枚のうちの最初の画像データが入っています。
10us辺りからデータが現れます。



  図8-121 RAM_Z4_00のRAMデータ


●4層目の出力画像データをEXCELと比較する

 conv_layer4.xlsmのシートPool00(図8-122)と一致することを確認しましょう。4層目では
プーリングでの間引きが入るので出力画素数は8×8になります。さらに次の層(5層目)のためにパディング(幅が1)を施します。その結果アドレスがずれていることに注意しましょう。



  図8-122 Pool00シート(conv_layer4.xlsm)


●最後のチャネル31はどうか

 出力チャネルは32個あります。図8-123は最後のチャネル31に相当するRAMデータです。これは
80us付近からデータが現れます。



  図8-123 RAM_Z4_31のRAMデータ


●8枚づつ4回に分けて順次計算

 出力画像32枚は
8枚づつ、4回に分けて演算されます。図8-124のように約23usのシーケンスを4回行い、合計93us程度で終了します。


  図8-124 RAM_Z4_00〜07、08〜15、16〜23、24〜31、それぞれ書き込まれるタイミングが違う


●3層目は72usだったが4層目は93usになった

 3層目と比べて画素数が一回り(14x14 → 16x16)大きくなったのでそのぶんサイクル数がかかり、約
9.3kサイクル(93us@10ns)になります。


次のページへ


目次へ戻る