●EXCELから画素や係数をコピペ・・・手作業じゃ大変
ROM関係(画像ROM、フィルタ係数ROM)は手作業でVHDL化するには煩雑すぎるので、EXCEL+VBAを使って自動生成させます。
■EXCELファイルからVBAを実行する方法
このEXCELファイルをダウンロードし、適当なディレクトリにコピーしてから開きましょう。1枚目のシートX0withPadはMNIST画像の最初の1枚(数字の7)です(図6-40)。元画像は28×28画素ですが、パディングを施して30×30画素になっています。 |
図6-40 これを自動的にVHDLファイルに貼り付ける
●EXCELの開発ツールを有効にする
そこでVBA (Visual Basic for Application)という機能を使います。まずは図6-41のようにEXCELの「ファイル」→「オプション」→「ユーザー設定」から「開発」をチェックしましょう。 |
図6-41 VBA開発できるように設定する
すると図6-42のように「開発」タブが現れるのでクリックし、左のVisual Basicをクリックします。 |
図6-42 開発タブからVisual Basic
●VBAマクロを開いて走らせる
左枠のVBA ProjectからModule1をダブルクリックすると図6-43のようにSub makeTextPixから始まるVBAマクロが現れます。 |
図6-43 VBAマクロを開く
マクロを走らせる前にこのアーカイブを解凍し、図6-44のようにvbaoutputフォルダをEXCELファイルと同じディレクトリにコピーします。 |
図6-44 VBAの結果を出力するディレクトリ
その後マクロ実行ボタン(三角マーク)をクリックすると図6-45のようなダイアログが現れます。 |
図6-45 ダイアログが現れる
vbaoutputフォルダの中にdataX.txtというテキストファイルができています。1番目のシートX0withPadが2進値となってEXCELから転写されています(図6-46)。 |
図6-46 テキストファイルに画素データの2進値
次にModule2をダブルクリックすると図6-47のようにSub margeTextPixから始まるVBAマクロが現れます。同様に三角マークでマクロを実行します。 |
図4-47 VHDLファイルを生成するマクロ
「ROM_X.vhdに書き出しました」というダイアログが現れ、vbaoutputディレクトリに同VHDLファイルが出来ています(図4-48)。 |
図4-48 画像ROMのVHDLファイル
次のページへ
目次へ戻る |