Понятие Channel Operating Margin, или COM, многим неясно. Поскольку оно неясно, многие сомневаются в его значимости. В конце концов, как качество канала может быть представлено всего лишь одним числом в децибелах? Оказывается, COM - это на самом деле последний эволюционный шаг в длинной цепочке методов валидации каналов с использованием глазковых диаграмм. В этом блоге мы проследим эволюцию COM от его корней и придадим смысл знаменитой метрике COM.
Давайте начнем с глазковых диаграмм. Глазковые диаграммы - это способ просмотра длинного потока последовательных данных. До появления Keysight ADS и PyBERT [1] [2], глазковую диаграмму измеряли с помощью цифрового осциллографа с выборкой или осциллографа в реальном времени. В окне глазковой диаграммы единицы измерения по оси Y - это напряжение, а единицы по оси X - это время, охватывающее два интервала единицы. Интервал единицы, или UI, - это количество времени, необходимое для прохождения одного бита. Таким образом, за два UI времени вы можете центрировать один бит данных на экране с половиной бита запаса с каждой стороны. Однако вместо просмотра всего одного бита, все биты накладываются друг на друга, по одному за раз, пока весь поток последовательных данных не окажется на экране. Качество сигнала количественно определяется размером отверстия посередине. Если глазковая диаграмма выглядит действительно хорошо, вы можете услышать, как инженер говорит: «Через это глазко можно проехать грузовиком!» Наиболее распространенные способы количественной оценки открытия - это ширина, высота или площадь. Пересечение глазка в точке постоянного тока является джиттером, и джиттер обычно измеряется статистически с помощью гистограммы.
Рисунок 1. Пример потока последовательных битов.
Ранние спецификации каналов, а в некоторых случаях и спецификации пассивных компонентов, использовали что-то, что называется маской глаза для критериев прохождения/непрохождения. Маска глаза обычно представляет собой область в форме ромба, определенную шириной и высотой глаза. Проходящий глаз имеет только определенное количество обнаруженных выборок или попаданий внутри маски глаза. Паттерны единиц и нулей диктуются стандартом и обычно представляют собой псевдослучайную битовую последовательность или PRBS-паттерн. Вы можете в основном разделить паттерны на две категории: до 10 Гб/с и после 10 Гб/с. До 10 Гб/с в большинстве систем использовалось кодирование 8b10b, и соответствующим паттерном был PRBS 7. Когда 10 Гб/с были введены IEEE в 802.3ba, кодирование переключилось на скремблер 64b66b, и PRBS 31 стал использоваться. Даже сегодня при 112 Гб/с PRBS 31 или QPRBS 31 все еще является стандартным паттерном, который используют большинство.
Хронологически после измеренных глазковых диаграмм, StatEye является следующим методом квалификации пассивных каналов, и он активно использовался OIF. Идея, лежащая в основе StatEye, подробно объясняется здесь: [3] Вкратце, StatEye предсказывает глазковые диаграммы, используя импульсный отклик системы. Импульсный отклик - это отклик системы во временной области, возбуждаемый одно-UI квадратным импульсом, и система представляет собой пассивный канал, включая эквализацию. Технологии эквализации, доступные в StatEye, включают FFE, CTLA и DFE. Передаточная функция системы собирается из S-параметров. Поскольку S-параметры канала могут быть смоделированы, StatEye является эффективным способом протестировать множество каналов и настроек эквализации, чтобы увидеть, что работает. Все это время критерием прохождения/непрохождения является маска глазка, использующая статистически предсказанное открытие глазка.
Где-то между StatEye и COM анализ пиковых искажений (PDA) стал довольно распространенным. Этот метод хорошо описан Хеком и Холлом в работе "Advanced Signal Integrity for High Speed Digital Designs" [4]. Вкратце, он использует тот же ответ импульса, что и StatEye, но его результатом является так называемое худшее состояние открытия глазка. PDA не выдумывает данные, и это одна из причин, по которой мне лично он нравится. Я реализовал его сам и обнаружил, что PDA с высокой уверенностью предсказывает худшие паттерны глазка. Однако PDA и StatEye не учитывают влияние передатчика и приемника в канале, и вам нужно вручную найти лучшую настройку эквализации.
Рисунок 2: Пример паттерна глазка в синем цвете и PDA пунктиром в черном.
COM был разработан как часть IEEE 802.3bj, 100GBASE Ethernet и добавил несовершенства ИС в симулируемый канал. Его использование проще и он получил более широкое распространение, чем StatEye, и сегодня является фактическим инструментом прогнозирования качества канала. Как я уже упоминал, COM основывается на StatEye и добавляет несколько новых источников шума. В частности, источники шума включают потери от ИС, отражения от упаковки ИС, джиттер, связанный с ИС, и суммарный гауссов источник шума для всего остального, происходящего в ИС, например, перекрестные помехи. Реализация COM описана в IEEE 802.3 Приложение 93A [5].
Большая часть математики за COM упрощена органом стандартизации насколько это возможно. Например, конкатенация S-параметров упрощена до алгебры вместо преобразований из S-параметров в ABCD-параметры или T-параметры и матричного умножения. Самое сложное уравнение - это расчет функции плотности вероятности (PDF) шума, связанного с ISI, но после нескольких попыток это действительно не так уж и плохо. Есть некоторые пропуски, которые считаются специфичными для реализации, например, как обеспечить 32 точки выборки в каждом UI данных, но эти детали можно найти в открытом исходном коде, предоставляемом бесплатно IEEE [5].
COM находит наилучший вариант для данного канала, используя набор возможных настроек эквалайзера. Это достигается путем перебора всех настроек эквалайзера и расчета так называемого Показателя Заслуги (Figure of Merit, FOM). Настройка эквалайзера, которая дает лучший FOM, используется для оставшихся расчетов. После того как PDF всех источников шума рассчитаны, определяется шум при обнаруженной скорости ошибок (DER). DER - это желаемая скорость битовых ошибок (BER) для системы, и определяется тем, какая техника коррекции ошибок (FEC), если таковая имеется, рассматривается. Доступный сигнал определяется напряжением импульсной характеристики в определенной точке выборки. Доступный сигнал делится на шум при обнаруженной скорости ошибок (отношение сигнал/шум), и это число переводится в децибелы. Вуаля! COM! Видите, это действительно имеет смысл.
Настройки, используемые для COM, определяются доступной технологией ИС. Уровень технологии ИС согласовывается лидерами индустрии, такими как Intel, Broadcom, Mellanox, Fujitsu и многими другими. Другими словами, ИС, использующая технологию, реализованную в COM, должна функционировать в рабочих каналах, как это предсказывается COM. Очевидно, это очень мощно, поскольку стандарт теперь (наконец) переложил часть ответственности за канал на производителей ИС.
Хотя может показаться, что COM - это утопия предсказания каналов, у неё есть ограничения. Поскольку это один набор настроек для всех систем, рассматриваемых стандартом, он не предсказывает производительность какой-либо одной ИС самостоятельно. Чтобы получить корреляцию измерений, вам нужно настроить параметры COM для каждой отдельной ИС. Кроме того, COM не учитывает вклад шума от сдвига. К счастью, статья на DesignCon от Jason Chan адресует этот недостаток, и я надеюсь увидеть обновлённые скрипты COM, использующие его идеи, в будущем [6].
Подводя итог, COM не так уж и плох. Это очень логичный следующий шаг в эволюции анализа каналов, и он делает оценку канала относительно простой. Я очень благодарен авторам COM за то, что они были настолько любезны, что бесплатно предоставили и поддерживают код MATLAB. Я надеюсь увидеть реализацию и улучшение COM другими инженерами по целостности сигналов в будущем. Кто знает, возможно, мы увидим реализацию на Python или Octave однажды.
Все рисунки были созданы с использованием GNU Octave, https://www.gnu.org/software/octave/.
[1] Страница Keysight ADS, https://www.keysight.com/en/pc-1297113/advanced-design-system-ads?&cc=US&lc=eng
[2] Страница PyBERT, https://pypi.org/project/PyBERT/
[3] A. Sanders, M. Resso, J. Ambrosia, Тестирование соответствия канала с использованием новой статистической методологии глазкового диаграммирования, DesignCon 2004, http://www.ece.tamu.edu/~spalermo/ecen689/stateye_theory_sanders_designcon_2004.pdf
[4] С. Холл, Х. Хек, Продвинутая целостность сигналов для высокоскоростных цифровых конструкций, Wiley 2011
[5] Страница рабочей группы IEEE 802.3 Ethernet, http://www.ieee802.org/3/
[6] Дж. Чан, Г. Жеофф, Преобразование режимов и его влияние на системы 112-Гбит/с PAM4, DesignCon 2019.