FPGAターゲットとの通信にホストVIを使用する (FPGAモジュール)

ホストコンピュータで実行する別のVIを使用して、FPGA VIとプログラム的に対話することができます。このプログラムFPGAインタフェース通信は、FPGA VIの他にホストVIを作成する必要がある点で対話式フロントパネル通信と異なります。

プログラムFPGAインタフェース通信を使用する場合、以下の図に示すように、FPGA VIはFPGAターゲット、ホストVIはホストコンピュータで実行されます。

以下に該当する場合、ホストVIを使用してホストコンピュータとFPGAターゲット間で情報を交換できます。

  • FPGAで処理可能な量より多くのデータを処理する場合。
  • 倍精度または拡張精度浮動小数点演算など、FPGAターゲットで利用できない操作を実行する場合。
  • 多層アプリケーションといった大きなシステムの1コンポーネントとしてFPGAターゲットを使用する場合。
  • データをログする場合。
  • データ転送のタイミングおよびシーケンスを制御する場合。
  • FPGA VIのテストベンチを作成する場合。

WindowsベースのコンピュータまたはRTターゲットをホストコンピュータとして使用できます。Windows OSとRT OSの両方が「FPGAインタフェース」関数をサポートしています。さらに、RTターゲット上の「FPGAインタフェース」関数を使用してFPGAターゲットと通信し、Windowsベースのコンピュータを使用してRTターゲットと通信することができます。

メモ  Linux OS上で「FPGAインタフェース」関数を使用することはできません。その代わりに、FPGAインタフェースC APIを使用してください。

以下の手順は、ホストVIの一般的なプログラミングシーケンスを示しています。

  1. FPGA VI、ビルド仕様、またはビットファイルのリファレンスを開く
  2. 制御器を読み取る/書き込む」および「メソッドをインボーク」関数など、「FPGAインタフェース」関数を使用してデータの送受信を行います。
  3. FPGA VIリファレンスを閉じる」関数でFPGAリファレンスを閉じます。

以下のブロックダイアグラムは、このアーキテクチャを示す簡単なホストVIを表示しています。このホストVIでは、アプリケーションはFPGA上でブール制御器のDIO1に値を書き込み、ブール表示器DIO0から値を読み取ります。

Whileループのコードは、アプリケーションとFPGA/ホスト間でデータを転送する方法によって変化します。



この記事は役に立ちましたか。

役に立たなかった