Technical Blog | Granite River Labs | United States

Lernen Sie über die PCIe® Electrical, Link und Protocol Design und Test

Geschrieben von GRL Team | 30.09.2024 07:24:00

PCI Express® (PCIe®) ist ein von der PCI-SIG® entwickelter Standard für serielle Hochgeschwindigkeits-Computererweiterungsbusse, der in datenintensiven Anwendungen wie Rechenzentren, KI/Maschinelles Lernen, HPC, Automotive, IoT und Militär/Luft- und Raumfahrt eingesetzt wird. Seit der Veröffentlichung von PCIe 5.0 und 6.0 im Jahr 2019 bzw. 2022 ist PCIe bei modernen Motherboards und SSDs noch weiter verbreitet. Allerdings sind nicht alle PCIe-Designs gleich - deshalb werden wir die wichtigsten Überlegungen und Methoden beleuchten, die Ihnen helfen, Ihre Design- und Testprozesse zu optimieren.

Ein kurzer Überblick über die PCIe-Standards

PCIe 1.0 wurde erstmals 2003 mit 2,5 GT/s eingeführt. Im Gegensatz dazu weist PCIe 7.0, das voraussichtlich 2025 auf den Markt kommen wird, eine beeindruckende Geschwindigkeit von 128 GT/s auf, was den schnellen Fortschritt zeigt, bei dem PSI-SIG die Grenzen der Datentransferraten überschritten hat. Innovationen wie der Übergang von 8b/10b zu 128/132 Kodierung zwischen PCIe 2.0 und 3.0 sowie die Einführung von PAM4 (Pulse Amplitude Modulation 4) in PCIe 6.0 haben es der PCI-SIG ermöglicht, die Datenraten mit jeder neuen Generation zu verdoppeln und zwar jedes Mal in einem Abstand von durchschnittlich drei Jahren.

Abbildung 1: Die Entwicklung der PCIe-Technologie

Die letzten drei Iterationen von PCIe (4.0, 5.0 und 6.0)

Vergleicht man die wichtigsten Unterschiede zwischen den letzten drei PCIe-Iterationen, so stellt man fest, dass sich die Nyquist-Frequenz zwischen PCIe 4.0 und 5.0 verdoppelt hat, während sie bei PCIe 6.0 unverändert bleibt. Durch die Einführung eines anderen Modulationsschemas konnte PCIe 6.0 trotzdem eine doppelte Datenrate ermöglichen. Der Einfügungsdämpfungskanal stieg ebenfalls zwischen PCIe 4.0 und 5.0 an, während er bei PCIe 6.0 abnahm, was als vorteilhafter Kompromiss für eine verdoppelte Datenrate angesehen wurde.

Auch die Referenz-CTLE und -DFE wurden in allen Iterationen erhöht, um höhere Einfügungsdämpfungen oder Rauschpegel zu ermöglichen. Darüber hinaus haben sich auch die Anforderungen der Mindestbandbreite des Oszilloskops erhöht. Für die Kalibrierung des Empfängerauges und das Testen in PCIe 4.0 ist nur eine Mindestbandbreite von 25 GHz erforderlich. Bei PCIe 5.0 steigt dieser Schwellenwert auf 33 GHz für Sender- und Empfängertests, obwohl für die Empfängerkalibrierung und das Link-EQ-Setup für denselben Standard 50 GHz erforderlich sind. Für PCIe 6.0 werden 50 GHz sowohl für die Kalibrierung als auch für die Prüfung vorgeschrieben.

Die 3 verschiedene PCIe-Schichten verstehen

Abbildung 2: PCie-Schichten

