Высокоскоростные интерфейсы на ПЛИС — PCIe, Ethernet и линии трансиверов
Из чего складывается пропускная способность PCI Express и Ethernet на программируемой логике, чем различаются классы линий трансиверов и что проверяют при подборе отладочной платы.
Высокоскоростные последовательные интерфейсы — PCI Express, Ethernet, SATA, каналы связи с радиочастотными преобразователями — реализуются в программируемой логике не обычными выводами, а отдельными аппаратными блоками, которые называют линиями трансиверов. Это встроенные в кристалл приёмопередатчики с собственным умножителем частоты, схемой восстановления тактового сигнала и кодировщиком. От их числа и предельной скорости зависит, какие протоколы проект закроет вообще, а какие потребуют другой микросхемы или другой платы.
Ниже — из чего складывается пропускная способность интерфейса на программируемой логике, чем различаются классы трансиверов, что определяет число линий PCI Express и Ethernet, и какие данные нужны, чтобы подобрать микросхему и отладочную плату под задачу.
Из чего состоит линия трансивера
- Передатчик и приёмник. Работают на дифференциальной паре, каждая линия — две пары, отдельно на приём и на передачу. Полный дуплекс заложен в самой схеме.
- Умножитель частоты. Формирует рабочую частоту линии из опорной. Опорный генератор внешний, и его точность и фазовый шум напрямую влияют на предельную скорость.
- Схема восстановления тактового сигнала. Выделяет тактовую сетку из принимаемого потока — отдельная линия синхронизации между устройствами не нужна.
- Кодировщик. Преобразует данные в формат, пригодный для передачи: схема 8b/10b даёт 20 % накладных расходов, схема 64b/66b — около 3 %. Именно от неё зависит, сколько полезных данных остаётся от номинальной скорости линии.
- Схемы коррекции сигнала. Предыскажение на передатчике и выравнивание на приёмнике компенсируют затухание в печатной плате, разъёмах и кабеле. Без них работа на скоростях выше 10 Гбит/с на длинной трассе невозможна.
- Аппаратные блоки протоколов. В части микросхем контроллер PCI Express и подуровни Ethernet выполнены отдельными аппаратными узлами, а не собираются из логических ячеек. Это экономит ресурсы и снижает задержку.
Классы трансиверов и их предельные скорости
| Класс линии | Предельная скорость | Какие протоколы закрывает | Где применяется |
|---|---|---|---|
| Начальный | до 3,125 Гбит/с | PCI Express первого поколения, Gigabit Ethernet, SATA | Платы сбора данных, управление приводами, периферия |
| Средний | до 6,6 Гбит/с | PCI Express второго поколения, интерфейсы преобразователей | Приборостроение, обработка сигналов |
| Основной | до 12,5 Гбит/с | PCI Express третьего поколения, 10G Ethernet | Сетевые платы, ускорители, видеообработка |
| Высокоскоростной | до 16,3 Гбит/с | 40G Ethernet по четырём линиям, каналы радиосвязи | Телекоммуникационное оборудование |
| Предельный | до 32,75 Гбит/с | PCI Express четвёртого поколения, 25G и 100G Ethernet | Ускорители в серверах, магистральное оборудование |
Предельная скорость линии — паспортная величина кристалла, и она достигается не в любом исполнении. У одной и той же микросхемы в разных категориях быстродействия предельная скорость трансиверов различается, а в исполнениях с расширенным температурным диапазоном обычно ниже. Это первое, что проверяется в документации после числа линий.
Что определяет пропускную способность PCI Express
Пропускная способность складывается из трёх сомножителей: поколения, числа линий и кодировки. Первое и второе поколения используют схему 8b/10b, третье и четвёртое — 128b/130b, поэтому полезная скорость растёт быстрее номинальной.
- Поколение. Задаётся классом трансиверов и наличием аппаратного контроллера. Микросхема с линиями до 8 Гбит/с третье поколение поддержит, с линиями до 6,6 Гбит/с — нет.
- Число линий. Аппаратный контроллер рассчитан на определённую разрядность: x1, x4, x8 или x16. Разрядность выше поддерживаемой контроллером не собирается наращиванием линий трансиверов.
- Разводка платы. Слот x16 на материнской плате не означает, что хост выделит устройству шестнадцать линий: распределение зависит от процессора и занятости остальных слотов. Для стоечных серверов это проверяется по схеме размещения плат расширения конкретной платформы.
- Переходники и удлинители. Применение райзеров и переходников в корпусах высотой 1U и 2U добавляет к трассе разъёмное соединение. На четвёртом поколении это существенно, и требуется райзер, рассчитанный на нужную скорость.
Ориентировочная полезная скорость на одну линию: около 400 Мбайт/с для второго поколения, около 800 Мбайт/с для третьего, около 1,6 Гбайт/с для четвёртого. Умножение на разрядность даёт верхнюю границу, реально достижимая ниже на величину накладных расходов протокола и зависит от размера пакета.
Реализация Ethernet в программируемой логике
Ethernet на программируемой логике собирается из трёх частей: контроллера доступа к среде, подуровня кодирования и физического интерфейса. Распределение между аппаратными блоками и логическими ячейками зависит от семейства микросхем и от скорости.
- 1 Гбит/с. Реализуется через последовательный интерфейс к внешнему приёмопередатчику либо напрямую на модуль SFP 1G через одну линию трансивера.
- 10 Гбит/с. Одна линия на 10,3 Гбит/с и модуль SFP+ 10G. Контроллер доступа к среде на этой скорости чаще аппаратный.
- 25 Гбит/с. Одна линия на 25,78 Гбит/с, требуется класс трансиверов с предельной скоростью не ниже 28 Гбит/с и коррекция ошибок на физическом уровне.
- 40 и 100 Гбит/с. Четыре линии, объединённые в группу, и модуль QSFP28 100G. Для 100 Гбит/с обязательна коррекция ошибок, и она занимает заметную часть логических ресурсов, если не выполнена аппаратно.
Выбор оптического модуля к плате ведётся так же, как к коммутатору: по типу волокна, длине трассы и оптическому бюджету. Перечень исполнений — в разделе оптических трансиверов. Если плата ставится в сервер и задача сводится к передаче трафика без обработки, сопоставимую полосу дают готовые сетевые адаптеры, и программируемая логика здесь избыточна.
Что проверяют при подборе платы
- Число выведенных линий. В кристалле линий может быть больше, чем выведено на разъёмы конкретной платы. Считается не паспортное число, а фактически доступное.
- Разъёмы расширения. Стандартизованные разъёмы для мезонинных плат различаются числом дифференциальных пар и числом подведённых линий трансиверов. От этого зависит, какая плата расширения встанет на комплект.
- Опорные генераторы. Под каждую группу линий нужен свой опорный сигнал требуемой частоты. Программируемые генераторы на плате удобнее фиксированных, если протоколов несколько.
- Питание. Трансиверы питаются отдельными шинами с жёсткими требованиями к пульсациям. Число и ток этих шин ограничивают, сколько линий можно задействовать одновременно.
- Отвод тепла. При полной загрузке линий рассеиваемая мощность вырастает в разы. Исполнение радиатора и наличие принудительного обдува проверяются до заказа, а не после.
- Поддержка средств разработки. Готовые примеры проектов под нужный протокол сокращают запуск. Наличие лицензии на аппаратный блок протокола проверяется отдельно от самой платы.
Когда программируемая логика оправдана, а когда нет
Линии трансиверов на программируемой логике дают выигрыш там, где данные нужно обработать по дороге: отфильтровать, сжать, сопоставить с другим потоком, принять решение за фиксированное время. Если данные только передаются из точки в точку, задачу закрывают серийные устройства.
- Обработка потока с преобразователей. Поток от аналого-цифровых преобразователей приходит по последовательному интерфейсу и обрабатывается в том же кристалле. Плат с готовым сочетанием преобразователей и логики в разделе плат расширения несколько десятков.
- Предварительная обработка изображения. Свёртки и фильтрация до передачи в вычислительный узел снижают требуемую полосу. Готовые комплекты для таких задач — в разделе робототехники.
- Протоколы без серийных контроллеров. Каналы связи в радиоаппаратуре и специализированные шины реализуются только программируемой логикой.
- Совмещение процессора и логики. Если нужна ещё и операционная система, рассматриваются платформы на базе систем на кристалле или одноплатные компьютеры — процессорное ядро и программируемая логика соединены внутренней шиной, и отдельный интерфейс между ними не нужен.
Частые вопросы
Можно ли получить 100 Гбит/с на микросхеме с линиями до 16 Гбит/с? Да, но не четырьмя линиями, а десятью по 10,3 Гбит/с в схеме CAUI-10. Она требует больше выводов, больше ресурсов и применяется в оборудовании прошлых поколений.
Сколько линий занимает один интерфейс? PCI Express — по числу разрядности: x8 занимает восемь линий. Ethernet 10G — одну, 40G и 100G — четыре. Поэтому число одновременно работающих интерфейсов считается по сумме, а не по числу протоколов.
Нужен ли внешний приёмопередатчик для Ethernet? На 1 Гбит/с по витой паре — да. На оптике и на скоростях от 10 Гбит/с линия трансивера подключается к оптическому модулю напрямую.
Чем отладочная плата отличается от серийной? Плата разработки выводит максимум интерфейсов и содержит средства отладки; в серийном изделии остаётся только нужное. Переход от одной к другой разобран в разделе комплексных решений.
Что запрашивают при подборе микросхемы? Перечень протоколов с их скоростями, требуемое число одновременных каналов, температурный диапазон и предполагаемый тираж. Тираж влияет на выбор не меньше, чем параметры.
Что мы поставляем
Программируемая логика, платы разработки, платы расширения и мезонинные модули, платформы на базе систем на кристалле, одноплатные компьютеры, модули и платы расширения к сетевому оборудованию, а также оптические трансиверы к ним. Проверяем совместимость платы, модуля и посадочного места в платформе до отгрузки.
Пришлите перечень протоколов с требуемыми скоростями, число каналов и условия эксплуатации на server@tkasiatorg.ru — подберём микросхему и плату по числу и классу линий трансиверов, посчитаем питание и охлаждение и назовём срок поставки.
