Table of Contents

Коды с низкой плотностью проверки паритета (LDPC) являются классом линейных кодов, исправляющих ошибки, которые стали краеугольным камнем современной цифровой связи. Их почти ограниченная производительность и присущий параллелизм делают их идеальными для высокопроизводительных приложений, таких как 5G NR, Wi-Fi 6 (802.11ax), спутниковая связь и будущие системы 6G. Однако итеративные алгоритмы декодирования, необходимые для кодов LDPC - чаще всего распространение убеждений (сумма-продукт) или его варианты с уменьшенной сложностью мин-суммы - требуют значительной вычислительной пропускной способности и пропускной способности памяти. Программные декодеры, работающие на процессорах общего назначения или цифровых сигнальных процессорах (DSP), часто не могут удовлетворить строгие ограничения задержки, мощности и области устройств связи следующего поколения. В этой статье исследуется существенная роль аппаратных ускорителей для декодирования LDPC, архитектурные компромиссы, вовлеченные и развивающийся ландшафт дизайна для оборудования следующего поколения.

Понимание алгоритмов декодирования LDPC

Прежде чем погрузиться в аппаратный дизайн, важно понять математическую основу декодирования LDPC. Процесс декодирования обычно работает на графике Таннера, состоящем из переменных узлов (представляющих биты кодового слова) и контрольных узлов (представляющих уравнения четности). Сообщения передаются итеративно между этими узлами, обновляя оценки надежности (соотношение лог-вероятностей или LLR) до тех пор, пока не будет найдено действительное кодовое слово или не будет достигнуто максимальное количество итераций.

Алгоритм распространения убеждений (Sum-Product)

Алгоритм суммарного продукта — оптимальный итерационный декодер, предполагающий отсутствие циклов в графе Таннера. Он вычисляет точные задние вероятности путем обмена внешней информацией. Для каждой итерации переменные узлы отправляют LLR на подключенные контрольные узлы, которые обновляются с использованием правила гиперболического тангенса (правило «танха»). В то время как оптимальное, гиперболическое тангенс и его гиперболическое тангенс требуют высоких умножений битовой ширины и таблиц поиска, увеличивая аппаратную сложность.

Мин-сумм (и масштабируемая мин-сумма)

Для уменьшения накладных расходов на аппаратные средства алгоритм min-sum заменяет операции tanh более простыми операциями минимального поиска. Это упрощение вводит завышение LLR, ухудшая производительность декодирования. В практических реализациях используются коэффициенты масштабирования или поправки смещения (например, нормализованная мини-сумма, офсетная мин-сумма) для компенсации. Семейство мин-сумма является на сегодняшний день наиболее распространенным в аппаратных ускорителях из-за его низкой сложности и легкой трубопроводизации.

Слоеное декодирование

Слоеное декодирование реорганизует граф в слои (на основе матрицы проверки четности). Внутри каждого слоя переменные узлы обновляются последовательно, обеспечивая более быструю конвергенцию (обычно половина итераций). С аппаратной точки зрения многоуровневое декодирование уменьшает требуемую полосу пропускания памяти и позволяет уменьшить площадь декодера, поскольку память с переменными узлами может обновляться на месте. Большинство современных декодеров 5G LDPC используют многоуровневые архитектуры.

Почему ускорители аппаратного обеспечения необходимы

Переход от программного обеспечения к аппаратному ускорению обусловлен несколькими фундаментальными ограничениями. Во-первых, пропускная способность: пиковые скорости передачи данных 5G превышают 20 Гбит/с, что требует от декодеров обработки миллиардов бит в секунду через сотни итераций. Программный декодер на высокопроизводительном процессоре может достигать всего нескольких сотен Мбит/с с высоким энергопотреблением. Во-вторых, энергоэффективность: устройства IoT с питанием от батареи работают в субмилливаттном диапазоне; выделенный ускоритель может достигать более высокой мощности на декодированный бит по сравнению с ядром общего назначения. В-третьих, детерминированная задержка: приложения реального времени, такие как транспортное средство для всего (V2X) или промышленное управление, требуют ограниченной задержки декодирования, которую может гарантировать только аппаратное обеспечение. Наконец, область кремния: встроенный ускоритель занимает часть площади по сравнению с несколькими ядрами ЦП, работающими со сложными инструкциями.

