6-08 シミュレーションがPythonやEXCELと合っているか確認
このアーカイブを解凍してModelSimで開きます(その使い方はここ参照)。コンパイル(compile all)の後、
do run.do
このコマンドで論理シミュレーションがスタートし、200usで自動的にストップします。
●リードアドレス発生回路
do wave.do
上記コマンドを実行すると波形が現れます。図6-60は7.7us付近を拡大したものです。
X_RD_ADDRは32, 33, 34, 62, 63, 64, 92, 93, 94となっており、この図と同じ順番で出てきているのが分かります。これが画像ROMのリードアドレスになります。 |
図6-60 リードアドレス発生のようす(7.7us付近)
●積和演算、、バイアス加算、Reluの回路
図6-61は170.56us付近を拡大したものです。乗算結果mulout_dlyが累積されたものがaddoutとなっていることが分かります。
mulout_dlyが9個累積したときのaddoutの値が取り出され、MATMULOUTとなっています。これが積和の結果になります。
それを8ビット右シフトしたものがMATMULOUT_sftになります。
それにBIASを加算したものがAOUTです。
AOUTが正のときはそのまま出力、負のときは0を出力してReluとなります。 |
図6-61 積和演算、バイアス加算、Reluのようす(170.56us付近)
●ライトアドレス発生回路
図6-62は7.6us付近、演算結果を画像RAMに書き込む部分です。この図のようにパディングを施した状態で書き込むため、画像の端で書き込みアドレスが飛びます。X_WR_ADDRが56, 57, 58と続いた後、61に飛んでいるのが分かります。 |
図6-62 ライトアドレス発生のようす(7.6us付近)
次のページへ
目次へ戻る
|