ブログ | Granite River Labs

PCIe®の電気、リンク、プロトコルの設計とテストを理解する

作成者: GRL Team|Sep 27, 2024 5:02:13 AM

PCI-SIG®が開発したPCI Express® (PCIe®)は高速シリアルコンピュータ拡張バス規格であり、 データセンター、AI/機械学習、HPC、自動車、IoT、軍事/航空宇宙などの大量のデータの管理が必要な産業で使われています。2019年と2022年にPCIe 5.06.0がリリースされてから、PCIeは多くのマザーボードやSSDなどで使われるようになりました。ですが、すべてのPCIe設計が一緒というわけではありません。そのため今回は設計やテストプロセスを効率化するための方法や注意点などに焦点を当てます。

PCIe規格の概要

PCIe 1.0は2003年に初めて2.5 GT/sの速度で公表されました。その一方、PCIe 7.0は2025年にリリースされる予定であり、128 GT/sもの速度を実現すると言われています。これはデータ転送レートの限界を超えるPCI-SIGの成長が読み取れます。PCIe 2.0と3.0の間の8b/10bから128/132エンコーディングへの移行やPCIe 6.0でのPAM4(Pulse Amplitude Modulation 4)の採用などの技術革新により、PCI-SIGは各世代のリリースごとにデータレートを倍増させることができました。

図1:PCIeテクノロジーの進化

PCIeの最後の3つの反復(4.0、5.0、6.0)

PCIeの最後の3つの違いを比べると、PCIe 4.0と5.0でナイキスト周波数が倍になりました。一方、PCIe 6.0はそのまま変わりませんでした。しかし、異なる変調方式を採用したことで、PCIe 6.0でのデータレートが2倍になりました。挿入損失チャネルもPCIe 4.0から5.0の間に増加したが、PCIe 6.0では減少しました。

CTLEとDFEもより高い挿入損失やノイズレベルに対応するための全ての反復の増加を見ました。さらに、最小スコープ帯域幅要件も増加しています。PCIe 4.0でのレシーバーアイの較正とテストには最低25GHzのスコープ帯域幅しか必要ありません。PCIe 5.0でのトランスミッタとレシーバのテストはこの閾値は33GHzに引き上げられましたが、同じ規格でのレシーバのキャリブレーションとリンクEQのセットアップには50GHzが必要です。PCIe 6.0では、キャリブレーションとテストの両方で50GHzが必須となります。

UPCIeの3層を理解する

図2: PCIeの層

最初にPCIeのコアハードウェアの3層の役割を理解しましょう:

  • トランザクション層 (TL): 一番上の層であるTLはフローコントロール・メカニズムを導入し、データパケット転送をリンクを通して管理することによって、データ送受信を行っています。 
  • データリンク層(DLL): 真ん中にあるDLLはTLと物理層をつなぐ役割があります。DLLはデータフレーム。エラー検知とフローコントロールを管理し、エンドポイントへのコミュニケーションも行っています。
  • 物理層(PHY): この最下層はデータ交換を促進する差動ペアやクロック分配メカニズムなどを行っています。信号の送受信を含め、PCIe リンクの電気的特性も管理します。

3つの層の上にはドライバーと設定作業を行っているソフトウェアとオペレーティングシステム層があります。ソフトウェアとオペレーティングシステム層はPCIe機器の全体的な機能性を維持する役割があるが、PCIeハードウェア層とは別です。PCIeプロトコルそのものではなく、ソフトウェア・アーキテクチャとデバイス管理とされています。

PCIe物理層

図3: PCIe物理層

PHY層では1つのPCIeリンクは2つのポイント・ツー・ポイント接続の間の2つのユニークな接続差動ペアで構成され、組み込みクロックによる同期に対応しています。このアーキテクチャはSRISとSRNSクロッキング・スキームのサポートにより、堅牢な通信を容易にします。さらに、PCIeではx1、x2、x4、x8、x12、x16、x32を含むさまざまなレーン幅が可能であるため、さまざまな相互接続要件に対応できます。

図4: PCIe 4.0、5.0、6.0のパラメーター

PCIe Base vs CEM仕様

PCIeの二つの重要な仕様はBASEとCEMです。この二つの仕様のテストポイント、試験方法と形式度が大きく異なります。

  • Base仕様: チップレベルでの電気的適合性を定義するもので、アーキテクチャ、プロトコル、リンク層、物理層とソフトウェア・インターフェースなどの技術的な詳細情報が含まれている。公式なコンプライアンス・プログラムやテスト・フィクスチャはないです。
  • CEM (電気機械式カード)仕様: 完成品の機械的要件と電気的コンプライアンスを定義するものです。例えば、コンポーネント(エンドポイント、ブリッジ/スイッチ、ルートコンプレックス)、アドインカードまたはシステム(別名「ホスト」)。公式なテスト・フィクスチャとテストツールはPCI-SIGから提供されます。テストとコンプライアンスはコンプライアンス・テスト仕様書(CTS)によって規定されています。

