■5層目の論理シミュレーション
このアーカイブは5層目のModelSim(使い方はここ)プロジェクトです。
●5層目の出力画像は64個のRAMの中にある
図8-125のようにtb_conv_hw/conv_hw_1の下にはRAM_Z5_00〜63まで64個のRAMがあり、それぞれに出力チャネルの画像データ(8×8画素)が書かれています。これらが5層目の結果であり、6層目の入力になります。 |
図8-125 ModelSimのSimタブ
●RAM_Z5_00の中身を見てみる
図8-126はtb_conv_hw/conv_hw_1/RAM_Z5_00の下のRAMDATAです(RAMの中身)。出力チャネル64枚のうちの最初の画像データが入っています。6us辺りからデータが現れます。 |
図8-126 RAM_Z5_00のRAMデータ
●5層目の出力画像データをEXCELと比較する
conv_layer5.xlsmのシートoutCh00(図8-127)と一致することを確認しましょう。5層目の出力画素数は8×8ですが、次の層(6層目)のためにパディング(幅が1)を施すことにより、アドレスがずれていることに注意しましょう。
|
図8-127 outCh00シート(conv_layer5.xlsm)
●最後のチャネル63はどうか
出力チャネルは64個あります。図8-128は最後のチャネル63に相当するRAMデータです。これは96us付近からデータが現れます。 |
図8-128 RAM_Z5_63のRAMデータ
●4枚づつ16回に分けて順次計算
出力画像64枚は4枚づつ、16回に分けて演算されます。図8-129のように約6usのシーケンスを16回行い、合計97us程度で終了します。 |
図8-129 RAM_Z5_00〜03、04〜07、08〜11、…、56〜59、60〜63それぞれ書き込まれるタイミングが違う
●4層目と若干増えて5層目は97usになった
4層目と比べて画素数が小さく(16x16→8x8)なったので出力1枚分のサイクル数が4分の1になります。その代わり出力の枚数は2倍(32枚→64枚)です。その辺りを鑑みて4枚づつ、16回に分けて計算します。16回繰り返すことによるオーバヘッドにより若干サイクル数が増えて9.7kサイクルになりました。 |
次のページへ
目次へ戻る |