Дизайн-соображения для устройств следующего поколения

Проектирование высокопроизводительного декодера LDPC включает в себя балансирование многих взаимозависимых параметров. Следующие соображения особенно важны для 5G и за его пределами.

Пропускная способность и задержка

Пропускная способность цели напрямую диктует параллелизм, тактовую частоту и количество итераций. Например, декодер, нацеленный на 10 Гбит/с с длиной блока 10 000 бит и 10 итераций, должен обрабатывать каждую итерацию в 10 мкс. Это накладывает жесткие ограничения на критический путь. Высокопроизводительные проекты часто используют полностью развернутые пути передачи данных с несколькими итерациями в одном тактовом цикле. Задержка - время от получения последнего бита кодового слова до вывода декодированных битов - также должна быть сведена к минимуму, часто через критерии раннего прекращения (например, остановка, когда все проверки четности удовлетворены).

Энергоэффективность

В мощности преобладают доступы к памяти (как на чипе SRAM для сообщений переменных и контрольных узлов), так и вычислительная логика. Методы снижения энергии включают: минимизацию битовой ширины памяти (с использованием квантования и насыщения), снижение активности переключения через датчик данных, использование тактового датчика для простаивающих блоков и использование подпороговых схем для низкоскоростной работы. Для мобильных устройств и IoT декодер должен поддерживать несколько режимов работы для масштабирования энергии с требованиями пропускной способности.

Масштабируемость и гибкость

5G NR определяет несколько длин кодовых блоков (до 26 112 бит для базового графа 2 LDPC) и множество скоростей кода (от 1/5 до 8/9). Аппаратные ускорители должны быть перенастраиваемы для поддержки всех базовых графов и размеров подъема без массивных накладных расходов на оборудование. Это обычно достигается путем проектирования модульного массива процессорных блоков, которые могут быть подключены к различным банкам памяти и которые поддерживают программируемые коэффициенты смещения / масштабирования и шаблоны подъема.

Архитектура памяти

Память часто является узким местом. Две основные категории памяти - это память с переменным узлом (LLR-хранилище) и память с чек-узлом (промежуточное хранилище сообщений). Для многоуровневого декодирования декодер считывает сообщения с чек-узлом одного слоя, обновляет переменные узлы и записывает обратно. Эффективное разделение памяти (например, несколько банков, чтобы избежать разногласий) и оперативная память с двумя портами являются общими. Некоторые архитектуры используют регистровые файлы для небольших базовых графов для снижения мощности.

Раннее прекращение и конвергенция

Чтобы избежать ненужных итераций, аппаратные ускорители реализуют раннее прекращение. Простейший метод проверяет, удовлетворены ли все уравнения проверки четности после каждой итерации. Более продвинутые методы отслеживают изменения знаков LLR или вычисляют приблизительный синдром. Раннее прекращение может уменьшить средние итерации на 30-50%, непосредственно улучшая как пропускную способность, так и энергию.

Архитектура оборудования для LDPC Decoders

Выбор архитектуры — это компромисс между пропускной способностью, площадью, мощностью и гибкостью.Основные категории — полностью параллельные, частично параллельные, серийные и гибридные.

Полностью параллельные архитектуры

В полностью параллельном декодере каждый переменный узел и чековый узел инстанциируется как выделенное аппаратное обеспечение (например, один блок чекового узла на строку матрицы проверки четности). Все узлы вычисляют одновременно, что приводит к максимально возможной пропускной способности. Эта архитектура идеально подходит для коротких длин блоков (например, 400 бит) и высокоскоростных приложений. Однако для длин блоков 5G, превышающих 10 000 бит, количество блоков обработки становится непомерно большим (например, до 26 000 переменных узлов и 13 000 контрольных узлов для базового графа 1). Интерконнект также становится серьезной проблемой, потому что граф Таннера нерегулярный; маршрутизация сообщений между группами узлов часто требует сложных переключателей перекладины, которые потребляют значительную площадь и мощность.