BaseまたはCEM仕様に従うかは商品と顧客基盤によって変わります。チップ製造者は多くの場合Base仕様に従い、シリコンレベル試験とバリデーションに重点をおいています。最終製品メーカーは CEM 仕様に従い、PCIe コネクタ規格への準拠を保証します。また、Base 仕様と CEM 仕様以外のフォームファクターについてはサブ仕様があります。

PCIeコンプライアンス・プログラム

PCIeコンプライアンス・プログラムはPCIe製品の認定に導き、PCI-SIG規格が満たします。商品が認証されるためにPCI-SIGワークショップまたは承認されているテストラボで試験を行う必要があります。すべてのゴールド・スイート・テストに合格し、相互運用性テストで80%の合格率を達成すると、PCI-SIGインテグレーター・リストに追加されます。

現在、このコンプライアンス・プログラムはPCIe 4.0と5.0の商品にだけ対応しており、公式インテグレーター・リスト認証試験ではCEMフォームファクターだけしか受け付けていません。他ののフォームファクターをテストしたい場合は、テスト中にCEMに変換するために適切なアダプターを持参する必要があります。

様々な製品タイプに必要なテストは以下の通り:

図5: 製品タイプ別に必要な試験

PCIe CEM仕様のトランスミッター・テストの概要

PCIeトランスミッターテストはさまざまなデータレートにおけるシグナル・インテグリティと品質の検証に重点を置いています。

PCIeトランスミッター・テストはさまざまなデータレートにおけるシグナル・インテグリティと品質の検証に重点を置いています。テストするレーンはシステムの構成によって異なります。8、16、32GT/s のすべてのトランスミッター・プリセットはPCIe リンクの通信と構成に使用されるプライマリー・レーンであるレーン 0 でテストされなければならないです。信号品質とジッターのテストはレーン0と1つの認定プリセットを使用します。隣接のレーン(N-1)が存在する場合もそのレーンで実施されます。x4を超える構成ではレーン0、N-1、N/2-1がテストされる必要があります。クオリファイング・プリセットにより、テスト中のトランスミッターはすべてのレーンに対して一貫して設定され、レーン間の信号品質の正確な比較と評価が可能になります。

例えば、

  • x1コンフィギュレーションの場合、テストはレーン0で行われます
  • x2コンフィギュレーションの場合、テストはレーン0と1で実施されます
  • x4構成の場合、テストはレーン0と3で実施されます
  • x16 構成の場合、テストはレーン 0、15、7 で実施されます

RefCLKは32GT/sのシステムでのみ個別にテストされます。それ以下のデータレートではRefCLK はトランスミッターの信号品質をテストしながら、テストされます。そのため、16GT/s以下の速度では包括的なテストを行うために2ボルトテスト構成としても知られる4チャンネルのオシロスコープが必要となります。

PLL ピーキングと帯域幅はパルス幅ジッター(PWJ)および/または P7 コンプライアンスパターンを使用して、レーン 0 でのみテストされます。

図 6: PCIe CEM トランスミッタ・テストに必要な PCI-SIG 公式テスト・フィクスチャ

PCIe CEMフィクスチャの特性評価とPCIe 5.0 CEM仕様トランスミッタ・テストに関するウェビナー全編をご覧ください。

PCIe CEM仕様のレシーバー・リンク・イコライゼーションテストの概要

レシーバーのリンク等化(Link EQ)テストの目的はテスト対象のレシーバーがビットのエラーがない状態で 1E-12 のビット・エラー・レート(BER)を達成できることを保証することです。PCIe レシーバのリンク EQ テスト手順は以下の通りです:

  • 手順 1: 必要なデータレートに対してストレスアイの較正を行う(図 7)
    • VNAによるチャネル損失
    • BERTおよびRTOによるアイ振幅、プリセット、SJおよびRJ
    • BERTおよびRTOによるDM-Iおよびアイ・ハイト/アイ・ワイド
  • 手順2: リンク・トレーニング
    • 回復状態を介してBERTによりDUTをループバックモードにする
    • トラブルシューティング
  • ステップ3:信頼度95%を達成するためにBERを測定します
    • ストレスEYEによるBER <1E-12のチェック(必須)
    • ジッター耐性テスト(オプション)

図7:PCIeレシーバー・リンク等化テストにおける較正中のPCIe 4.0およびPCIe 5.0の最小アイ高さおよび
最大アイ幅要件

ウェビナーでテストセットアップをご覧ください。

PCIeリンクとトランザアクション層のテスト