Zuerst wollen wir die Rolle der verschiedenen 3 Kern-Hardware-Schichten verstehen:

  • Transaktionsschicht (TL): Die TL befindet sich am oberen Ende des Stapels und steuert die Übertragung und den Empfang von Daten, indem sie Mechanismen zur Steuerung des Transaktionsflusses implementiert und die Übertragung von Datenpaketen über die Verbindung verwaltet.
  • Datenverbindungsschicht (DLL): In der Mitte befindet sich die DLL, die als Vermittler zwischen der oberen TL und der unteren physikalischen Schicht (PHY) dient. Die DLL verwaltet Datenrahmen, Fehlererkennung und Flusskontrolle und erleichtert die Kommunikation zwischen den Endpunkten.
  • Physikalische Schicht (PHY): Diese untere Schicht besteht aus Elementen wie Differenzialpaaren und Taktverteilungsmechanismen, die den Datenaustausch erleichtern. Sie regelt die elektrischen Eigenschaften der PCIe-Verbindung, einschließlich Signalübertragung und -empfang.

Oberhalb der drei Kernschichten TL, DLL und PHY befinden sich Software- und Betriebssystemschichten, die für Treiber und Konfigurationsaufgaben zuständig sind. Obwohl die Software- und Betriebssystemschichten auch für die Gesamtfunktionalität von PCIe-Geräten verantwortlich sind, werden sie als von den PCIe-Hardwareschichten getrennt betrachtet und in der Regel im Zusammenhang mit der Architektur des Softwares und dem Gerätemanagement und nicht mit dem PCIe-Protokoll selbst diskutiert.

Physikalische Schicht der PCIe

Abbildung 3: Physikalische Schicht der PCIe

In der PHY-Schicht besteht ein einzelner PCIe-Link aus zwei eindeutigen Verbindungsdifferenzpaaren zwischen zwei Punkt-zu-Punkt-Verbindungen, die die Synchronisierung durch eingebettete Taktgeber unterstützen. Diese Architektur ermöglicht eine robuste Kommunikation mit Unterstützung für SRIS- und SRNS-Taktungsschemata. Darüber hinaus ermöglicht PCIe verschiedene Lane-Breiten, darunter x1, x2, x4, x8, x12, x16 und x32, und wird so den unterschiedlichen Verbindungsanforderungen gerecht.

Abbildung 4: Parameters für PCIe 4.0, 5.0, 6.0

PCIe Base- vs CEM-Spezifikationen

Die zwei Hauptspezifikationen der PCIe sind Base und CEM. Beide Spezifikationen sind ganz anders bei der Definition der Prüfpunkte, Methodik und Grad der Formalität.

  • Base-Spezifikation: Definiert die elektrische Konformität auf Chipebene und enthält technische Details der Architektur, des Protokolls, der Verbindungsschicht, der physikalischen Schicht und der Software-Schnittstelle. Es gibt keine offiziellen Konformitätsprogramme oder Testvorrichtungen für die Spezifikation.
  • CEM-Spezifikation (Card Electromechanical): Definiert mechanische Anforderungen und elektrische Konformität für das fertige Produkt, d.h. Komponente (Endpunkt, Bridge/Switch, Root Complex), Add-in Card oder System (auch „Host“ genannt). Prüfvorrichtungen und Prüfwerkzeuge sind genau definiert und werden von PCI-SIG bereitgestellt. Tests und Konformität werden durch die Konformitätstestspezifikation (CTS) geregelt.

Ob Sie die Base- oder CEM-Spezifikationen folgen sollen hängt von Ihren Produkt und Ihrer Konsumentenbasis an. Chip-Hersteller halten sich in erster Linie an die Base-Spezifikation und konzentrieren sich auf die Prüfung und Validierung auf Silizium-Ebene. Hersteller von Endprodukten halten sich an die CEM-Spezifikation, um die Einhaltung der PCIe-Steckverbinderstandards zu gewährleisten. Es gibt auch Unterspezifikationen für Formfaktoren, die über die Basis- und CEM-Spezifikationen hinausgehen und auf die wir in diesem Artikel nicht eingehen werden.

PCIe-Konformitätsprogramm

