エンベデッド システムの評価に関するプランニング - 2023.2 日本語

Versal アダプティブ SoC システムおよびソリューション プランニング設計手法ガイド (UG1504)

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

エンベデッド システムの設計では、エンベデッド プロセッサ コア、専用ハードウェア エンジン、およびプログラマブル ロジックをターゲットとするハードウェア/ソフトウェアの協調設計をする必要があります。また、エンベデッド システムを評価するには、次の AMD およびサードパーティのツールを使用して、システム レベルのデバッグを実行する必要があります。

  • Vitis エンベデッド ソフトウェア ツール
  • Vitis AI エンジン デバッガー
  • GNU デバッガー (GDB)
  • Arm® Development Studio (DS-5) デバッガー

次の表に、各ツールの使用目的を示します。

表 1. エンベデッド システムの評価に関するプランニング用のデバッグ ツール
デバッグ ツール 使用目的
Vitis エンベデッド ソフトウェア ツール
  • ソース コードを管理する
  • ソースを特定のプラットフォーム用にコンパイルする
  • ソースをハードウェア プラットフォームにダウンロードする
  • デバッグを有効にする
Vitis AI エンジン デバッガー
  • ユーザーのブレークポイントをコードに挿入する
  • シングル ステップを有効にする
  • コードの逆アセンブル ビューを生成する
  • 使用しているプロセッサ アーキテクチャと OS に基づいてメモリ ダンプを生成する
GNU デバッガー
  • セグメンテーション違反をデバッグする
  • コード内のメモリ リークをデバッグする
Arm DS-5 デバッガー
  • Arm Cortex®-A72 および Cortex-R5F プロセッサ上で実行されるコードをデバッグする
  • コード ベースが大きいために、シングル ステップを使用することやブレークポイントを設定することが難しい場合、ソース コードをトレース バックする

アクセラレータを設計する際は、次のことに注意してください。

  • エンベデッド システム デザインに PL または AI エンジン ベースのハードウェア アクセラレータ ブロックを組み込む場合は、AXI4 メモリ マップド インターフェイスまたは AXI4 ストリーミング インターフェイスを使用してアクセラレータを設計します。ほとんどの Versal アダプティブ SoC IP は、これらのプロトコルと互換性があります。また、Vitis ツール フローを使用して Debug ILA (Integrated Logic Analyzer) IP を追加する方が、ネイティブ非 AXI インターフェイスを使用して ILA を追加するよりも容易です。
  • PL アクセラレータ ブロックをデバッグするには、デザインに ILA コアが必要です。
  • アクセラレータのデザイン フローで Vitis コンパイラを使用してアクセラレータ ブロックを Vitis プラットフォームにリンクする場合は、v++ -l 段に追加のコマンド ライン引数を入力し、カーネル インターフェイスに ILA コアを追加する必要があります。
  • アクセラレータの性能を測定してデバッグするには、プラットフォームに AXI Performance Monitor (APM) コアを追加します。APM コアは、AXI4 ストリーミング インターフェイスおよびメモリ マップド インターフェイス用のインターフェイス トレースを生成します。このトレースは、カーネルのアクティブ時間、アイドル時間、およびストール時間を示します。どのブロックがストール時間の原因になっているかに基づいて、そのブロックに焦点を合わせて追加デバッグを実行できます。