Частично параллельные архитектуры

Частично параллельные декодеры реализуют меньше элементов обработки, чем общее количество узлов. Операции узла умножены на время: каждый элемент обработки обрабатывает несколько переменных или контрольных узлов по нескольким тактовым циклам. Это резко снижает стоимость аппаратного обеспечения при сохранении разумной пропускной способности. Ключевым дизайнерским решением является количество элементов обработки (фактор параллелизма) и то, как они планируются по графику Таннера. Большинство коммерческих декодеров 5G LDPC используют частично параллельные архитектуры с коэффициентом параллелизма между 8 и 64. Такие конструкции могут достигать нескольких Гбит/с на скромной площади.

Серийные архитектуры

Полностью последовательные декодеры используют один или несколько элементов обработки, обрабатывая один контрольный узел и один переменный узел за цикл. Серийные декодеры имеют наименьшую площадь и наименьшую мощность (подходят для IoT), но пропускная способность ограничена десятками Мбит/с. Они часто используются для скорости кода около 1/2 на небольших длинах блоков.

Гибридная и многослойная архитектура

Современные конструкции часто сочетают частично параллельную обработку с многоуровневым планированием. Декодер обрабатывает матрицу четности строка за рядом (слой за слоем) с помощью банка процессоров чековых узлов и банка процессоров переменных узлов. В пределах каждой строки параллельно обрабатываются несколько контрольных узлов, а обновления переменных узлов происходят постепенно. Сложный подход уменьшает требуемую полосу пропускания памяти наполовину и сходится быстрее, что делает его фактическим выбором для декодеров 5G NR LDPC. Многие опубликованные работы используют «рядовой, столбцово-параллельный» шаблон, где столбцы в строке совместно используют память переменных узлов.

Технологии внедрения: FPGA vs. ASIC vs. Structured ASIC

Целевая платформа сильно влияет на выбор дизайна. Каждая технология предлагает различные компромиссы в стоимости, мощности, производительности и времени выхода на рынок.

Ускорители FPGA

Полевые программируемые воротные массивы (FPGA) привлекательны для прототипирования, производства малообъемных и приложений, требующих полевых программируемых декодеров (например, спутниковых полезных нагрузок). Современные Xilinx (теперь AMD) RFSoC и Intel Agilex FPGA содержат десятки тысяч LUT и DSP блоков, а также высокоскоростных приемопередатчиков. Декодеры LDPC на FPGA могут достигать до 10 Гбит/с для умеренной длины блока. Основным преимуществом является гибкость: конструкторы могут модифицировать матрицу или алгоритм проверки четности в поле. Основными недостатками являются более высокое энергопотребление на декодированный бит и большая площадь по сравнению с эквивалентной ASIC.

Ускорители ASIC

Специальные для приложений интегральные схемы (ASIC) являются конечными по производительности и энергоэффективности. Они могут быть полностью настроены для точного кода и алгоритма, без накладных расходов на перепрограммируемость. Декодер 5G LDPC ASIC в 7 нм процессе может достигать 20 Гбит/с при потреблении менее 1 пДж/бит, что делает его пригодным для процессоров базовой полосы в телефонах и базовых станциях. Недостатками являются высокие неповторяющиеся инженерные (NRE) затраты и длительные циклы проектирования, что делает их жизнеспособными только для продуктов большого объема. Кроме того, ASIC фиксируются на определенном наборе кодов и стандартов; будущие изменения требуют нового чипа.

Структурированные ASIC и eFPGA

Между FPGA и ASIC лежат структурированные ASIC (платформенные ASIC) и встроенные FPGA (eFPGA). Они предлагают предопределенную логическую ткань с настраиваемой маршрутизацией, позволяющую некоторую программируемость при меньшей NRE и мощности, чем FPGA. Для декодеров LDPC блок eFPGA может использоваться для гибких частей (например, сетей перестановки для поднятия кода), в то время как вычислительно-интенсивные арифметические блоки являются жестко связанными. Этот гибридный подход набирает силу в 5G базовых SoC, которые должны поддерживать будущие стандарты.

Методы оптимизации дизайна

