Die Channel Operating Margin, oder COM, ist nicht gut verstanden. Da sie nicht gut verstanden wird, bezweifeln viele Menschen, dass sie wirklich etwas bedeutet. Wie kann schließlich die Qualität eines Kanals nur durch eine Zahl in Dezibel dargestellt werden? Es stellt sich heraus, dass COM tatsächlich der neueste evolutionäre Schritt in einer langen Reihe von Kanalvalidierungstechniken unter Verwendung von Augendiagrammen ist. Dieser Blog wird die Evolution von COM bis zu seinen Wurzeln zurückverfolgen und der berüchtigten COM-Metrik eine Bedeutung geben.
Beginnen wir mit Augendiagrammen. Augendiagramme sind eine Methode, um einen langen Strom serieller Daten zu betrachten. Bevor Keysight ADS und PyBERT [1] [2] verfügbar waren, wurde ein Augendiagramm mit einem digitalen Sampling-Oszilloskop oder einem Echtzeit-Oszilloskop gemessen. Im Augendiagramm-Fenster sind die Einheiten der y-Achse Spannung und die Einheiten der x-Achse Zeit, die zwei Einheitsintervalle umspannen. Ein Einheitsintervall, oder UI, ist die Zeit, die benötigt wird, damit ein Bit vorbeizieht. Somit kann innerhalb von zwei UI-Zeitintervallen ein Bit-Datum auf dem Bildschirm zentriert werden, mit einem halben Bit Spielraum auf jeder Seite. Anstatt jedoch nur ein Bit zu betrachten, werden alle Bits überlagert, eines nach dem anderen, bis der gesamte Strom serieller Daten auf dem Bildschirm ist. Die Signalqualität wird durch die Größe des Lochs in der Mitte quantifiziert. Wenn das Augendiagramm wirklich gut aussieht, könnte man einen Ingenieur sagen hören: „Da könnte man einen LKW durchfahren!“ Die gängigsten Methoden zur Quantifizierung der Öffnung sind Breite, Höhe oder Fläche. Das Kreuzen des Auges am Gleichstrompunkt ist das Jitter, und das Jitter wird typischerweise statistisch mit einem Histogramm gemessen.
Abbildung 1. Beispiel eines seriellen Bitstroms.
Frühe Kanalspezifikationen und in einigen Fällen auch die Spezifikationen passiver Komponenten verwendeten etwas, das als Augenmaske für die Pass-/Fail-Kriterien bekannt ist. Eine Augenmaske ist normalerweise ein diamantförmiger Bereich, der durch eine Augenbreite und -höhe definiert wird. Ein bestandenes Auge hat nur so viele erkannte Proben oder Treffer innerhalb der Augenmaske. Die Muster aus Einsen und Nullen werden durch den Standard vorgegeben und sind normalerweise eine pseudozufällige Bitsequenz oder PRBS-Muster. Grundsätzlich kann man die Muster in zwei Kategorien einteilen: vor 10 Gb/s und nach 10 Gb/s. Vor 10 Gb/s wurde in den meisten Systemen eine 8b10b-Codierung verwendet und PRBS 7 war das entsprechende Muster. Als 10 Gb/s durch die IEEE in 802.3ba eingeführt wurden, wechselte die Codierung zu einem 64b66b-Scrambler und PRBS 31 übernahm. Selbst heute bei 112 Gb/s ist PRBS 31 oder QPRBS 31 immer noch das Standardmuster, das die meisten verwenden.
Chronologisch nach gemessenen Augendiagrammen ist StatEye die nächste Methode zur Qualifizierung passiver Kanäle und wurde intensiv vom OIF genutzt. Die Idee hinter StatEye wird hier detailliert erklärt: [3] Kurz gesagt, prognostiziert StatEye Augendiagramme anhand der Impulsantwort eines Systems. Eine Impulsantwort ist die Zeitbereichsantwort eines Systems, das mit einem Einheitsintervall-Quadratimpuls angeregt wird, und das System ist ein passiver Kanal einschließlich Equalization. Die in StatEye verfügbaren Equalization-Technologien sind FFE, CTLA und DFE. Die Übertragungsfunktion eines Systems wird aus S-Parametern gesammelt. Da Kanal-S-Parameter simuliert werden können, ist StatEye ein effizienter Weg, viele Kanäle und Equalization-Einstellungen auszuprobieren, um zu sehen, was funktioniert. Dabei ist die Augenmaske das Pass/Fail-Kriterium unter Verwendung der statistisch vorhergesagten Augenöffnung.
Irgendwo zwischen StatEye und COM wurde die Spitzenverzerrungsanalyse (PDA) ziemlich geläufig. Die Methode ist gut dokumentiert von Heck und Hall in Advanced Signal Integrity for High Speed Digital Designs [4]. Zusammengefasst verwendet sie dieselbe Impulsantwort wie StatEye, aber ihr Ergebnis ist einfach die sogenannte schlechteste Augenöffnung. PDA erfindet keine Daten, und das ist der Grund, warum ich es persönlich mag. Ich habe es selbst implementiert und festgestellt, dass PDA die schlechtesten Augenmuster mit hoher Zuversicht vorhersagt. Allerdings berücksichtigen PDA und StatEye nicht die Auswirkungen des Senders und Empfängers im Kanal, und man muss die beste Equalization-Einstellung manuell finden.
Abbildung 2: Beispiel eines Augenmusters in Blau und PDA in gestricheltem Schwarz.
COM wurde als Teil von IEEE 802.3bj, 100GBASE Ethernet, entwickelt und fügte die Unvollkommenheiten des ICs zum simulierten Kanal hinzu. Es ist einfacher zu verwenden und wird weiter verbreitet als StatEye, und ist heute das de facto Werkzeug zur Vorhersage der Kanalqualität. Wie ich bereits erwähnt habe, baut COM auf StatEye auf und fügt mehrere neue Störquellen hinzu. Speziell sind die Störquellen Verluste vom IC, Reflexionen des IC-Pakets, jitter bezogen auf das IC und eine gebündelte Gaußsche Rauschquelle für alles andere, was im IC passiert, wie Nebensprechen. Die Implementierung von COM findet sich in IEEE 802.3 Anhang 93A [5].
Die meisten mathematischen Grundlagen hinter COM werden vom Standardgremium so weit wie möglich vereinfacht. Zum Beispiel wird die S-Parameter-Verkettung auf Algebra reduziert, anstatt von S-Parametern zu ABCD-Parametern oder T-Parametern und Matrixmultiplikation zu konvertieren. Die schwierigste Gleichung ist die Berechnung der Wahrscheinlichkeitsdichtefunktion (PDF) des mit ISI verbundenen Rauschens, aber nach ein paar Versuchen ist es wirklich nicht so schlimm. Es gibt einige Auslassungen, die als implementierungsspezifisch betrachtet werden, wie zum Beispiel, wie man sicherstellt, dass innerhalb jeder UI von Daten 32 Stichprobenpunkte vorhanden sind, aber diese Details können im Open-Source-Code gefunden werden, der frei von der IEEE [5] bereitgestellt wird.
COM findet das beste Szenario für einen gegebenen Kanal unter Verwendung einer Reihe möglicher Equalization-Einstellungen. Dies wird erreicht, indem alle Equalization-Einstellungen durchlaufen und etwas berechnet wird, das als Figure of Merit (FOM) bezeichnet wird. Die Equalization-Einstellung, die die beste FOM liefert, wird für den Rest der Berechnungen verwendet. Sobald die PDFs aller Geräuschquellen berechnet sind, wird das Geräusch bei einer erkannten Fehlerquote (DER) identifiziert. Die DER ist die gewünschte Bitfehlerrate (BER) für das System und wird durch die Art der betrachteten Vorwärtsfehlerkorrektur (FEC) bestimmt, falls eine verwendet wird. Das verfügbare Signal wird durch die Pulsantwortspannung an einem spezifischen Abtastpunkt bestimmt. Das verfügbare Signal wird durch das Geräusch bei der erkannten Fehlerquote (Signal-Rausch-Verhältnis) geteilt, und diese Zahl wird in Dezibel umgewandelt. Voilà! COM! Siehst du, es hat tatsächlich eine Bedeutung.
Die Einstellungen, die für COM verwendet werden, werden durch die verfügbare IC-Technologie bestimmt. Das Niveau der IC-Technologie wird von Branchenführern wie Intel, Broadcom, Mellanox, Fujitsu und vielen anderen vereinbart. Mit anderen Worten, ein IC, das Technologie verwendet, die in COM implementiert ist, sollte in Arbeitskanälen funktionieren können, wie von COM vorhergesagt. Offensichtlich ist dies sehr mächtig, da der Standard nun (endlich) einen Teil des Kanalbesitzes auf die IC-Hersteller übertragen hat.
Auch wenn es klingt, als wäre COM diese Utopie der Kanalvorhersage, hat es doch Einschränkungen. Da es sich um einen Satz von Einstellungen für alle Systeme handelt, die vom Standard berücksichtigt werden, sagt es nicht die Leistung eines einzelnen ICs an sich voraus. Um eine Messkorrelation zu erhalten, müssen Sie die COM-Einstellungen für jedes einzelne IC anpassen. Weiterhin vernachlässigt COM jeglichen Rauschbeitrag von Skew. Glücklicherweise adressiert ein DesignCon-Papier von Jason Chan diese Defizienz, und ich hoffe, in Zukunft aktualisierte COM-Skripte zu sehen, die seine Ideen nutzen [6].
Zusammenfassend ist COM gar nicht so schlecht. Es ist ein sehr logischer nächster Schritt in der Evolution der Kanalanalyse und macht die Kanalbewertung relativ einfach. Ich bin den Autoren von COM sehr dankbar, dass sie so freundlich waren, den MATLAB-Code frei zur Verfügung zu stellen und zu unterstützen. Ich hoffe, in Zukunft COM implementiert und verbessert von anderen Signalintegritätsingenieuren zu sehen. Wer weiß, vielleicht sehen wir eines Tages eine Python- oder Octave-Implementierung.
Alle Abbildungen wurden mit GNU Octave erstellt, https://www.gnu.org/software/octave/.
[1] Keysight ADS Landingpage, https://www.keysight.com/en/pc-1297113/advanced-design-system-ads?&cc=US&lc=eng
[2] PyBERT Landingpage, https://pypi.org/project/PyBERT/
[3] A. Sanders, M. Resso, J. Ambrosia, Kanalkonformitätstests unter Verwendung einer neuartigen statistischen Augenmethodik, DesignCon 2004, http://www.ece.tamu.edu/~spalermo/ecen689/stateye_theory_sanders_designcon_2004.pdf
[4] S. Hall, H. Heck, Fortgeschrittene Signalintegrität für Hochgeschwindigkeits-Digitaldesigns, Wiley 2011
[5] IEEE 802.3 Ethernet-Arbeitsgruppe Landing-Page, http://www.ieee802.org/3/
[6] J. Chan, G. Zheoff, Modusumwandlung und deren Auswirkung auf 112-Gbps-PAM4-Systeme, DesignCon 2019.