7‐02 2層目の重み係数とバイアスのHDL生成
●8種類に限定された係数シート
ここでPythonをEXCEL化した際の2層目のファイル(TS_layer2.xlsm)を開きます。W2_Biasシートに重み係数がありますが、それらは8種類(+64, +32, +16, +4, -4, -16, -32, -64)しかありません(図7‐04)。 |
図7-04 みな2の累乗なのでビットシフト乗算できる
●Visual Basic for Applicationウインドウ
図7‐05のようにVBAからModule10を開きます。このマクロ(TS_makeTextW2)はW2_Biasシートの重み係数をエンコードして結合するものです。 |
図7‐05 TS_makeTextW2 (Module10)
●ROMDATA(0)〜(35)が生成される
マクロを実行するとvbaoutputディレクトリ(これを展開)にdata00〜03.txtが生成されます(図7‐06)。W2_Biasシートの各セルがエンコードされて横一行になっています(*1)。
(*1)-64=100, -32=101, -16=110, -4=111, +4=000, +16=001, +32=010, +64=011と3ビットにエンコード。それを横一行なので3x32 = 96ビットになる。ROMDATAは0〜35まで(入力16ch/4
= 4ch, カーネル3x3なので4x9 = 36) |
図7‐06 ビット幅96bit、アドレスは0〜35
●VBA2つでHDLファイル完成
つぎにModule11を開いて実行します(図7‐07)。TS_margeTextW2というマクロで、これにより係数ROMのHDLファイルとなります。 |
図7‐07 もう一つVBAを実行
次のページへ
目次へ戻る
|