FPGA получила прямой выход в Ethernet до 100G без CPU в fast path
У высокоскоростного прибора есть странная привычка: FPGA уже оцифровала сигнал, понизила частоту, отфильтровала поток и разложила его по каналам, после чего данные едут в RAM компьютера. Там CPU и NIC снова упаковывают их для отправки по Ethernet. В тракте с десятками гигабит в секунду этот крюк превращает обычный компьютер в обязательный перевалочный пункт между логикой и кабелем.
Компьютер можно убрать с дороги потока
Orthogone открыла для лицензирования набор Ultra-Low-Latency FPGA IP, который собирает несколько ранее отдельных частей такого пути: Ethernet MAC/PCS, аппаратные TCP/IP и UDP/IP engines и двунаправленный PCIe DMA с кольцевыми буферами. Портфель рассчитан на AMD UltraScale+ и Versal. CPU остаётся хозяином системы и памяти, однако из быстрого пути разбора и передачи пакетов он исключён.
Самая интересная инженерная мысль здесь лежит за пределами исходного рынка HFT. В SDR или digitizer можно строить тракт вида «АЦП — DDC — FPGA DSP — packetizer — Ethernet PHY». Поток отсчётов уходит по сети прямо из fabric; локальная RAM компьютера перестаёт быть обязательной остановкой. В обратном направлении Ethernet-пакет может попасть в аппаратный парсер, затем в фильтр, коррелятор или FFT и дальше к ЦАП либо к следующему блоку обработки.
Ethernet как часть DSP-конвейера
Такой подход особенно естественен для распределённого коррелятора, многоканального приёмника, FPGA-генератора и удалённого измерительного фронтенда. Сеть в этой схеме становится ещё одной шиной между аппаратными блоками. Хосту можно оставить управление, запись результатов, конфигурацию и сложную обработку, которая действительно требует процессора.
Отдельно полезен circular-buffer DMA. Он позволяет непрерывно прокручивать область памяти через DMA, сохраняя последние фрагменты потока. В измерительном приборе этот механизм подходит для pre-trigger истории: триггер фиксирует точку события, после которой логика продолжает собирать post-trigger выборки. Сам DMA ещё не превращает плату в осциллограф, но предоставляет базовый примитив именно для такого режима захвата.
Где заканчиваются опубликованные измерения
У портфеля есть существенная граница в опубликованных данных. Orthogone подтверждает MAC/PCS от 1 до 100GbE и RS-FEC для 25G и 100G, а открытая спецификация FPGA TCP/IP и UDP/IP подробно описывает 10G-вариант. Для отдельного 100G MAC/PCS производитель приводит wire-to-wire RTT 196 нс без RS-FEC и 399 нс с FEC; эти цифры относятся к transceiver, PCS и MAC, без L4, пользовательской логики и PCIe. PCIe Gen4 x8 DMA в конкретных конфигурациях хоста показал RTT 585–635 нс для payload 32 B. Сквозной замер «100GbE — TCP/IP — PCIe — память хоста» компания не публиковала.
Поэтому обещание sub-microsecond-class нельзя превращать в готовое число для 100G TCP или в паспортную задержку будущего SDR. Не раскрыты зависимость от размера пакета, распределение jitter, загрузка LUT и BRAM, а также поведение при предельной packet rate. Но сама архитектурная возможность уже ценна: Ethernet можно включать в проект FPGA на том же уровне, что AXI-Stream, DSP-блоки и DMA, вместо обязательного похода данных через программный сетевой стек.