ハードウェア エミュレーションを使用したシステム パフォーマンスの解析 - 2023.2 日本語

Versal アダプティブ SoC システム統合および検証設計手法ガイド (UG1388)

Document ID
UG1388
Release Date
2023-11-15
Version
2023.2 日本語

AI エンジン、PS、および PL を含む Versal デバイス システムは、Vitis リンカーを使用して統合し、Vitis ハードウェア エミュレーションを使用して一緒にシミュレーションできます。ハードウェア エミュレーションを使用すると、AI エンジン、PS、および PL の間のやり取りがシステム パフォーマンスにどのように影響するかを調べることができます。ハードウェア エミュレーションでは、PL カーネルは RTL として実行され、AI エンジン カーネルは aiesimulator で実行され、PS コードは AMD クイック エミュレーター (QEMU) で実行されます。シミュレーション速度のため、一部のインフラストラクチャ ブロックはトランザクション レベル モデル (TLM) を使用して抽象化されます。ハードウェア エミュレーションは、完全ではありませんがほぼサイクル精度で、インプリメンテーション前にシステム パフォーマンスに関する主要な考慮事項を解析、デバッグ、および検証するのに有益です。

ハードウェア エミュレーションは自動的に実行され、プロファイル サマリ、アプリケーション タイムライン トレースなど、ユーザーが設定したパフォーマンス ベースのレポートが生成されます。これらのレポートは Vitis アナライザーで表示でき、データ転送サイズおよび効率、カーネル実行時間、ストール情報などのパフォーマンスに関する有益な情報を取得できます。これらのレポートに加え、Vitis アナライザーでは詳細なアクティビティ波形も表示でき、システムの特定の部分に対して詳細なカスタム解析を実行できます。

ハードウェア エミュレーションおよび Vitis アナライザーの詳細は、 『Vitis 統合ソフトウェア プラットフォームの資料: アプリケーション アクセラレーション開発』 (UG1393) および 『AI エンジン ツールおよびフロー ユーザー ガイド』 (UG1076) を参照してください。

追加のハードウェア

スループットの合成可能な計測方法として、特定のトランザクションの経過サイクル数 (データの B ビートのペイロードをソースからデスティネーションに送信するのにかかる時間) をカウントするよう RTL IP を設計できます。これは、最初の TVALID からイベントを開始するようカウンターをトリガーすることにより達成できます。または、Vivado IP カタログに含まれる AXI パフォーマンス モニター (APM) IP を利用してイベントをカウントすることもできます。

ソフトウェア

システム全体を実行 (PL IP をトリガー、トラフィックを開始など) する軽量 PS アプリケーションを開発する必要があります。これは、アプリケーションによってことなります。たとえば、PL リセットのディアサートを使用し、PS アプリケーションが不要なアプリケーションもあります。この場合、「Hello World」と表示する単純な PS アプリケーションを使用してシステム エミュレーションをトリガーできます。

ベアメタル アプリケーションで十分です。Linux ベースのハードウェア エミュレーションも可能ですが、この段階では利点はありません。