LabVIEWは、FPGA VIのすべてまたは一部をテストし、デバッグする複数の方法を提供します。検証とデバッグに使用する実行モードを決める際には、以下の表を参照してください。

実行モード 機能的パフォーマンスを検証する タイミングを検証する HDL IPの統合を検証する 単体テストに適している コンポーネントテストに適している システムテストに適している
Windows PC

シミュレーションモード

FPGAターゲット

サードパーティシミュレーション

メモ 特定のターゲットで対話式フロントパネル通信を使用してFPGA VIをデバッグすることもできます。

ユニットレベルとコンポーネントレベルで詳細なデバッグと検証を実行できれば、システムレベルでの検証作業が少なくなります。ユニット、コンポーネント、システムを特定するためのガイドラインは、以下のセクションを参照してください。

ユニット

ユニットは、ビルドできるIPの最も基本的なレベルです。特定の処理関数またはアルゴリズムにマッピングされるため、これよりも小さい機能単位として分割し、テストする意味がありません。ユニットと見なされるコードは、以下の特性を1つ以上備えています。

  • I/O、データ通信、ターゲットリソースは含まれない。
  • 並列で実行されていたり、異なるレートで実行されている複数のループがない。
  • 既知の入力を指定して、期待される結果をテストすることができる。
  • 明示的な特定の時間の経過または制御に依存しない。
  • 設計の他の部分で再利用できるサブVIとして呼び出すことができる。

コンポーネント

コンポーネントはもっと複雑な論理の集まりで、システムのタイミングに依存します。コンポーネントはモジュール単位であり、通常、達成すべき明確なタスクまたは目標を持っています。FPGA VIは通常、複数のコンポーネントに分割することができます。このレベルの検証では、システムに組み込まれたコンポーネントが、予想どおりに相互作用することを確認します。システム全体がアセンブルされるまで待つことなく、サブコンポーネントがI/OまたはホストVIと適切に相互作用しているかどうかも確認します。

システム

システムレベルは、最上位のFPGA VIに加え、CLIPを通じてインポートされた追加のHDL IPで表される、最上位のコンポーネントです。システムには、複数のWhileループか、またはシングルサイクルタイミングループが含まれているのが普通です。システムインタフェースはホストアプリケーションに接することになるので、検証テストは本質的に、ホストアプリケーションを実行したり、ホストアプリケーションを含める場合に非常に似たものとなります。システムレベルで検証を行うには、ホストインタフェースAPIを使用するだけでなく、すべての実際のI/O信号をシステムに接続する必要があります。