8-06 3層目の論理シミュレーション

 VHDLを生成したら論理シミュレーションを行います。このアーカイブを解凍してModelSim(使い方はここ)で走らせます。

●3層目の入力画像はあらかじめROMにある

 シミュレーションではあらかじめROM_X3の中に3層目の入力画像(2層目の出力画像)が入っています。図8-70はそのROM_X3からデータを読み出すようすです。入力画像は16枚あり、tb_conv_hw/conv_hw_1/Z1_RD_DATA_
00が1枚目で、"57" -> "57, 121" -> "57, 121, 83"といった順に値が読み出されます。


  図8-70 画像ROMを読み出すようす


●入力画像をEXCELと比較する

 conv_layer3.xlsmのシートim2col
00がそれに相当します(図8-71)。シミュレーションと同様に"57" -> "57, 121" -> "57, 121, 83"といった順に値が並んでいることを確認します。



  図8-71 im2col00シート(conv_layer3.xlsm)


●入力画像と係数行列との乗算結果

 図8-72はtb_conv_hw/conv_hw_1/conv_layer3_inst/CL3_
00_instの下のZ_WR_DATA_00〜07で、入力チャネル0に対する行列乗算結果です。(*1)

(*1)乗算結果は本来32個必要だが8個しかないのは、ここで説明したように4回に分けて計算するから。



  図8-72 行列乗算のシミュレーション


●行列乗算結果をEXCELと比較

 EXCELのシートim2col
00_W3(図8-73)のA列がZ_WR_DATA_00、B列がZ_WR_DATA_01に相当します。乗算結果は8個しかないのでI列以降は次回のシーケンスで計算されます。



  図8-73 im2col00_W3シート(conv_layer3.xlsm)


次のページへ


目次へ戻る