FPGA-платы / SoM / Индивидуальный дизайн / Интеграция IP
info@profpga.net +86 18621324348
Главная/Блог/Анализ решений/Планирование пропускной способности PCIe: сколько чистой полосы реально дают Gen3 x4 – x16
Анализ решений

Планирование пропускной способности PCIe: сколько чистой полосы реально дают Gen3 x4 – x16

2026-10-09 Время чтения: ~ 11 мин. Команда разработки Дуюань Электроникс

Счёт по полосе PCIe сложнее, чем цифра в даташите—теоретическая полоса, кодирование, накладные расходы протокола, эффективность DMA и узкое место DDR съедают обещанные «16 ГБ/с». В статье разбираются Gen3 x4/x8/x16 вплоть до согласования с DDR и DMA и даётся повторяемая методика оценки чистой полосы.

1. Три уровня полосы: теоретическая, после кодирования, чистая

Видя в спецификации «PCIe Gen3 x16», вы интуитивно ждёте 16 ГБ/с. Эта цифра на самом деле—сырая скорость в битах, а не та полоса, которой можно пользоваться. Между ними два уровня потерь:

Уровень Расчёт для Gen3 x16 Результат Смысл
① Сырая скорость 16 линий × 8,0 GT/s 128 Гб/с Исходная скорость символов на линке
② Полоса после кодирования 128 × 128/130 (Gen3 использует 128b/130b) ≈ 126 Гб/с ≈ 15,75 ГБ/с Скорость полезной нагрузки после кодирования
③ Фактическая чистая полоса 15,75 × КПД (80–90%) ≈ 12,6 – 14,2 ГБ/с Реально доступная полоса после заголовков TLP, дескрипторов DMA и прерываний

Gen3 работает на 8,0 GT/s на линию и имеет всего 1,5 % накладных расходов кодирования 128b/130b—в этом ключ эффективности по сравнению с Gen2 (20 % на 8b/10b). Сравнение по ширинам:

Ширина PCIe Сырая скорость Полоса после кодирования Типичная чистая полоса (блочный DMA)
Gen3 x4 32 Гб/с ≈ 3,94 ГБ/с ≈ 3,2 – 3,5 ГБ/с
Gen3 x8 64 Гб/с ≈ 7,88 ГБ/с ≈ 6,3 – 7,1 ГБ/с
Gen3 x16 128 Гб/с ≈ 15,75 ГБ/с ≈ 12,6 – 14,2 ГБ/с
Gen2 x8 (для сравнения) 40 Гб/с ≈ 4,0 ГБ/с (8b/10b) ≈ 3,2 – 3,6 ГБ/с

2. Сколько съедает протокол: TLP, payload, чтение против записи

Полоса после кодирования—не чистая полоса. Каждый пакет Transaction Layer Packet (TLP) PCIe несёт заголовок 12–20 байт; чем больше payload, тем меньше доля заголовка и выше КПД.

Размер payload напрямую определяет эффективность

Размер payload Доля заголовка TLP КПД передачи Типичный сценарий
4 КБ (макс) ≈ 0,4 % ≈ 90 %+ Большой непрерывный DMA-сбор, видеопотоки
512 Б ≈ 3 % ≈ 85–88 % Обычная обратная передача данных
64 Б ≈ 25 % ≈ 55–65 % Чтение/запись регистров, управление малыми пакетами

Чтение медленнее записи: скрытая цена Completion

Запись по PCIe—fire-and-forget, отправитель не ждёт подтверждения. Чтение должно дождаться Completion TLP—туда-обратно, что удваивает задержку и сжигает полосу. Замеры:

  • Большая последовательная запись: 88–92 % полосы после кодирования
  • Большое последовательное чтение: обычно лишь 80–85 % (очередь Completion, накладные расходы)
  • Смешанное чтение/запись: переключение направлений вызывает паузы линка, КПД падает ещё на 5–10 %

В инженерном планировании используйте консервативную оценку «чистая полоса = после кодирования × 80 %», а не идеальные 90 %+.

3. DDR—настоящий потолок

Быстрый линк PCIe не значит, что система может выжать максимум—данные в и из FPGA проходят через DDR, и полоса DDR часто первая стена, в которую вы упираетесь.

Как считать полосу DDR

Полоса DDR = ширина шины данных × скорость / 8. На примере типовых плат Duyuante:

  • DUK7410T: 4 ГБ DDR3, 64-bit, 1866 Мбит/с → 64 × 1866 / 8 ≈ 14,9 ГБ/с
  • DUF7690T: 4 ГБ DDR3, 64-bit, 1866 Мбит/с → ≈ 14,9 ГБ/с
  • DUKU15P: 8 ГБ DDR4 ECC, 64-bit (+8-bit ECC) → при 2400 MT/s ≈ 19,2 ГБ/с

Поток двунаправленный: чтение + запись удваивают нагрузку

