cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Versal ACAP Integrated Block for PCIe Express コアの PCIe リンク デバッグ機能を使用したリンクの問題のデバッグ

kurihara
Xilinx Employee
Xilinx Employee
4 0 452

このブログは、英語版Debugging Versal ACAP Integrated Block for PCIe Express link issues using in-built "PCIe Link Debug" featureを翻訳したものです。

 

Versal™ ACAP Integrated Block for PCI Express® コアのカスタマイズでは、PCIe® のリンク デバッグをイネーブルにするオプションが提供されています。

このオプションをイネーブルにすると、Vivado ハードウェア マネージャーによって認識されるデバッグ コアが IP コアに挿入され、PCIe 固有のデバッグ情報とビューが提供されます。

デバッグ ビューには、現在のリンク速度、現在のリンク幅、および LTSSM ステート遷移に関する情報が表示されます。これにより、PCIe リンクに関する問題のデバッグが容易になります。

これは、Versal デバイスに追加された新機能です。UltraScale デバイスと UltraScale + デバイスでも同様の機能を使用できますが、これらの機能を使用するには追加の手順を実行する必要があります。これらの機能については、以前のブログ エントリを参照してください。

Vivado には、Versal デバイス用のビルトイン デバッグ コックピットがあり、Vivado GUI フレームワーク内で LTSSM 図およびその他のデバッグ関連情報が表示されます。

このブログは、『Versal ACAP Integrated Block for PCI Express 製品ガイド』 (PG343) に記載されている付録「PCIe Link Debug Enablement」を補うものです。このブログでは、この内容をわかりやすくするために、それぞれの手順にスクリーン ショットを含めて紹介します。

 

デザインの生成

 

VCK190 ボードを選択します。このブログで説明するデザインは、Vivado 2020.2 用です。

Vivado で選択したボード デバイスとボード上のデバイスが一致していることを確認してください。早期バージョンの VCK190 ボードには ES1 デバイスが含まれています。 

kurihara_66-1616463746504.png

IP カタログで [Versal ACAP Integrated Block for PCI Express (1.0)] を選択します。ビルトイン デバッグ機能を使用するには、次に示すように、[PCIe-Link Debug] および [Enable Debug AXI4 Stream Interfaces] を選択する必要があります。

[Link Parameters] には、次に示すように Gen3x8 を選択できます。リンク トレーニングに問題がある場合は、まず Gen1x1 設定を試してください。

kurihara_67-1616463786795.png

IP が生成されたら、[Sources] ウィンドウに次が表示されます。

kurihara_68-1616463816735.png

CIPS MIO 38 をリセット ソースとして使用するには、次の (PG343) のスクリーン キャプチャで説明されているように、サンプル デザインを開く前に insert_cips true に設定します。

これにより、MIO ピンから Versal ACAP Integrated Block for PCIe Express IP (PL PCIe) にリセットが転送されます。

mio_pl_38 ピンが pcie_phy および PL PCIe に接続されていることを確認します。これらの接続は、次の回路図でオレンジ色で示されています。

kurihara_69-1616463839768.png

kurihara_71-1616463894127.png

kurihara_72-1616463914610.png

上記のスクリーン キャプチャでは、IP と共に配布されるサンプル デザインを生成するオプションを示しています。
[Open IP Example Design]
をクリックすると、新しいプロジェクトが開き、[Sources] ウィンドウにファイル階層が表示されます。

kurihara_73-1616463959935.png

 

kurihara_74-1616463973651.png

 

kurihara_75-1616463989017.png

 

kurihara_76-1616464005251.png

 

REFCLK および GT LOC 制約が表示されていることを確認します。VCK190 ボードには、これらの制約が必要です。これらの制約は、VCK190 ボードを選択すると自動的に生成されます。

kurihara_77-1616464042556.png

 

ES1 デバイスを含む VCK190 ボードを使用している場合は、回避策を適用する必要があります。

次に示すように、PMC MIO 37 に該当するパラーメーターを設定します。

kurihara_78-1616464075299.png

 

上記の変更後に IP をアップデートする必要があります。 

kurihara_79-1616464105147.png

 

サンプル デザインをインプリメントした後、I/O ポートとクロックが次に示すピン ロケーションとクワッドにマップされていることを確認します。

VCK190 ボードには、次のピン ロケーションが必要です。 

kurihara_80-1616464131965.png

 

 

PCIe デバッガー

 

デバイス イメージの生成後、生成された PDI ファイルおよび LTX ファイルをダウンロードします。ダウンロード後には、次に示すような LTSSM 図が表示されます。

これが Versal デバイスに追加された新デバッグ機能です。この機能は UltraScale UltraScale+ など以前のデバイスではサポートされていません。UltraScale デバイスと UltraScale+ デバイスでは、同様のデバッグ機能を使用できますが、LTSSM 図を生成するための Tcl ファイルを個別に実行する必要があります。 

kurihara_81-1616464166685.png

•緑色 - キャプチャ ウィンドウ中の遷移ステート
•オレンジ色 – 最終ステート
•赤矢印– 最後の遷移ステート
•矢印の横の数字は 2 つのステート間で発生した遷移数を示します。

デバッグ コックピットには、ほかにもデバッグ機能があります。[PCIe Debug Core Properties] ウィンドウでは、レーン ステータスおよび PCIe Lane 0 を持つクアッド番号を確認できます。

kurihara_82-1616464201193.png

同様に、GT ステータスも [GT Group Status] ウィンドウで確認できます。 

kurihara_83-1616464227322.png

 

kurihara_85-1616464254977.png

 

Tcl コンソールでは、次に示すように report_hw_pcie コマンドを実行できます。

レポートには、一般的な PCIe ステータスが含まれることに加え、ltssm ステートのリストとこれらのステートがリンク トレーニング プロセス中にアクセスされたかどうかが表示されます。

kurihara_86-1616464276103.png

report_hw_pcie コマンドには適用できるオプションがいくつかあります。次に示すように、-help オプションを実行するとオプションの詳細を確認できます。

kurihara_87-1616464305004.png

 

その他の PCIe のコマンドは、次の通りです。

  • get_hw_pcies
  • reset_hw_pcie
  • refresh_hw_pcie

[PCIe Debugger] ウィンドウで LTSSM ステートを選択すると、対応する ltssm ビット デコードが [PCIe State Properties] ウィンドウに表示されます。

kurihara_88-1616464335811.png

ltssm ビット デコードのリストは、製品ガイドに記載されています。または、次に示すように report_hw_pcie コマンドを実行しても、リストを表示できます。

kurihara_89-1616464362814.png

 

In-System IBERT

 

デバッグ コックピットでは、アイ ダイアグラムを簡単に生成できます。まず、[Create links] をクリックします。後続のステップは、次に示すように、見ればわかるようなステップになっています。

kurihara_90-1616464403527.png

 

kurihara_91-1616464418088.png

 

kurihara_92-1616464433337.png

 

kurihara_94-1616464460271.png

 

kurihara_95-1616464480102.png

 

kurihara_96-1616464493796.png

 

kurihara_97-1616464506337.png