ILA IP を使用したブロック デザインのデバッグ - 2023.2 日本語

Vivado Design Suite ユーザー ガイド: IP インテグレーターを使用した IP サブシステムの設計 (UG994)

Document ID
UG994
Release Date
2023-10-18
Version
2023.2 日本語
重要: 既存のブロック デザインでは ILA (Integrated Logic Analyzer) デバッグ コアを引き続き使用可能ですが、新しいブロック デザインでは System ILA IP を使用したブロック デザインのデバッグ に説明されているように System ILA デバッグ コアを使用する必要があります。

ブロック デザインに ILA デバッグ コアが含まれていると、次のような情報メッセージが表示されます。

[xilinx.com:ip:ila:6.2 6] /ila_0: Xilinx recommends using the System ILA IP in IP Integrator. The System ILA IP is functionally equivalent to an ILA and offers additional benefits in debugging interfaces both within IP Integrator and the Hardware Manager. Consult the Programming and Debug User Guide UG908 for further details.

ILA を IP インテグレーター デザインにインスタンシエートし、プローブするネットを ILA に接続できます。

ILA をインスタンシエートする手順は、次のとおりです。

  1. 次の図に示すように、ブロック デザイン キャンバスを右クリックして [Add IP] をクリックします。

  2. IP カタログで検索フィールドに「ILA」と入力し、ILA コアをダブルクリックして、IP インテグレーター キャンバスにインスタンシエートします。

    次の図に、IP インテグレーター キャンバスにインスタンシエートされた ILA コアを示します。

  3. ILA コアをダブルクリックして設定します。

    次の図に示すように [Re-customize IP] ダイアログ ボックスが開きます。



    [General Options] タブの [Monitor Type] では、[AXI] がデフォルトでオンになっています。

    • AXI インターフェイス全体を監視する場合は、[AXI] をオンのままにします。
    • AXI インターフェイス信号以外を監視する場合は、[Native] をオンにします。

    必要に応じて、[Sample Data Depth] などその他のフィールドも変更できます。詳細は、 『Vivado Design Suite ユーザー ガイド: プログラムおよびデバッグ』 (UG908) を参照してください。

    注意:
    ILA を使用して監視できる AXI インターフェイスは 1 つのみです。[Number of Slots] の値は変更しないでください。複数の AXI インターフェイスをデバッグする必要がある場合は、必要に応じて複数の ILA コアをインスタンシエートしてください。

    次の図に示すように、[Monitor Type] を [Native] に設定すると、[Number of Probes] 値を設定できるようになりますを次のよう。この値を監視する信号の数に設定します。



    [General Options] タブの [Number of Probes] が 2 に設定されています。[Probe_Ports] タブには 2 つのポートが表示されます。これらのポートの幅は必要な値に設定できます。

  4. たとえば、32 ビット バスを監視する場合は、Probe0 の [Probe Width] を 32 に設定します。

    ILA を設定すると、次の図に示すようにその変更が IP インテグレーター キャンバスに反映されます。



  5. ILA を設定したら、次に示すように、IP インテグレーター キャンバスで ILA のピンを接続します。

    注意:
    I/O ポートに接続されたピンをデバッグするには、MARK_DEBUG を使用してネットをデバッグ用にマークします。この方法については、次のセクションで説明します。
  6. 合成、インプリメンテーション、ビットストリームの生成に進みます。

ブロック デザインの I/O ポートをデバッグ用にプローブする必要のあることがよくあります。I/O ポートがインターフェイス ポートにまとめられている場合、これらのインターフェイス ポートまたはピンを ILA または VIO デバッグ コアに接続する際には注意が必要です。インターフェイス ポートから該当するポートを取り出す必要があります。詳細は、インターフェイス信号の接続 を参照してください。

たとえば、次の図に示す KC705 ボード用 MicroBlaze プロセッサ デザインがあるとします。このデザインには、KC705 ボードの 8 ビット LED インターフェイスと 4 ビット DIP スイッチの両方を使用するよう設定された GPIO が含まれます。

図 1. ブロック デザインの I/O インターフェイスの監視

これらの I/O インターフェイスを監視するには、次の手順に従います。

  1. GPIO インターフェイス ピンを展開表示して、インターフェイス ピンを構成するピンを確認します。

    GPIO インターフェイスには、次の図に示すように、GPIO インターフェイスは gpio_io_o[7:0] という 8 ビット出力ピンで構成され、GPIO2 インターフェイスは gpio2_io_i[3:0] という 4 ビット入力ピンで構成されています。

    デバッグ プローブを使用してこれらのピンを監視するには、これらのピンをブロック デザインの外部に設定する必要があります。つまり、インターフェイス ピン内のピンを外部ポートに接続する必要があります。

  2. ピンを右クリックし、Make External をクリックします。

    次の図では、GPIO および GPIO2 インターフェイス ピンを構成するピンがブロック デザインの外部ポートに接続されています。次にこれらのピンを ILA デバッグ コアに接続する必要があります。



    注意:
    入力ピンまたは出力ピンを外部ポートに接続してインターフェイスの I/O ピンを外部に設定する際、最上位インターフェイス ピンと I/O ポートの接続は削除しないでください。次の図に示すように、既存の最上位インターフェイス ピンは適切なインターフェイスに外部接続されたままにします。

    インターフェイスの個別の信号またはバスを接続すると、次のような警告メッセージが表示されます。

    WARNING: [BD 41-1306] The connection to interface pin /axi_gpio_0/gpio2_io_i is being overridden by the user. This pin will not be connected as a part of interface connection GPIO2.

    これらの個別のピンまたはバスのピンは、インターフェイスの一部としては接続されないので、すべて手動で接続する必要があります。

    重要: これは、信号をプローブするために ILA または VIO コアを追加する際には特に重要な概念です。ILA または VIO コアをインターフェイスの 1 つのピンに接続し、その信号がインターフェイスから取り除かれていることに気づかないことがよくあります。ほかの展開されたインターフェイス ピンに接続しなければ、信号の接続は切断されます。
  3. [Add IP] コマンドを使用して ILA コアをデザインにインスタンシエートし、[Native] または [AXI] モードのいずれかをオンにします。
    注記: この例の場合、AXI インターフェイスは監視しないので、[Native] モードをオンにします。
  4. ILA コアで次の 2 つのプローブを設定します。
    • LED を監視するための 8 ビット幅のプローブ
    • DIP スイッチを監視するための 4 ビット幅のプローブ
  5. 次の図に示すように、ILA プローブを適切な入力/出力ピンに接続し、ILA クロックを I/O ピンと同じクロック ドメインに接続します。

デバッグ コアをブロック デザインに挿入すると、生成された出力ファイルに Vivado ハードウェア マネージャーでデザインをデバッグするために必要なロジックと信号プローブが含まれるようになります。Vivado ハードウェア マネージャーとデバイスのプログラムおよびデバッグに関する詳細は、 『Vivado Design Suite ユーザー ガイド: プログラムおよびデバッグ』 (UG908) の「デバッグ コアのプロパティの変更」を参照してください。