8-01 vgg-1層目のVHDL化(続き)
●Modelsimという無償の論理シミュレータを使う
このアーカイブを解凍してシミュレーションします(*6)。vgg-1層目はconv_layer1で、その下にdotpro_00〜63があります(図8‐06)。これらは積和演算回路で、64個並列に動作します。
(*6)ModelSimの使い方(シミュレーションの走らせ方)はこの辺りが参考になります。 |
図8‐06 dotpro(積和乗算器)が64個ある
●入力画像と重み係数を掛けて足し込んでいく
図8‐07は積和演算の部分で、入力画像PixRomDataと係数MatRomDataが乗算されてmuloutとなり、それが累積されていくようすがaddoutに見て取れます。 |
図8‐07 積和演算のようす
●2層目のパディングを考慮しながらの書き込み
図8‐08は1層目の出力を書き込む部分、RAM_X1_0はに1ラインぶん(300個)のデータを書き込みます。アドレスRAM_X1_WR_ADDRは1〜300(*7)、データは5bit
x 64ch = 320bitになります。
(*7)アドレスは0〜299ではなく、次層のパディングを考慮して1〜300に書く。 |
図8‐08 アドレス9ビット、データ320ビットのRAMに出力をため込む
●ラインバッファは4個、順番に書き込む
出力用RAMは4個(4ラインぶんのバッファ)あり、図8‐09のように順番に書き込まれます(RAM_X1_WR_N_0〜3が順番にイネーブルになっている)。 |
図8‐09 ライトイネーブルがLのとき書き込み
次のページへ
目次へ戻る |