物理層を超えて、PCIe のテストはリンク層とトランザアクション層にまで拡張され、エラー処理とプロトコルのコンプライアンスに対応します。リンク層とトランザアクション層のテストの主な目的は、論理物理層から上の各層におけるエラー処理を検証することです。これらのテストは、機能の実装を検証し、その適切な機能を保証することを目的としています。

リンク層とトランザアクション層のテストは以下の通り:

  • リンク層テスト
  • トランザアクション層テスト
  • ロジカルPHY層テスト(等化プロトコル)
  • ロジカルPHY層テスト(トレーニングシーケンスのビット)
  • レーンマージン試験 - 機能試験

電気PHY 層が適切な信号の送受信を保証するためにデバイスのアナログ特性を測定するのに対して、論理的PHY層は電気信号を調整するために物理層で使用されるプロトコルを指し、プロトコルメカニズムがあります。上述の論理 PHY 層のテストは電気テスト機器の代わりにプロトコルのテスト機器を用いて実施されます。

PCIeリンク層テスト

PCIe のリンク層テストはPCIe リンクの適切なデータ伝送とリカバリーを保証するためのさまざまなメカニズムに重点を置いています。これらのテストはリンクが指定されたパラメータ内でデータレート、エラー検出、エラー訂正メカニズムなどの動作を行うことを保証します。

リンクレイヤーで一般的にテストされるメカニズムには以下のようなものがあります:

  • リプレイ・タイマー/リプレイ・ナンバー/NAKリプレイ
  • 不良データリンク層パケット(DLLP)
  • リプレイカウンター
  • 不良リンク巡回冗長符号(LCRC)

以下の表では、リンク・レイヤのテスト例を詳しく説明しています。これらのテストは、プロトコル・テスト・カード(PTC)またはエクセサイザー・カードで実行されます。

Figure 8: Examples of PCIe link layer tests

PCIeトランザアクション層テスト

トランザアクション層テストはトランザアクション層パケット(TLP)の伝送におけるエラーの確認を行います。これらのテストは、TLP内の不正確な情報、リクエストの完了の確認などのシナリオをカバーします。毒入りTLP、誤ったTLPシーケンス番号、無効化TLPを検出するためのテストはPCIeコンプライアンステストに必須です。一方、不良エンドポイント巡回冗長検査(ECRC)の検出は必要ではありません。

図9:PCIeトランザクション層のテスト例

PCIe等化テスト(3.0以上)

PCIeリンク内のすべての接続デバイスがPCIe 3.0以上のデータレートをサポートできるようになると、 接続を最適化し、より高いデータレートで最も安定したPCIeリンクを確立するためにリンクのイコライゼーション が行われます。そのため、PCIe 3.0 以降ではデバイスが対応するすべてのデータ速度の均等化テストを実施する必要があります。

  1. プリセットを調整し、トレーニングシーケンス内のレスポンスが正しいことを確認
  2. デバイスのフルスイング(FS)と低周波(LF)情報に基づき、55通りの係数の組み合わせを実行

第2段階は悪い係数のセットが拒否され、良い係数のセットが反映されることを保証するものです。デバイスが対応できる各データレートで行われる必要があります。

図10:PCIeイコライゼーションテストの例

PCIe 5.0と6.0のイコライゼーションテストの違いに関する詳細についてはウェビナー全文をご覧ください。

PCIeレーンマージニングテスト(4.0以上)

レーンマージンはPCIe 4.0でインテグレーターリストへ掲載されないオプショナルテストとして導入されたソフトウェアメカニズムです。しかし、PCIe 5.0以降は必須となっています。

レーンマージンは適切な実装を保証するためにレシーバー内での様々なサンプリングポイントで様々なステップを実施する必要があります。ホストがエンドポイントにマージン情報を要求する場合、返された数値とマージンとの関係を調べることによって検証が行われます。

レーンマージニングテストは電気(PHY)テスト仕様書に定義されているが、アドインカードのリンクテストとトランザクショ ンテストと共に3つの異なる方法で実行されます:

  • アドインカード - デバイスドライバ不要
  • アドインカード - デバイスドライバが必要
  • システムレーンマージニングテスト

システムレーン・マージニング・テストではエンドポイントの電気特性が変更され、システムから報告されるマージンが測定されます。システム内にリタイマーまたはスイッチが存在する場合、テストではスロットまたはスイッチの下流ポートに接続された下流向きのリタイマー・ポートを測定する必要があります。

GRLでPCIeデザインをテストしましょう

PCI-SIG®によって承認された最初のPCIeのテストラボは1.0から6.0までのPCIe仕様への準拠をサポートします。詳細については、当社の専門家にご相談ください。どのテストソリューションを使用すべきかまだご不明な場合は、ぜひPCIeテストについてウェビナーをご覧ください。