ハードウェア エミュレーション - 2021.1 Japanese

Vitis 統合ソフトウェア プラットフォームの資料: アプリケーション アクセラレーション開発 (UG1393)

Document ID
UG1393
Release Date
2022-03-29
Version
2021.1 Japanese

ハードウェア エミュレーションは、プログラマブル ロジック デザインの RTL シミュレーションを実行し、PL カーネルはハードウェア プラットフォームのサイクル近似モデルと統合されます。

ハードウェア エミュレーションは、次のタスクに特に役立ちます。

  • C、 C++、または OpenCL カーネルコードから合成された RTL コードが正しく機能するかどうかをチェック
  • 異なるカーネル間または複数の CU 間の相互作用をテスト
  • ハードウェア波形を使用して、カーネルの内部アクティビティを詳細に把握
  • アプリケーションの初期パフォーマンスの見積もりを取得

各カーネルはハードウェア モデル (RTL) にコンパイルされます。ハードウェア エミュレーション中は、カーネルが Vivado ロジック シミュレータで実行され、波形ビューアーでカーネル デザインを確認できます。シミュレータのサポート で説明されるように、サポートされているサードパーティ シミュレータもあります。また、ハードウェア エミュレーションでは、ハードウェア インプリメンテーションのパフォーマンスおよびリソースの見積もりも示されます。

SystemC モデルは、Versal NoC/DDR メモリ、CIPS 、PS ブロック、AI エンジン UltraScale+ MIG DDR メモリ、AXI4 SmartConnect など、ハードウェア プラットフォームで使用される主要 IP 用に提供されています。これらの IP モデルはハードウェア エミュレーション中に使用され、シミュレーションのパフォーマンスと結果を向上させます。

ハードウェア エミュレーションでは、コンパイルおよび実行時間はソフトウェア エミュレーションよりも長くなりますが、詳細でサイクル精度のカーネル アクティビティが表示されます。ザイリンクスでは、ハードウェア エミュレーションの実行時間を妥当なものに抑えるため、小さなデータ セットを使用することをお勧めします。

重要: ハードウェア エミュレーションで使用される DDR メモリ モデルおよびメモリ インターフェイス ジェネレーター (MIG) モデルは、高位シミュレーション モデルです。これらのモデルでは、シミュレーションのパフォーマンスは良いですが、レイテンシには近似値が使用されるので、カーネルのようにサイクル精度ではありません。そのため、プロファイル サマリ レポートに示されるパフォーマンス値は概算でしかないので、異なるカーネル インプリメンテーション間のパフォーマンスを相対的に比較するためのガイダンスとしてのみ使用してください。

Vitis コンパイラ コマンド で説明されているように、ハードウェア エミュレーション ターゲットは v++ コマンドで -t オプションを使用して指定します。

v++ -t hw_emu ...