Das PCIe Compliance Program stellt die Zertifizierung von PCIe-Produkten zur Verfügung und stellt sicher, dass die strengen PCI-SIG-Standards erfüllt werden. Die Produkte müssen entweder in PCI-SIG-Workshops oder in autorisierten Testlabors getestet werden, um zertifiziert zu werden. Sie werden in der PCI-SIG-Integratorenliste aufgelistet, wenn sie alle Gold-Suite-Tests erfolgreich bestanden haben und bei den Interoperabilitätstests eine Erfolgsquote von 80 % erreichen.

Derzeit erstreckt sich das Konformitätsprogramm nur auf Produkte der PCIe 4.0 und 5.0. Nur CEM-Formfaktoren werden für die offiziellen Zertifizierungstests der Integrators List unterstützt. Wenn Sie andere Formfaktoren testen möchten, müssen Sie die richtigen Adapter mitbringen, um sie während der Tests in CEM zu konvertieren.

Die folgenden Produkttypen brauchen einen Test:

Abbildung 5: Erforderliche Tests für verschiedene Produkttypen

Überblick der Transmitter-Tests für die PCIe CEM-Spezifikation

Die Prüfung von PCIe-Sendern legt das Licht auf die Validierung der Signalintegrität und -qualität bei verschiedenen Datenraten.

Welche Lanes zu testen sind, hängt von der Konfiguration des Systems ab. Alle Transmitter-Presets für 8, 16 und 32 GT/s müssen auf Lane 0 getestet werden - der primären Lane, die für die Kommunikation und Konfiguration in einer PCIe-Verbindung verwendet wird. Signalqualitäts- und Jitter-Tests werden auch auf Lane 0 sowie auf der benachbarten Lane (N-1) durchgeführt, falls vorhanden, indem eine qualifizierende Voreinstellung verwendet wird. Bei Konfigurationen von mehr als x4 müssen die Lanes 0, N-1 und N/2-1 getestet werden. Die qualifizierende Voreinstellung stellt sicher, dass der Sender während der Prüfung für alle beteiligten Fahrspuren einheitlich konfiguriert sind, was einen genauen Vergleich und eine Bewertung der Signalqualität über alle Fahrspuren hinweg ermöglicht.

Zum Beispiel

  • Bei einer x1-Konfiguration werden die Tests auf Bahn 0 durchgeführt.
  • Bei einer x2-Konfiguration werden die Tests auf den Bahnen 0 und 1 durchgeführt.
  • Bei einer x4-Konfiguration werden die Tests auf den Bahnen 0 und 3 durchgeführt.
  • Bei einer x16-Konfiguration werden die Tests auf den Bahnen 0, 15 und 7 durchgeführt.

Der RefCLK wird nur bei 32 GT/s-Systemen einzeln geprüft. Bei allen niedrigeren Datenraten wird der RefCLK indirekt bei der Prüfung der Sendersignalqualität getestet. Aus diesem Grund ist für Geschwindigkeiten von 16 GT/s oder weniger ein Vierkanal-Oszilloskop, auch bekannt als Zwei-Volt-Testkonfiguration, für eine umfassende Prüfung erforderlich.

PLL-Spitzenwert und -Bandbreite werden nur auf Bahn 0 unter Verwendung von Pulsbreiten-Jitter (PWJ) und/oder P7-Konformitätsmustern getestet.

Abbildung 6: Offizielle PCI-SIG-Testvorrichtungen, die für PCIe-CEM-Sendertests erforderlich sind

Schauen Sie sich das vollständige Webinar an, um mehr über die Charakterisierung von PCIe-CEM-Fixtures und das Testen von Transmittern nach der PCIe-5.0-CEM-Spezifikation zu erfahren.

Ein Überblick der Empfänger-Link-Entzerrungstest für PCIe CEM