Представьте высокоскоростной сбор: данные АЦП обрабатываются FPGA и записываются обратно в хост по PCIe. Этот путь проходит через DDR дважды:

  • FPGA принимает данные → запись в DDR (буфер кадров)
  • FPGA завершил обработку → чтение из DDR (выборка для передачи)
  • Полная нагрузка на DDR = полоса записи + полоса чтения

Если PCIe x8 Gen3 даёт 7 ГБ/с чистыми, DDR должен одновременно писать 7 ГБ/с и читать 7 ГБ/с = 14 ГБ/с—вплотную к физическому пределу DDR3 14,9 ГБ/с, почти без запаса под алгоритмы FPGA. Вот почему x8 Gen3 в паре с DDR3—«золотая комбинация», а x16 требует DDR4.

Плата Спецификация PCIe Полоса после кодирования Конфигурация DDR Полоса DDR Вердикт
DUK7410T Gen2 x8 ≈ 4,0 ГБ/с 4 ГБ DDR3 64-bit ≈ 14,9 ГБ/с Узкое место—PCIe, у DDR запас
DUF7690T Gen3 x8 ≈ 7,88 ГБ/с 4 ГБ DDR3 64-bit ≈ 14,9 ГБ/с ~7,5 ГБ/с в каждую сторону, баланс
DUKU15P Gen3 x16 ≈ 15,75 ГБ/с 8 ГБ DDR4 64-bit ≈ 19,2 ГБ/с DDR близок к пределу при полной загрузке PCIe

4. Трёхшаговая оценка: сколько полосы нужно вашему проекту?

Методика · 01: оценка полосы PCIe в три шага

Шаг 1: чистая потребность. Сложите сырые скорости всех источников—минимум, который надо переместить.

Шаг 2: коэффициент запаса. Умножьте на 1,2–1,5 (накладные расходы, всплески, дуплекс).

Шаг 3: обратный пересчёт ширины PCIe. Выберите спецификацию, где полоса после кодирования ≥ потребности с запасом, затем проверьте DDR.

Проверка на трёх типовых сценариях:

Сценарий Сырая скорость Потребность с запасом Рекомендуемый PCIe Обоснование
Высокоскоростной сбор (2ch × 250 МСП × 14 бит) ≈ 875 МБ/с ≈ 1,1 – 1,3 ГБ/с Gen3 x4 (3,94 ГБ/с) Запаса достаточно, DDR без напряжения
Захват и обработка 4K60 (10 бит 4:2:2) ≈ 1,5 ГБ/с ≈ 1,8 – 2,3 ГБ/с Gen3 x8 (7,88 ГБ/с) Место под многоканальное видео или сшивку
Пакетная передача feature-map ИИ / 8K-видео ≈ 10 – 12 ГБ/с ≈ 12 – 18 ГБ/с Gen3 x16 (15,75 ГБ/с) Нужен DDR4, иначе DDR упрётся первым

Правило большого пальца: при выборе ширины PCIe отталкивайтесь от «чистая потребность × 2» и закладывайте двойной запас. Полосу можно нарастить, ширину—только заменой платы.

5. Три платформы PCIe от Duyuante: как выбрать

DUK7410T (¥9 999)—экономичный сбор и обработка

Fudan Micro JFM7K410T, аппаратный блок PCIe Gen2 x8, около 4 ГБ/с после кодирования. С мецонинами FMC HPC для высокоскоростного АЦП-сбора или HDMI 4K-обработки видео—стартуйте отсюда, когда PCIe не узкое место.

DUF7690T (¥24 999)—основной сбор и композитная обработка

Fudan Micro JFM7VX690T, аппаратный блок PCIe Gen3 x8, около 7,88 ГБ/с после кодирования. С 4 ГБ DDR3 и ~7,5 ГБ/с в каждую сторону—в точности под полную x8. Основная платформа для многоканального сбора, обработки радиосигналов и сшивки видео.

DUKU15P (¥15 999)—премиальная обратная передача и 100G-связность

AMD Kintex UltraScale+ XCKU15P, аппаратный блок PCIe Gen3 x16, 15,75 ГБ/с после кодирования, с 8 ГБ DDR4 ECC. Интегрирует 56 высокоскоростных трансиверов (24× GTY 28G + 32× GTH 16G) и 4× 100G Ethernet—флагман для большой полосы PCIe плюс высокоскоростная сеть.

Полоса PCIe—никогда не «скорость интерфейса», а самая короткая доска из «интерфейс × память × DMA». Сначала считайте запас DDR, потом говорите о скорости PCIe.

>

— Инженерная команда Duyuante

DDRDMAGen3PCIeПропускная способность
Дуюань Электроникс · Оригинальная техническая статья
‹ Предыдущая статья

Промышленное зрение в реальном времени на FPGA: от GigE-камеры до калибровки дефектов

Статья не ответила на ваш вопрос?

Свяжитесь с нами, описав ваши задачи, для персональной технической поддержки.

Контакты · +86 18621324348