Table of Contents
Los códigos de baja densidad de la paridad (LDPC) son una clase de códigos de error lineales que se han convertido en una piedra angular de la comunicación digital moderna. Su rendimiento casi sin límites y el paralelismo inherente los hacen ideales para aplicaciones de alto rendimiento como 5G NR, Wi-Fi 6 (802.11ax), comunicaciones por satélite y futuros sistemas de 6G.
Comprender los algoritmos de decodificación de los LDPC
Antes de bucear en el diseño del hardware, es crucial entender la columna vertebral matemática de la decodificación de LDPC. El proceso de decodificación normalmente funciona en un gráfico Tanner que consiste en nodos variables (representando bits de codeword) y nodos de verificación (representando ecuaciones de paridad). Los mensajes se pasan iterativamente entre estos nodos, actualizando estimaciones de fiabilidad (proporción de probabilidad de log o LLRs) hasta que se encuentra un código válido.
Propagación de la creencia (Producto-Sum) Algoritm
El algoritmo de multiplicación es el decodificador iterativo óptimo asumiendo que no hay ciclos en el gráfico Tanner. Compute las probabilidades exactas posteriores al intercambio de información extrínseca. Para cada iteración, los nodos variables envían LLRs a los nodos de comprobación conectados, que actualizan utilizando una regla de tangente hiperbólico (la regla "tanh").
Algoritmo de Min-Sum (y de la escalada de Min-Sum)
Para reducir la sobrecarga de hardware, el algoritmo de la suma de min reemplaza las operaciones de tanh con operaciones de determinación mínima más simples. Esta simplificación introduce sobreestimación de LLRs, rendimiento de decodificación degradante. Las implementaciones prácticas utilizan factores de escalada o correcciones offset (por ejemplo, la subida normalizada, la suma de min-sum) para compensar. La familia de la suma de min es por lejos la más común en los aceleradores de hardware debido a su baja complejidad.
Decodificación de capas
La decodificación de capas reorganiza el gráfico en capas (basada en la matriz de verificación de paridad). Dentro de cada capa, los nodos variables se actualizan secuencialmente, permitiendo una convergencia más rápida (por lo general la mitad de las iteraciones). Desde una perspectiva de hardware, la decodificación de capas de capas de memoria requirida y permite un área de decodificación más pequeña porque la memoria de nodos variable se puede actualizar en el lugar.
Por qué los aceleradores de hardware son esenciales
El movimiento de software a aceleración de hardware es impulsado por varias restricciones fundamentales. Primero, rendimiento: 5G máximo de datos sobre 20 Gbps, que requieren decodificadores para procesar miles de millones de bits por segundo a través de cientos de iteraciones. Un decodificador de software en una CPU de alta gama puede alcanzar sólo unos pocos cientos de Mbps con alto consumo de energía.
Consideraciones de diseño para dispositivos de próxima generación
La concepción de un acelerador de decodificador LDPC de alto rendimiento implica equilibrar muchos parámetros interdependientes. Las siguientes consideraciones son particularmente críticas para 5G y más allá.
A través de la comunicación y la eficiencia
La entrada de destino dicta directamente paralelismo, frecuencia de reloj y cuenta de iteración. Por ejemplo, un decodificador apuntando 10 Gbps con una longitud de bloque de 10.000 bits y 10 iteraciones deben procesar cada iteración en 10 μs. Eso impone límites ajustados en el camino crítico. Los diseños de alta gama a menudo utilizan los datapaths completamente sin registro con múltiples iteraciones en un solo ciclo de reloj.
Eficiencia energética
El poder está dominado por los accesos de memoria (tanto en chip SRAM para mensajes de nodos variables como de verificación) y lógica computacional. Las técnicas para reducir la energía incluyen: minimizar el bit-width de memoria (utilizando cuantización y saturación), reduciendo la actividad de conmutación mediante el cálculo de datos, empleando el reloj de las unidades de ocio y utilizando circuitos sub-tenimiento para el funcionamiento de baja velocidad.
Escalabilidad y flexibilidad
5G NR define múltiples longitudes de bloques de código (hasta 26,112 bits para LDPC base gráfica 2) y muchas tasas de código (de 1/5 a 8/9). Un acelerador de hardware debe ser reconfigurable para apoyar todos los gráficos base y tamaños de elevación sin sobrecarga de hardware masivo. Esto se consigue generalmente mediante el diseño de una serie modular de unidades de procesamiento que pueden conectarse a diferentes bancos de memoria y que soportan factores de elevación programables.
Memoria de Arquitectura
La memoria es a menudo el cuello de botella. Las dos categorías principales de memoria son memoria de nodo variable ( almacenamiento de registro de datos de registro de datos) y memoria de nodos de control ( almacenamiento de mensaje intermedio). Para la decodificación de capas, el decodificador lee los mensajes de nodo de control de una capa, actualiza los nodos variables y escribe de nuevo.
Terminación temprana y convergencia
Para evitar iteraciones innecesarias, los aceleradores de hardware implementan la terminación temprana. El método más simple verifica si todas las ecuaciones de verificación de paridad están satisfechas después de cada iteración. Más técnicas avanzadas monitorean los cambios de signos de LLRs o computan un síndrome aproximado. La terminación temprana puede reducir las iteraciones promedio en 30-50%, mejorando directamente tanto la rendimiento como la energía.
Hardware Architectures for LDPC Decoders
La elección de la arquitectura es un cambio entre la producción, área, poder y flexibilidad. Las principales categorías son totalmente paralelas, parcialmente paralelas, serie e híbrido.
Arquitecturas de paralelo completo
En un decodificador totalmente paralelo, cada nodo variable y nodo de verificación se instantánea como hardware dedicado (por ejemplo, una unidad de nodo de verificación por fila de la matriz de verificación de paridad). Todos los nodos computan simultáneamente, conduciendo a la mayor potencia posible. Esta arquitectura es ideal para longitudes de bloque corto (por ejemplo, 400 bits) y aplicaciones de alta velocidad. Sin embargo, para 5G de longitud de bloques que prohíbe más de 10.000 bits de control de barras
Arquitecturas parcialmente paralelas
Los decodificadores parcialmente paralelos implementan menos elementos de procesamiento que el número total de nodos. Las operaciones de nodos se multipliquen con el tiempo: cada elemento de procesamiento maneja múltiples nodos de variable o cheque en múltiples ciclos de reloj. Esto reduce drásticamente el coste del hardware manteniendo un rendimiento razonable. La decisión de diseño clave es el número de elementos de procesamiento (el factor paralelismo) y cómo se programan a través del gráfico Tanner.
Arquitecturas en serie
Los decodificadores seriales utilizan uno o varios elementos de procesamiento, procesando un nodo de comprobación y un nodo variable por ciclo. Los decodificadores de serie tienen el área más pequeña y la potencia más baja (apropiado para IoT), pero la entrada se limita a decenas de Mbps. A menudo se utilizan para las tasas de código cerca de 1/2 en las longitudes de bloques pequeños.
Arquitecturas híbridas y capas
Los diseños modernos a menudo combinan el procesamiento parcial con el esquema escalonado. El decodificador procesa la fila matriz de paridad-verificación por fila (capa por capa) utilizando un banco de procesadores de nodos de cheque y un banco de procesadores de nodos variables. En cada fila, se procesan múltiples nodos de comprobación en paralelo, y las actualizaciones de nodos variables suceden gradualmente.
Tecnologías de la aplicación: FPGA vs. ASIC vs. Estructurado ASIC
La plataforma de destino influye fuertemente en las opciones de diseño. Cada tecnología ofrece distintos beneficios en el costo, la potencia, el rendimiento y el tiempo a mercado.
Aceleradores FPGA
Los rayos de puerta programables de campo (FPGA) son atractivos para la producción de prototipado, de bajo volumen y aplicaciones que requieren decodificadores de campo (por ejemplo, cargas de pago por satélite). Modern Xilinx (ahora AMD) RFSoCs e Intel Agilex FPGAs equivalentes contienen decenas de miles de LUTs y bloques DSP, así como la flexibilidad de transceptores de alta velocidad.
Aceleradores ASIC
Los circuitos integrados (ASIC) de aplicación son los últimos en rendimiento y eficiencia energética. Pueden ser completamente personalizados para el código exacto y el algoritmo, sin sobrecarga para reprogramabilidad. Un ASIC de decodificador de 5G LDPC en un proceso de 7nm puede lograr 20 Gbps mientras consume menos de 1 pJ/bit, lo que lo hace adecuado para procesadores de banda base en teléfonos y estaciones de base.
Estructurado ASIC y eFPGA
Entre FPGAs y ASICs se encuentran ASICs estructurados (AsICs de plataforma) y FPGAs incrustados (eFPGAs). Estos ofrecen un tejido lógico predefinido con enrutamiento configurable, permitiendo cierta programabilidad en menor NRE y potencia que un FPGA. Para los decodificadores de LDPC, un bloque de eFPGA se puede utilizar para las partes flexibles (por ejemplo, redes de permutación de computación para levantar códigos)
Técnicas de optimización de diseño
Las técnicas avanzadas de optimización son esenciales para satisfacer las exigentes especificaciones de 6G y más allá.
Pipelining y Retiming
El tratamiento de la tubería divide el bucle iterativo del decodificador en múltiples etapas (por ejemplo, memoria de lectura, nodos de comprobación de cálculo, reimprobar, nodos variables de cálculo). Cada etapa se ejecuta en la misma frecuencia de reloj, aumentando la rendimiento superando operaciones de diferentes iteraciones. La estimulación puede ser necesaria para equilibrar los retrasos y cumplir el cierre de tiempo.
Partición de memoria y doble puerto
Para apoyar el acceso paralelo de múltiples unidades de procesamiento, la memoria de nodo variable se divide en varios bancos. La estructura de la matriz de verificación de paridad determina a qué bancos se accede simultáneamente. Algunos diseños utilizan SRAMs de doble puerto para permitir la lectura y escritura del mismo banco en el mismo ciclo de reloj. Otra técnica es almacenar LLRs de una manera interleavelada que minimiza los conflictos bancarios a través de capas.
Optimización de cuantificación y Word-Length
Aritmética de punto fijo con la cuantificación adecuada es esencial para la eficiencia del hardware. Las anchos de bits típicos van de 4 a 8 bits por LLR. Las simulaciones extensivas deben verificar que el ruido de cuarticación no causa la pérdida de rendimiento. Usar saturación y redondeo puede reducir el ancho de bit más. Algunas arquitecturas emplean precisión variable: alta precisión para las iteraciones tempranas, baja precisión posterior.
Indemnización por escala y descomposición
Para decodificadores basados en min-sum, los factores de escalado o los valores de compensación se pueden aplicar para comprobar los productos de nodo. Estos factores pueden fijarse para todas las iteraciones (impresionantes) o adaptados por iteración (mejor rendimiento). Los esquemas adaptables requieren una lógica de control adicional pero pueden producir ganancias de 0.1-0.2 dB en ganancia de codificación.
Terminación temprana usando el control de síndrome
La terminación temprana más simple compara el vector del síndrome computado con cero. Si todos los trozos del síndrome son cero después de una iteración, decodificación detiene. Esto requiere un árbol de reducción (por ejemplo, OR-tree) para combinar todos los productos de nodo de verificación. Decodificadores de energía puede apagar el árbol hasta la etapa final de una iteración para evitar el toggling innecesario.
Estudio de caso: 5G NR LDPC Decoder Accelerator
Un típico sistema de decodificación de 5G NR ilustra los cambios. El estándar 5G define dos gráficos básicos: BG1 (longitudes de bloqueo de hasta 26.112 bits) y BG2 (hasta 84.000 bits pero mayor ganancia de codificación).El decodificador debe soportar todos los tamaños de elevación Z de 2 a 384.
Future Directions
Los dispositivos de comunicación de próxima generación ya están empujando el diseño de decodificador LDPC hacia nuevos horizontes. Tres tendencias importantes destacan.
Decodificación mejorada para el aprendizaje de la máquina
Se están explorando enfoques basados en el aprendizaje profundo para reemplazar algoritmos fijos. Los decodificadores neuronales pueden aprender a corregir los deterioros de canales específicos (por ejemplo, desvanecimiento, interferencia) sin modelos explícitos. Sin embargo, la implementación de hardware de decodificadores neuronales sigue siendo difícil debido a las activaciones de hardware no lineales y la carga computacional alta. Una dirección híbrida prometedora es utilizar una pequeña red neuronal de terminación para ajustar dinámicamente los factores de multiplicación o de escalar o temprano.
Códigos de la LDPC no bilinario
Los códigos LDPC no binarios funcionan sobre campos de órdenes Galois mayores de 2 (por ejemplo, GF(64)). Ofrecen una corrección de error superior para longitudes de bloques cortos pero a costa de un procesamiento de nodos de verificación mucho más complejo (requiere transformaciones Fourier o tablas de búsqueda masivas).
Aceleradores reconfigurables y autoaprendizaje
Los dispositivos futuros pueden necesitar soporte para múltiples estándares (5G, Wi-Fi 7, satélite, Li-Fi) simultáneamente o en rápida sucesión. Esto requiere aceleradores reconfigurables que pueden cambiar dinámicamente entre diferentes gráficos base, tamaños elevados y algoritmos (por ejemplo, desde la suma a la suma) con configuración mínima de arriba. Los arrays reconfigurables de serie ASGA (CGRA) están surgiendo como una solución de flexibilidad, proporcionando una configuración mínima.
Integración con Decodificación de Canales y Demodulación
El siguiente paso es combinar estrechamente la decodificación de LDPC con la demodulación (demapper de la decisión suave) y otros bloques de códigos de canal. La decodificación conjunta puede mejorar el rendimiento intercambiando información suave con más frecuencia. Aceleradores de hardware que combinan demapper y decodificador en un solo oleoducto reducirán la latencia y la energía.
Conclusión
Los aceleradores de hardware para la decodificación de LDPC son una tecnología crítica para lograr la alta rentabilidad, baja latencia y eficiencia energética exigidas por dispositivos de comunicación de próxima generación. Los diseñadores deben equilibrar cuidadosamente el paralelismo, la arquitectura de memoria, la flexibilidad y la cuantificación para satisfacer los diversos requisitos de 5G y más allá.
Recursos externos
- 5G NR LDPC Code Especificaciones: 3GPP TS 38.212, V17.0.0, "Multiplexing and channel coding", Diciembre 2021. Disponible en 3GPP].
- Early LDPC Decoder Architectures: M. Fossorier, "Quasi-Cyclic Low-Density Parity-Check Codes from Circulant Permutation Matrices", IEEE Trans. Inf. Theory, vol. 50, no. 8, 2004. Disponible en [IEFLT]
- ]Hardware Implementation of Min-Sum Decoders: 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. Disponible en [IEFLT]
- Decodificación de capas para 5G: S. M. Kim et al., "Un decodificador de 20 Gb/s LDPC de capa para 5G NR en 10nm FinFET", IEEE Solid-State Circuits Letters, vol. 4, 2021. Disponible en IEEE Xplore[F][F.
- ]Decodificadores LDPC no-binos: 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. Disponible en