Channel Operating Margin, czyli COM, nie jest dobrze zrozumiany. Ponieważ nie jest dobrze zrozumiany, wiele osób wątpi, czy naprawdę oznacza coś ważnego. W końcu, jak jakość kanału może być reprezentowana tylko przez jedną liczbę w decybelach? Okazuje się, że COM jest właściwie najnowszym krokiem ewolucyjnym w długiej serii technik walidacji kanału, wykorzystujących wzorce oka. Ten blog prześledzi ewolucję COM aż do jego korzeni i nada znaczenie temu niesławnemu wskaźnikowi COM.
Zacznijmy od wzorów oka. Wzory oka to sposób na oglądanie długiego strumienia danych szeregowych. Zanim pojawiły się Keysight ADS i PyBERT [1] [2], wzór oka był mierzony za pomocą cyfrowego oscyloskopu próbkującego lub oscyloskopu czasu rzeczywistego. W oknie wzoru oka jednostki na osi y to napięcie, a jednostki na osi x to czas obejmujący dwa interwały jednostkowe. Interwał jednostkowy, czyli UI, to czas potrzebny na przesłanie jednego bitu. W ten sposób, w ciągu dwóch UI czasu, można wyśrodkować na ekranie dane jednego bitu z marginesem pół bitu po każdej stronie. Jednak zamiast oglądać tylko jeden bit, wszystkie bity są nakładane, jeden po drugim, aż cały strumień danych szeregowych znajdzie się na ekranie. Jakość sygnału jest kwantyfikowana przez rozmiar otworu pośrodku. Jeśli wzór oka wygląda naprawdę dobrze, możesz usłyszeć, jak inżynier mówi: „Przez to oko można przejechać ciężarówką!” Najczęstszymi sposobami kwantyfikacji otworu są szerokość, wysokość lub powierzchnia. Przecięcie oka w punkcie DC to jitter, a jitter jest zwykle mierzony statystycznie za pomocą histogramu.
Rysunek 1. Przykład strumienia bitów szeregowych.
Wczesne specyfikacje kanałów, a w niektórych przypadkach specyfikacje komponentów pasywnych, używały czegoś, co nazywa się maską oka dla kryteriów zaliczenia/niezaliczenia. Maska oka to zazwyczaj obszar w kształcie diamentu, określony przez szerokość i wysokość oka. Zaliczające oko ma tylko tyle wykrytych próbek lub trafień, wewnątrz maski oka. Wzorce jedynek i zer są dyktowane przez standard i zazwyczaj są to sekwencje bitów pseudo-losowych lub wzorzec PRBS. Można w zasadzie podzielić wzorce na dwie kategorie: przed 10 Gb/s i po 10 Gb/s. Przed 10 Gb/s w większości systemów używano kodowania 8b10b i odpowiednim wzorcem był PRBS 7. Gdy IEEE wprowadziło 10 Gb/s w 802.3ba, kodowanie zmieniło się na skrambler 64b66b i PRBS 31 przejął pałeczkę. Nawet dzisiaj przy 112 Gb/s, PRBS 31, lub QPRBS 31, wciąż jest standardowym wzorcem używanym przez większość.
Chronologicznie po zmierzonych wzorach oka, StatEye jest kolejną metodą kwalifikacji pasywnych kanałów, która była intensywnie wykorzystywana przez OIF. Idea stojąca za StatEye jest szczegółowo wyjaśniona tutaj: [3] W skrócie, StatEye przewiduje wzory oka, używając odpowiedzi impulsowej systemu. Odpowiedź impulsowa to odpowiedź w dziedzinie czasu systemu pobudzonego jedno-UI kwadratowym impulsem, a system to pasywny kanał zawierający ekwalizację. Technologie ekwalizacji dostępne w StatEye to FFE, CTLA i DFE. Funkcja przenoszenia systemu jest zbierana z parametrów S. Ponieważ parametry S kanału mogą być symulowane, StatEye jest efektywnym sposobem na wypróbowanie wielu kanałów i ustawień ekwalizacji, aby zobaczyć, co działa. Cały czas, maska oka jest kryterium zda/nie zda, używając statystycznie przewidzianego otwarcia oka.
Gdzieś pomiędzy StatEye a COM, analiza szczytowych zniekształceń (PDA) stała się dość powszechna. Metoda ta jest dobrze udokumentowana przez Hecka i Halla w "Advanced Signal Integrity for High Speed Digital Designs" [4]. Podsumowując, używa tej samej odpowiedzi impulsowej co StatEye, ale jej wynikiem jest po prostu tak zwane najgorsze otwarcie oka. PDA nie tworzy żadnych danych, i to jest powód, dla którego osobiście mi się podoba. Zaimplementowałem to sam i stwierdziłem, że PDA przewiduje najgorsze wzorce oka z dużą pewnością. Jednakże, PDA i StatEye nie uwzględniają wpływu nadajnika i odbiornika w kanale, i musisz ręcznie znaleźć najlepsze ustawienie equalizacji.
Rysunek 2: Przykład wzorca oka na niebiesko i PDA przerywaną czarną linią.
COM został opracowany jako część IEEE 802.3bj, Ethernet 100GBASE i dodał niedoskonałości układu scalonego (IC) do symulowanego kanału. Jest łatwiejszy w użyciu i bardziej powszechnie przyjęty niż StatEye, i stanowi dzisiaj de facto narzędzie do przewidywania jakości kanału. Jak już wspomniałem, COM opiera się na StatEye i dodaje kilka nowych źródeł szumów. Konkretnie, źródła szumów to: straty wynikające z IC, odbicia od opakowania IC, jitter związany z IC oraz skumulowane źródło szumu Gaussa dla wszystkich innych zjawisk zachodzących w IC, takich jak przeplot. Implementacja COM znajduje się w IEEE 802.3 Dodatek 93A [5].
Większość matematyki stojącej za COM jest uproszczona przez organ normatywny tak bardzo, jak to możliwe. Na przykład, konkatenacja parametrów S jest sprowadzona do algebry zamiast konwersji z parametrów S do parametrów ABCD lub T i mnożenia macierzy. Najtrudniejszym równaniem jest obliczanie funkcji gęstości prawdopodobieństwa (PDF) szumu związanego z ISI, ale po kilku próbach nie jest to takie złe. Istnieją pewne pominięcia, które są uznawane za specyficzne dla implementacji, takie jak sposób zapewnienia 32 punktów próbkowania w każdym UI danych, ale te szczegóły można znaleźć w otwartoźródłowym kodzie udostępnionym bezpłatnie przez IEEE [5].
COM znajduje najlepszy scenariusz dla danego kanału, używając zestawu możliwych ustawień ekwalizacji. Osiąga się to poprzez przeskanowanie wszystkich ustawień ekwalizacji i obliczenie czegoś, co nazywa się Wskaźnikiem Zasług (FOM). Ustawienie ekwalizacji, które generuje najlepszy FOM, jest używane do reszty obliczeń. Gdy obliczone zostaną PDFy wszystkich źródeł szumów, identyfikowany jest szum przy wykrytej stopie błędów (DER). DER to pożądana stopa błędów bitowych (BER) dla systemu i jest określana przez to, która technika Korekcji Błędów Przesyłania (FEC), jeśli w ogóle, jest rozważana. Dostępny sygnał jest określany przez napięcie odpowiedzi impulsowej w konkretnym punkcie próbkowania. Dostępny sygnał jest dzielony przez szum przy wykrytej stopie błędów (stosunek sygnału do szumu) i ta liczba jest przekształcana na decybele. Voilla! COM! Widzisz, to naprawdę ma sens.
Ustawienia używane dla COM są określane przez dostępną technologię układów scalonych (IC). Poziom technologii IC jest uzgadniany przez liderów branży, takich jak Intel, Broadcom, Mellanox, Fujitsu i wielu innych. Innymi słowy, układ scalony wykorzystujący technologię zaimplementowaną w COM powinien być w stanie funkcjonować w kanałach roboczych, jak przewiduje to COM. Oczywiście jest to bardzo potężne, ponieważ standard w końcu (wreszcie) przeniósł część odpowiedzialności za kanał na dostawców IC.
Mimo że może się wydawać, że COM to utopia przewidywania kanałów, ma on swoje ograniczenia. Jako że jest to jeden zestaw ustawień dla wszystkich systemów rozpatrywanych przez standard, nie przewiduje on wydajności żadnego pojedynczego układu scalonego samodzielnie. Aby uzyskać korelację pomiarów, musisz dostosować ustawienia COM dla każdego indywidualnego układu scalonego. Co więcej, COM pomija wszelki wkład szumu pochodzący ze skosu. Na szczęście praca DesignCon autorstwa Jasona Chana adresuje tę niedoskonałość i mam nadzieję zobaczyć w przyszłości zaktualizowane skrypty COM wykorzystujące jego pomysły [6].
Podsumowując, COM nie jest taki zły. Jest to bardzo logiczny kolejny krok w ewolucji analizy kanałów i sprawia, że ocena kanałów jest stosunkowo łatwa. Jestem bardzo wdzięczny, że autorzy COM byli na tyle mili, aby udostępnić i wspierać kod MATLAB bezpłatnie. Mam nadzieję, że w przyszłości inni inżynierowie zajmujący się integralnością sygnału zaimplementują i ulepszą COM. Kto wie, może pewnego dnia zobaczymy implementację w Pythonie lub Octave.
Wszystkie rysunki zostały stworzone przy użyciu GNU Octave, https://www.gnu.org/software/octave/.
[1] Strona główna Keysight ADS, https://www.keysight.com/en/pc-1297113/advanced-design-system-ads?&cc=US&lc=eng
[2] Strona główna PyBERT, https://pypi.org/project/PyBERT/
[3] A. Sanders, M. Resso, J. Ambrosia, Testowanie zgodności kanałów przy użyciu nowatorskiej statystycznej metodologii oka, DesignCon 2004, http://www.ece.tamu.edu/~spalermo/ecen689/stateye_theory_sanders_designcon_2004.pdf
[4] S. Hall, H. Heck, Zaawansowana integralność sygnału dla szybkich cyfrowych projektów, Wiley 2011
[5] Strona główna grupy roboczej IEEE 802.3 Ethernet, http://www.ieee802.org/3/
[6] J. Chan, G. Zheoff, Konwersja trybu i jej wpływ na systemy 112-Gbps PAM4, DesignCon 2019.