■論理シミュレーション
このアーカイブを解凍してModelSimで開きます(その使い方はここ参照)。コンパイル(compile all)の後、 do run.do
このコマンドでシミュレーションがスタートし、34usで自動的にストップします。
●並列動作のようすを波形で確認
do wave.do
上記コマンドを実行すると図3-28のように波形が現れます。MatRomData_00〜06はROMを選択するマルチプレクサの出力です。このように7個のROMが同時に読み出され、並列に演算されます。 |
図3-28 重みROMデータが7個同時に読み出される
●2層目の演算結果の確認
図3-29のZ_WR_DATA_00〜06を見てみましょう。14us付近で現れる値がdotpro_sigmoid_w2_00〜06内で行われた演算結果になります。 同図とこのEXCELのz2の行を見比べると、演算結果がピタリ一致していることが分かります。 |
図3-29 14us付近から2層目の結果
●2層目の結果をRAMに書いて3層目に渡す
図3-30はZ_WR_DATA_00〜06をマルチプレクサで多重化してRAM_Z2に書き込む最初の部分です。アドレスZ_WR_ADDRは0,
16, 32, ... 96と書き込んでいきます。 |
図3-30 2層目の結果をRAMに書き込む。アドレスは0, 16, 32, ... 96
図3-31はRAM_Z2への書き込みが終わる部分です。アドレスZ_WR_ADDRは15, 31,
47, ... 111と書き込んでいきます。なお、2層目の結果は100個なのでアドレス100以上は無効になります。 |
図3-31 2層目の結果をRAMに書き込む。アドレスは15, 31, 47, ... 111
次のページへ
目次へ戻る
|