Das Ziel des Link EQ-Tests ist es, sicherzustellen, dass der zu testende Empfänger eine Bitfehlerrate (BER) von 1E-12 mit null Bitfehlern erreichen kann. Das Link-EQ-Testverfahren für PCIe-Empfänger läuft wie folgt ab:

  • Schritt 1: Kalibrierung des Stressauges für die erforderliche Datenrate (Abbildung 7)
    • Kanalverlust durch VNA
    • Augenampalitude, Voreinstellung, SJ und RJ mit BERT und RTO
    • DM-I und Augenhöhe/Augenbreite mit BERT und RTO
  • Schritt 2: Link-Training
    • DUT mit BERT durch Recovery State in den Loop-Back-Mode bringen
    • Fehlersuche
  • Schritt 3: Messung der BER wird durchgeführt, um ein Vertrauensniveau von 95 % zu erreichen
    • BER <1E-12 mit gestresster EYE prüfen (obligatorisch)
    • Prüfung der Jitter-Toleranz (optional)

Abbildung 7: Minimale und maximale Anforderungen an Augenhöhe und Augenbreite für PCIe 4.0 und PCIe 5.0 während der Kalibrierung im PCIe Receiver Link Equalization Test

Schauen Sie sich das vollständige Webinar an, um den Test in Aktion zu sehen

PCIe Link- und Transaktionsschichttests

Neben der physikalischen Schicht, erweitern sich die PCIe-Tests auch auf die Link- und Transaktionsschicht, die sich mit der Fehlerbehandlung und der Einhaltung der Protokollen befassen. Das Hauptziel der Link- und Transaktionsschichttests ist die Überprüfung der Fehlerbehandlung auf jeder Schicht, beginnend mit der logischen physikalischen Schicht aufwärts. Diese Tests zielen auf die Validierung der Implementierung von Fähigkeiten ab und deren Funktion sicherzustellen.

Link- und Transaktionsschichttests beinhalten:

  • Tests der Linkschicht
  • Tests der Transaktionsschicht
  • Tests der logischen PHY-Schicht (Entzerrungsprotokoll)
  • Tests der logischen PHY-Schicht (reservierte Bits in der Trainingssequenz)
  • Lane-Margining-Test - Funktionstest

Während die elektrische PHY-Schicht die analogen Eigenschaften des Geräts misst, um eine die richtige Signalübertragung und  Signalempfang sicherzustellen, bezieht sich die logische PHY-Schicht auf das Protokoll, das in der physikalischen Schicht verwendet wird, um die elektrischen Signale anzupassen, was eigentlich ein Protokollmechanismus ist. Daher werden die oben erwähnten Prüfungen der logischen PHY-Schicht mit Protokollprüfgeräten und nicht mit elektrischen Prüfgeräten durchgeführt.

PCIe Test der Linkschicht

Tests der Linkschicht bei PCIe konzentrieren sich auf die Bewertung verschiedener Mechanismen, um eine ordnungsgemäße Datenübertragung und -wiederherstellung über den PCIe-Link sicherzustellen. Diese Tests stellen sicher, dass die Verbindung innerhalb der spezifizierten Parameter arbeitet, einschließlich Datenraten, Fehlererkennung und Fehlerkorrekturmechanismen.

Die Mechanismen, die generell bei der Linkschicht getestet werden, sind:

  • Wiederholungstimer / Wiederholungsnummer / Wiederholung bei NAK
  • Schlechte Pakete der Datenübertragungsschicht (DLLP)
  • Wiederholungszähler
  • Schlechter Link Cyclic Redundancy Code (LCRC)

In der folgenden Tabelle finden Sie weitere Beispiele für Tests auf der Linkschicht. Diese Tests werden mit einer Protokolltestkarte (PTC) oder einer Exerciser-Karte durchgeführt.

Abbildung 8: Beispiele für PCIe-Link-Layer-Tests

PCIe Tests der Transaktionsschicht

