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)になります。 |
次のページへ
目次へ戻る |