ゼファーネットのロゴ

内蔵の「PCIe リンク デバッグ」機能を使用した PCIe Express リンクの問題の Versal ACAP Integrated Block のデバッグ

日付:

PCIExpress®カスタマイズ用のVersal™ACAP統合ブロックは、PCIe®リンクデバッグを有効にするオプションを提供します。

このオプションを有効にすると、Vivado Hardware Managerによって認識されるIPコア内にデバッグコアが挿入され、PCIe固有のデバッグ情報とビューが提供されます。

デバッグビューは、現在のリンク速度、現在のリンク幅、およびLTSSM状態遷移に関連する情報を提供します。これにより、PCIeリンク関連の問題のデバッグが容易になります。

これは、Versalデバイスに導入された新機能です。 同様の機能は、ユーザーが追加の手順を実行する必要があるUltraScaleおよびUltraScale +デバイスで使用できます。 これらの機能は、以前のブログエントリに記載されています ページ をご覧ください

Versalデバイスの場合、Vivadoにはデバッグコックピットが組み込まれており、LTSSMダイアグラムおよびその他のデバッグ関連情報がVivadoGUIフレームワーク内に表示されます。

このブログは、で提供されている「PCIeリンクデバッグの有効化」付録の補足です。 (PG343)。 ブログでは、わかりやすく概念的に使用するために、それぞれのスクリーンショット付きの詳細な手順を提供しています。

VCK190ボードを選択します。 このブログに示されているデザインは、Vivado2020.2用です。

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

deepeshm_0-1612450822225.png

IPカタログから「VersalACAPIntegrated Block for PCI Express(1.0)」を選択します。 組み込みのデバッグ機能を使用するには、以下に示すように「PCIe-Linkデバッグ」と「デバッグAXI4ストリームインターフェイスを有効にする」を選択する必要があります。

リンクパラメータは、以下に示すようにGen3x8に設定できます。 リンクトレーニングの問題が発生している場合は、最初にGen1x1構成を試してください。

deepeshm_2-1612450891605.png

IPが生成されると、[ソース]ウィンドウに次のように表示されます。 

deepeshm_3-1612450924328.png

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

これにより、リセットがMIOピンからPCIe Express IP(PL PCIe)用のVersalACAP統合ブロックに転送されます。

pcie_phyおよびPLPCIeに接続されたCIPSにmio_pl_38ピンが表示されていることを確認してください。 これは、以下に示す回路図でオレンジ色で強調表示されています。

deepeshm_4-1612450950578.png

deepeshm_0-1612451015453.png 右クリックして[OpenIP Example Design]をクリックし、IPに付属のサンプルデザインを開きます。右クリックして[OpenIP Example Design]をクリックし、IPに付属のサンプルデザインを開きます。

上記のスクリーンキャプチャは、IPに付属するサンプルデザインを生成するオプションを示しています。
[IPサンプルデザインを開く]をクリックします。 これにより、以下に示すように、新しいプロジェクトのソースウィンドウにファイル階層を持つ新しいVivadoプロジェクトが開きます。

deepeshm_3-1612451296446.png

deepeshm_4-1612451311307.png

deepeshm_5-1612451327849.png

deepeshm_6-1612451344591.png

REFCLKとGTLOCの制約が次のようになっていることを確認してください。 これらの制約は、VCK190ボードに必要です。 これらの制約は、VCK190ボードを選択すると自動的に生成されます。

deepeshm_7-1612451367941.png

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

以下に示すように、PMC MIO37に対応するパラメーターを設定します。

deepeshm_8-1612451422257.png

上記の変更後、IPを更新する必要があります。 

deepeshm_9-1612451438164.png

サンプルデザインを実装した後、I / Oポートとクロックが以下に示すピン位置とQUADにマップされていることを確認します。

以下に示すピン位置は、VCK190ボードに必要です。 

deepeshm_10-1612451472614.png

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

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

deepeshm_11-1612451493547.png

•緑色–キャプチャウィンドウ中の遷移状態
•オレンジ色–最後の状態
•赤い矢印–最後の遷移状態
•矢印の横の数字–XNUMXつの状態間で遷移が発生した回数を示します

デバッグコックピットから抽出できる追加のデバッグ機能があります。 PCIe Debug Core Propertiesをチェックすると、レーンステータスとPCIeLane-0を持つクワッド番号が表示されます。

deepeshm_12-1612451524095.png

同様に、GTステータスは、対応するGTプロパティウィンドウから読み取ることができます。 

deepeshm_13-1612451557142.png

deepeshm_14-1612451571383.png

Tclウィンドウで、を実行できます レポート_hw_pcie 以下に示すコマンド。

これにより、一般的なPCIeステータスが出力され、ltssm状態のリストと、リンクトレーニングプロセス中にこれらの状態にアクセスしたかどうかが示されます。

deepeshm_15-1612451610787.png

report_hw_pcieコマンドで適用できるオプションがいくつかあります。 以下に示すように、ヘルプ内で詳細を見つけることができます。

deepeshm_16-1612451637591.png

PCIeで使用可能なその他のコマンドは次のとおりです。

  • get_hw_pcies
  • リセット_hw_pcie
  • リフレッシュ_hw_pcie

PCIeデバッガウィンドウでLTSSM状態を選択すると、対応するltssmビットデコードがPCIe状態プロパティウィンドウに表示されます。

deepeshm_19-1612451706006.png

ltssmビットデコードの完全なリストは、製品ガイドに記載されています。または、以下に示すように、report_hw_pcieコマンドを実行するとリストが表示されます。

deepeshm_20-1612451717396.png

デバッグコックピットでアイダイアグラムを簡単に生成できます。 最初にリンクを作成する必要があります。 すべての手順を以下に示しますが、これは一目瞭然です。

deepeshm_21-1612451742641.png

deepeshm_22-1612451765147.png

deepeshm_23-1612451781464.png

deepeshm_24-1612451805871.png

deepeshm_25-1612451817118.png

deepeshm_26-1612451827742.png

deepeshm_27-1612451838990.png

出典: https://forums.xilinx.com/t5/Design-and-Debug-Techniques-Blog/Debugging-Versal-ACAP-Integrated-Block-for-PCIe-Express-link/ba-p/1203707

スポット画像

最新のインテリジェンス

スポット画像