ハードウェア エミュレーションでのデバッグ - 2020.2 Japanese

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

Document ID
UG1393
Release Date
2021-03-22
Version
2020.2 Japanese
重要: 次は、コマンド ラインからデバッグをする手順です。ただし、Vitis IDE には、コマンド ラインから作成された Vitis アプリケーション アクセラレーション プロジェクトに使用可能なスタンドアロンのデバッグ環境が提供されています。詳細は、スタンドアロン デバッグ フローの使用を参照してください。

ハードウェア エミュレーションでは、カーネル コードは RTL コードにコンパイルされるので、ザイリンクス デバイスにインプリメンテーションする前にカーネルの RTL ロジックを評価できます。ホスト コードはカーネルの RTL モデルのビヘイビアー シミュレーションと同時に実行でき、直接インポートされるか、Vitis HLS を使用して C/C++/OpenCL カーネル コードから作成されます。詳細は、ハードウェア エミュレーション を参照してください。

次の図に、ホスト コードの検証、ホストおよびカーネルのパフォーマンスのプロファイリング、FPGA リソース使用量の見積もり、ハードウェア (RTL) の正確なモデルを使用したカーネルの検証を実行するために Vitis デバッガーで使用可能なハードウェア エミュレーション フローを示します。GDB も、ホストおよびカーネル コードのソフトウェア スタイル デバッグに使用できます。

図 1. ハードウェア エミュレーション

ハードウェア エミュレーションを実行して、ホストおよびカーネルのハードウェア インプリメンテーションが正しいことを検証します。ハードウェア エミュレーション フローでは、FPGA ファブリックで実行されるカーネル ロジックをテストするため、Vitis コア開発キットから Vivado ロジック シミュレータが起動します。インターフェイス モデルの全体的な実行時間に対する影響を制限するため、モデル間のインターフェイスはトランザクション レベル モデル (TLM) で記述されます。ハードウェア エミュレーションの実行時間は、ソフトウェア エミュレーションよりも長くなります。

ヒント: ザイリンクスでは、デバッグおよび検証に小さなデータ セットを使用することをお勧めします。

ハードウェア エミュレーションでは、パフォーマンスを改善するためカーネル コードを変更することも可能です。機能が正しく、カーネルのパフォーマンス見積もりが十分なものになるまで、ハードウェア エミュレーションでホストおよびカーネル コード デザインを繰り返し実行します。