Bei den Tests der Transaktionsschicht wird geprüft, ob bei der Übertragung der Transaktionsschichtpakete (TLP) Fehler auftreten. Diese Tests decken Szenarien wie fehlerhafte Informationen innerhalb des TLP ab und gewährleisten den Abschluss der Anfrage. Tests zur Erkennung von vergifteten TLP, falschen TLP-Sequenznummern und ungültigen TLP sind für PCIe-Konformitätstests verpflichetend, während die Erkennung von schlechten EndPoint Cyclic Redundancy Check (ECRC) optional ist.

Abbildung 9: Beispiele für PCIe-Transaktionsschichttests


PCIe-Ausgleichstests (3.0 oder höher)

Wenn alle angeschlossenen Geräte in einem PCIe-Link Datenraten von PCIe 3.0 oder höher unterstützen können, findet ein Link-Equalization statt, um die Verbindung zu optimieren und den stabilsten PCIe-Link mit einer höheren Datenrate herzustellen. Daher müssen Equalization-Tests ab PCIe 3.0 für alle Datengeschwindigkeiten durchgeführt werden, die das Gerät unterstützt.

  1. Anpassung der Voreinstellungen, um sicherzustellen, dass die Reaktionen innerhalb der Trainingssequenzen korrekt sind
  2. Ausführen von 55 verschiedenen Koeffizientenkombinationen auf Grundlage der Vollschwingungs- (FS) und Niederfrequenz- (LF) Informationen des Geräts

Der zweite Schritt stellt sicher, dass schlechte Koeffizientensätze zurückgewiesen und gute Koeffizientensätze reflektiert werden, und sollte für jede vom Gerät unterstützte Datenrate durchgeführt werden.

Abbildung 10: Beispiele für PCIe-Entzerrungstests

Schauen Sie sich das vollständige Webinar an, um mehr über die Unterschiede zwischen PCIe 5.0- und 6.0-Entzerrungstests zu erfahren.

PCIe Lane-Margining-Test (4.0 oder höher)

Lane Margining ist ein Software-Mechanismus, der mit PCIe 4.0 als optionaler Test veröffentlicht wurde, der die Aufnahme in die Integrators List nicht beeinflusst. Ab PCIe 5.0 ist er jedoch verpflichtend geworden.

Das Lane-Margining erfordert verschiedene Schritte, die an verschiedenen Abtastpunkten innerhalb des Empfängers durchgeführt werden müssen, um eine ordnungsgemäße Implementierung zu gewährleisten. Wenn der Host Informationen über den Spielraum vom Endpunkt anfordert, werden die zurückgegebenen Zahlen und ihr Verhältnis zum Spielraum überprüft.

Während der Lane-Margining-Test in der Electrical (PHY) Test Specification definiert ist, wird er mit den Link- und Transaktionstests für Add-in-Karten mit drei verschiedene Wegen durchgeführt:

  • Add-in-Karte - kein Gerätetreiber erforderlich
  • Erweiterungskarte - Gerätetreiber erforderlich
  • Prüfung der Systemspurbegrenzung

Bei der Prüfung des System-Lane-Margining werden die elektrischen Eigenschaften des Endpunkts verändert und die vom System gemeldeten Margen gemessen. Wenn ein Retimer oder Switch im System vorhanden ist, muss der Test den stromabwärts gelegenen Retimer-Port messen, der mit dem stromabwärts gelegenen Port des Slots oder Switches verbunden ist.

Testen Sie Ihren PCIe-Design bei GRL

Als erstes von dem PCI-SIG® anerkannten und autorisierten PCIe-Testlabor unterstützt GRL Sie bei der Einhaltung der PCIe-Spezifikationen von 1.0 bis 6.0. Kontaktieren Sie unseren Experten, um mehr zu erfahren. Sie sind noch unsicher, welche Testlösungen Sie verwenden sollten? Schauen Sie sich unser komplettes Webinar an und erfahren Sie alles, was Sie über PCIe-Tests wissen müssen.