Smart-USB Plus/Sigma製品すべてに標準添付するリファレンス制御アプリ「RefApp7.exe」の「メモリ操作」タブの使い方です。
ボードに添付するFPGAのサンプル回路を例に説明します。
各ボード毎に搭載するメモリの容量が異なりますので、「転送レングス」設定と「ターゲットメモリ」がボード毎に異なる部分です。
① 「転送開始アドレス」設定
メモリのデータ転送をする前に、レジスタ・アクセスにより、レジスタNo.0(32bit)として用意したレジスタへの書き込みを行います。これにより、メモリアドレスのどの位置から転送を開始するのか決定します。
② 「転送レングス」設定
実際にデータを転送するデータ量を設定します。 ここではhex表示でバイト数を設定します。設定した数値に応じて画面のステータス領域に転送レングスがdec表示されます。
③ 「ターゲットメモリ」設定
FPGAペリフェラルに複数のメモリを搭載していたり、FPGA内部メモリと外部メモリのアクセスを区別するために利用できます。 これを選択することで、レジスタNo.1(32bit)に値が書き込まれ、FPGA回路側でどのメモリ領域にアクセスするのかイネーブル信号として利用できます。
④ 「ファイル設定」
転送したいデータのファイル名や、受信したデータを保存するファイル名を指定します。
⑤ 「メモリビット幅」設定
実際のデータ転送に先立ち、PCからFPGAにメモリコマンドを発行します。FPGAではこのコマンドを受信して、データ転送の開始を認識できます。このコマンドが発行された後に、実際にデータ転送を行います。
ここで指定するbit幅は、データの1wordが何bitなのかFPGAに通知する役目をします。 (サンプルFPGA回路ではこのビット幅指定は利用していません)
※ □ 分割メモリ転送
このチェックボックスをチェックすると、2MB単位でPCのメモリでバッファリングしながらデータの受信ができます。
チェックしないと、PCの空きメモリ領域を超えるデータ量を設定した場合、データの受信ができません。
数GBを超えるような大規模なデータを受信するときに、チェックすると便利な転送方法です。