このセクションでは、SmartLynq+ モジュールと HSDP を使用するシステムの要件とビルド方法について説明します。
コンパイル、リンク、およびパッケージ
-
-event-trace-port=plio
オプションを使用して AI エンジン デザインをコンパイルします。これにより、イベント トレース ポートが PLIO に設定されます。注記: イベント トレース ポートが GMIO に設定されている場合、HSDP を使用して AI エンジン トレースをオフロードできません。 -
AI エンジン グラフおよび C/C++ カーネルをコンパイルし、RTL カーネルをパッケージしたら、Vitis の
v++ --link
コマンドを使用してこれらをターゲット プラットフォームとリンクし、プラットフォーム ファイル (XSA) をビルドします。HSDP を使用して AI エンジン トレースをオフロードするには、v++ -link
コマンドに–profile.aie_trace_offload=HSDP
オプションを追加する必要があります。これにより、AI エンジン トレース オフロード用に新しい HSDP IP のインスタンスが作成され、すべての PLIO イベント トレース ストリームが HSDP IP に接続されます。
- HSDP を介する AI エンジン トレースのオフロードには、AI エンジン グラフを制御する XRT API を備えたホスト プログラムのみを使用する必要があります。
- リンク ステップで生成された HSDP 対応 XSA ファイルと libadf.a をパッケージし、
sd_card
イメージを生成します。
SmartLynq+ モジュールのセットアップと Versal デバイスへの接続
- SmartLynq+ モジュールを正しくセットアップするには、最新の microSD カード イメージと SmartLynq+ アプリケーション パッケージをダウンロードしてインストールする必要があります。このインストール プロセスの詳細は、SW ツールのダウンロードとインストールを参照してください。SmartLynq+ のセットアップが完了したら、Versal デバイス評価ボードを接続する必要があります。
- SmartLynq+ モジュールは、USB 3.0 接続を使用してホスト システムからアクセスできます。Windows および Linux 環境用のドライバー セットアップ情報は、USB 3.0 ホスト接続を参照してください。
-
Versal デバイス評価ボードの接続の詳細は、
『SmartLynq+ モジュール ユーザー ガイド』 (UG1514) の Versal 評価ボードへの接続を参照してください。注記: エンベデッド デザイン チュートリアルでは、SmartLynq+ モジュールを使用する高速デバッグ ポートのシステム デザイン例について説明します。
- Versal アダプティブ SoC 向け SmartLynq+ モジュールの概要は、 『SmartLynq+ モジュール ユーザー ガイド』 (UG1514) を参照してください。
XSDB の起動とトレース情報のオフロード
Versal 評価ボードに HSDP 対応 Linux イメージをロードしたら、次を実行します。
- Versal 評価ボードと SmartLynq+ モジュールの電源をオンにします。
-
minicom
アプリケーションで Linux ブート メッセージを確認します (SmartLynq+ モジュールをシリアル端末として使用し、事前にインストールされている minicom アプリケーションを使用して Versal ボードからの UART 出力をリモートで確認できる)。 -
AI エンジン デザインの
Work/
ディレクトリがあるローカル ディレクトリから XSDB を起動します。 -
source $::env(XILINX_VITIS)/scripts/vitis/util/aie_trace.tcl
コマンドを使用して aie_trace.tcl スクリプトを読み込みます。 - 次のコマンドを使用して AI エンジン トレースを開始します。
XSDB コンソールの例は次のようになります。aietrace start -graphs <GRAPH_NAME> -graph -based -aie -tile -metrics all:all:functions_all_stalls- work-dir <WORK_DIR> - link -summary <*.xsa.link_summary>
注記: XSDB フローで指定したオプションはすべて使用できるはずです。ただし、-base-address
オプションと-depth
オプションは、HSDP オフロードには使用できません。これらのオプションを使用すると、XSDB でエラーが発生します。 - ハードウェアでアプリケーションを実行します。
xrt.ini
ファイルに、XSDB によって提供されるコンフィギュレーションと競合する AI エンジン トレース コンフィギュレーションが含まれていないことを確認してください。 -
aietrace stop
コマンドを使用して AI エンジン トレースを停止します。AI エンジン トレースに対応するhsdp_event_trace0.txt
ファイルと、イベント コンフィギュレーションを含む JSON ファイルが表示されるはずです。
- これで、ダンプされたトレースが
hw_analyze
コマンドによって処理され、Vitis IDE で使用可能な .wdb ファイルが生成されます。hwanalyze --pkg-dir=<WORK_DIR> --trace=hsdp_event_trace_aie.txt --trace_config=<PATH_TO_JSON> -wdb
- Vitis IDE を起動し、.wdb ファイルを開いてイベント トレースを解析します。
- 現在、新しい Vitis IDE の [Analysis] ビューで、スタンドアロンの波形デバッグ ファイル (
.wdb
、.wcfg
) を開くことはできません。この機能を使用するには、vitis_analyzer --classic
を使用します。 - トレース情報は、次のように表示されます。
制限
- HSDP を使用する AI エンジン トレース オフロードはハードウェアでのみサポートされ、ハードウェア エミュレーションではサポートされません。
- DFX 以外のプラットフォームでのみサポートされます。
-
-event-trace-port
がGMIO
ではなくPLIO
に設定されている場合にのみサポートされます。 - XRT ベースのトレース オフロードはサポートされません。