Передовые методы оптимизации имеют решающее значение для удовлетворения требовательных спецификаций 6G и выше.

Пипелинирование и ретиминг

Пипелининг делит итеративный цикл декодера на несколько этапов (например, память чтения, контрольные узлы вычислений, запись обратно, переменные узлы). Каждый этап работает на одной и той же тактовой частоте, увеличивая пропускную способность за счет перекрывающихся операций из разных итераций. Для балансировки задержек и удовлетворения закрытия времени может потребоваться ретиминг. Для многоуровневых декодеров пипелинирование является более сложным, поскольку обновления переменных узлов в слое зависят от выходов контрольных узлов из одного и того же слоя; тщательное планирование может предотвратить пузырьки трубопровода.

Разделение памяти и двойной порт

Для поддержки параллельного доступа несколькими процессорными блоками память переменных узлов разбивается на несколько банков. Структура матрицы проверки паритета определяет, к каким банкам осуществляется доступ одновременно. Некоторые конструкции используют двухпортовые SRAM, позволяющие читать и писать один и тот же банк в одном и том же тактовом цикле. Другой метод заключается в хранении LLR в переплетенном виде, что минимизирует банковские конфликты по слоям.

Квантизация и оптимизация длины слова

Арифметика с фиксированной точкой с надлежащей квантованием имеет важное значение для эффективности аппаратного обеспечения. Типичные широты битов варьируются от 4 до 8 бит на LLR. Обширные симуляции должны проверять, что шум квантования не вызывает потери производительности. Использование насыщения и округления может еще больше уменьшить широту бита. Некоторые архитектуры используют переменную точность: высокая точность для ранних итераций, низкая точность позже.

Масштабирование и компенсация за вычетом

Для декодеров на основе min-sum для проверки выходов узлов могут применяться масштабирующие факторы или офсетные значения. Эти факторы могут быть фиксированы для всех итераций (более простых) или адаптированных для итерации (более высокая производительность). Адаптивные схемы требуют дополнительной логики управления, но могут давать 0,1-0,2 дБ прироста в коэффициенте усиления кодирования.

Раннее прекращение с помощью проверки синдрома

Простейшее раннее прекращение сравнивает вектор вычисленного синдрома с нулем. Если все биты синдрома равны нулю после итерации, декодирование прекращается. Для этого требуется дерево редукции (например, OR-дерево) для объединения всех выходов контрольных узлов. Декодеры с программным обеспечением могут отключать дерево до конечной стадии итерации, чтобы избежать ненужного переключения.

Пример: 5G NR LDPC Декодерный ускоритель

Типичная реализация декодера 5G NR LDPC иллюстрирует компромиссы. Стандарт 5G определяет два базовых графа: BG1 (длина блока нацеливания до 26 112 бит) и BG2 (до 84 000 бит, но более высокий коэффициент усиления кодирования). Декодер должен поддерживать все размеры подъема Z от 2 до 384. В современном дизайне ASIC может использоваться слоистая частично параллельная архитектура с 32 процессорами контрольных узлов. Память переменных узлов разделена на 384 банка (один на размер подъема) двухпортовой SRAM. Сообщения контрольных узлов хранятся в регистровых файлах. Декодер работает на частоте 800 МГц и достигает 20 Гбит/с со средним значением итерации 10. Расход энергии при 0,8 В составляет примерно 150 мВт. Полученная площадь кремния составляет ~ 2,5 мм2 в 10-нм процессе. Ключевые оптимизации включают в себя предварительно вычисленные шаблоны перестановки для каждого размера подъема (сохраняется в малом ПЗУ), динамическое масштабирование на основе количества итераций и глобальное время ожидания.

Будущие направления

Устройства связи следующего поколения уже подталкивают дизайн декодера LDPC к новым горизонтам. Выделяют три важные тенденции.

Машинное обучение Расшифровка

