LabVIEW FPGAコンパイルシステムを理解する
- 更新日2025-03-06
- 3分で読める
LabVIEW FPGAコンパイルシステムは、3つの主要コンポーネント (LabVIEW、コンパイルサーバ、コンパイルワーカ) から構成されます。これらの3つのコンポーネントは、FPGA VIをコンパイルしてビットファイルにした上で、ビットファイルをターゲットのFPGAチップにダウンロードする際に、以下の役割を果たします。
- LabVIEW―コンパイルジョブ要求をコンパイルサーバに送信します。
- コンパイルサーバ―LabVIEWからの要求を受信し、利用可能なコンパイルワーカにコンパイルジョブを送信します。
- コンパイルワーカ―コンパイルサーバからのジョブ要求を取得し、FPGA VIをコンパイルします。
LabVIEW FPGAモジュールとXilinxコンパイルツールが同じコンピュータにインストールされている場合、この3つのコンポーネントアーキテクチャには特別な構成が不要です。デフォルトでは、LabVIEWとコンパイルワーカはローカルコンピュータ (localhost) にインストールされるコンパイルサーバを使用します。Xilinxコンパイルツールをリモートコンピュータにインストールした場合は、1つまたは複数のリモートコンパイルワーカを使用して、FPGA VIをリモートでコンパイルすることができます。
コンパイルプロセスのしくみ
コンパイルにかかる時間は、VIのサイズ、プロセッサの速度、コンパイルに使用するコンピュータのメモリ量によって異なります。コンピュータに十分なメモリがない場合、小さなブロックダイアグラムをすばやくコンパイルできても、大きなブロックダイアグラムは大量の仮想メモリを使用する可能性があるため、コンパイルエラーが発生したり、コンパイルに10倍以上の時間がかかる可能性があります。
以下の手順は、FPGA VIをコンパイルするプロセスを示します。LabVIEWはコンパイルステータスウィンドウにコンパイルステータスを表示します。コンパイルサーバに接続している場合、異なるコンパイルレポートを表示できます。
- 中間ファイルの生成―LabVIEWは、FPGA VIを中間ファイル (HDLコード) に変換して、コンパイルサーバに送信します。
- キュー―コンパイルサーバは、ジョブをキューに入れ、コンパイルする中間ファイルをコンパイルワーカに送信します。
- HDLコンパイル、解析、シンセシス―コンパイルワーカは、中間ファイル (HDLコード) をデジタル論理要素に変換します。
- マッピング―コンパイルワーカは、アプリケーション論理をFPGAの物理構成ブロック間で分割します。
- 配置と経路設定―コンパイルーワーカは、コンパイルの容量/タイミングに関する制約を満たすように、FPGAの物理構成ブロックにロジックを割り当て、論理ブロック間の接続を経路設定します。
- プログラミングファイルの生成―コンパイルワーカは、LabVIEWがビットファイル内に保存するバイナリデータを作成します。
- ビットファイルの作成―ビットファイルはプロジェクトディレクトリのサブディレクトリに保存されます。その後は、アプリケーションのダウンロードおよび/または実行をFPGAで行うことができます。