ChipScope を使用したデバッグでのカーネルのイネーブル - 2020.1 Japanese

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

Document ID
UG1393
Release Date
2020-08-20
Version
2020.1 Japanese

ハードウェア デバッグで重要なのは、カーネルに必要なデバッグ ロジックを挿入することです。次のトピックでは、使用可能なカーネル ポートをリストし、選択したポートで System Integrated Logic Analyzer (ILA) コアをイネーブルにし、プロトコル違反のチェック用に AXI Protocol Checker デバッグ コアをイネーブルにする v++ リンカー オプションを示します。

ILA コアを使用すると、ハードウェアで実行される計算ユニット (CU) のインスタンスのアクティビティをトランザクション レベルで表示できます。ILA コアを使用すると、特定の AXI トラフィックをキャプチャして表示することもできます。ILA コアは、既存の RTL カーネルに追加してデザイン内でデバッグ機能をイネーブルにするか、v++ コンパイラでリンク時に自動的に挿入されるようにできます。v++ コマンドには、デバッグおよびパフォーマンス監視用にカーネルへのインターフェイスに System ILA コアを接続する --dk オプションがあります。

-–dk オプションを使用して ILA IP コアの挿入をイネーブルにするには、次の構文を使用します。
 --dk <chipscope:<cu_name>[:<interface_name>]>

通常、<interface_name> の使用はオプションです。指定しない場合、すべてのポートが解析されます。

AXI Protocol Checker コアは、AXI インターフェイスを監視します。インターフェイスに接続すると、プロトコル違反をアクティブにチェックし、違反が発生した場合にそれを通知します。デザインのすべての CU、または特定の CU およびポートに割り当てることができます。

AXI Protocol Checker の挿入をイネーブルにするには、-–dk オプションを次の構文で使用します。
 --dk <protocol:all>

プロトコル チェッカーを使用する場合は、キーワード all または <cu_name>:<interface_name> を指定します。

注記: --dk list_ports オプションを使用すると、protocol または chipscope で使用するカーネル上の実際のポート名を取得できます。

ILA またはプロトコル チェッカーをデザインに追加するフローの例を次に示します。

  1. カーネル ソース ファイルを .xo ファイルにコンパイルする際に、-g オプションを使用してカーネルにデバッグ機能を追加します。
    v++ -c -g -k <kernel_name> --platform <platform> -o <kernel_xo_file>.xo <kernel_source_files> 
  2. カーネルが .xo ファイルにコンパイルされたら、--dk list_ports を使用し、v++ コンパイラでカーネルで有効な計算ユニットとポートの組み合わせが表示されるようにします。
    v++ -l -g --platform <platform> --connectivity.nk <kernel_name>:<compute_units>:<kernel_nameN> 
    --dk list_ports <kernel_xo_file>.xo 
  3. list_ports--dk chipscope または --dk protocol コマンドに置き換え、ポートに ILA または AXI デバッグ コアを追加します。
    v++ -l -g --platform <platform> --connectivity.nk <kernel_name>:<compute_units>:<kernel_nameN> 
    --dk chipscope:<compute_unit_name>:<interface_name> <kernel_xo_file>.xo 
ヒント: --dk オプションは、1 つの v++ コマンド ラインで複数回指定して、複数の CU およびインターフェイスを指定できます。

デザインがビルドされたら、ChipScope を使用したデバッグ に示すように、Vivado ハードウェア マネージャーを使用してデザインをデバッグできます。