Для замены фиксированных алгоритмов исследуются подходы, основанные на глубоком обучении. Нейронные декодеры могут научиться исправлять специфические нарушения канала (например, затухание, помехи) без явных моделей. Однако аппаратная реализация нейронных декодеров остается сложной из-за нелинейных активаций и высокой вычислительной нагрузки. Одним из перспективных гибридных направлений является использование небольшой нейронной сети для динамической настройки масштабирующих факторов или порогов раннего терминирования, которые могут быть реализованы с минимальными накладными расходами на оборудование (несколько многократно накапливаемых единиц).

Недвоичные коды LDPC

Небинарные коды LDPC работают над полями Galois порядка более 2 (например, GF(64)). Они предлагают превосходную коррекцию ошибок для коротких длин блоков, но за счет гораздо более сложной обработки контрольных узлов (требующей преобразований Фурье или массивных таблиц поиска). Недавние прототипы ASIC показывают, что небинарные декодеры могут быть практичными для приложений с низким временем ожидания, таких как ультранадежные коммуникации с низким временем ожидания (URLLC) в 6G.

Реконфигурируемые и самоадаптивные ускорители

Будущим устройствам может потребоваться поддержка нескольких стандартов (5G, Wi-Fi 7, спутниковый, Li-Fi) одновременно или в быстрой последовательности. Это требует перенастраиваемых ускорителей, которые могут динамически переключаться между различными базовыми графами, размерами подъема и алгоритмами (например, от минимальной суммы до сумма-продукта) с минимальными накладными расходами конфигурации. В качестве решения появляются грубозерные реконфигурируемые массивы (CGRA), обеспечивающие промежуточную основу между гибкостью ASIC и FPGA.

Интеграция с декодированием и демодуляцией каналов

Следующий шаг - плотно связать декодирование LDPC с демодулированием (демаппер мягкого решения) и другими блоками кодека канала. Совместное демодулирование-декодирование может повысить производительность за счет более частого обмена мягкой информацией. Аппаратные ускорители, которые объединяют демаппер и декодер в одном трубопроводе, уменьшат задержку и энергию.

Заключение

Аппаратные ускорители для декодирования LDPC являются важной технологией для достижения высокой пропускной способности, низкой задержки и энергоэффективности, требуемой устройствами связи следующего поколения. Дизайнеры должны тщательно балансировать параллелизм, архитектуру памяти, гибкость и квантование для удовлетворения разнообразных требований 5G и за его пределами. В то время как полностью параллельные архитектуры предлагают максимальную скорость для коротких кодов, частично параллельные слоистые декодеры стали стандартом для больших блоков 5G NR. Платформа реализации - будь то FPGA, ASIC или структурированная ASIC - должна быть выбрана на основе потребностей в объеме, мощности и обновлении. В перспективе машинное обучение, небинарные коды, реконфигурируемые архитектуры и более тесная интеграция с демодулированием обещают еще больше повысить производительность. Компании, которые осваивают эти проблемы проектирования, приведут к следующей волне высокоскоростной, надежной беспроводной связи.

Внешние ресурсы

  • 5G NR LDPC Code Specifications: 3GPP TS 38.212, V17.0.0, «Multiplexing and channel coding», December 2021. Доступно по адресу 3GPP.
  • Ранние архитектуры декодера LDPC: М. Фоссорье, «Квазициклические коды с низкой плотностью, проверяемые на паритетность из матриц мутаций циркулирующих частиц», IEEE Trans. Inf. Theory, vol. 50, No 8, 2004. Доступно по адресу IEEE Xplore.
  • Программное обеспечение для декодеров Min-Sum: J. Chen et al., «A 1.82-Gb/s LDPC Decoder for 5G NR in 16nm FinFET», IEEE Journal of Solid-State Circuits, vol. 56, no. 8, 2021. Доступно по адресу IEEE Xplore.
  • Слоеное декодирование для 5G: С. М. Ким и др., «A 20-Gb/s Layered LDPC Decoder for 5G NR in 10nm FinFET», IEEE Solid-State Circuits Letters, vol. 4, 2021. Доступно по адресу IEEE Xplore.
  • Недвухсторонние декодеры LDPC: D. Declercq et al., «Design and Implementation of a Non-Binary LDPC Decoder for DVB-S2X», IEEE Transactions on Circuits and Systems I, vol. 68, no. 3, 2021. Доступно по адресу IEEE Xplore.