I codici di analisi di bassa densità (LDPC) sono una classe di codici lineari di correzione degli errori che sono diventati un punto di riferimento della comunicazione digitale moderna. Le loro prestazioni quasi-Shannon-limit e parallelismo intrinseco li rendono ideali per applicazioni ad alta produttività come 5G NR, Wi-Fi 6 (802.11ax), comunicazioni satellitari e sistemi futuri 6G.

Comprendere gli algoritmi di decodifica LDPC

Prima di immergersi nella progettazione hardware, è fondamentale capire la colonna vertebrale matematica della decodifica LDPC. Il processo di decodifica funziona tipicamente su un grafico Tanner costituito da nodi variabili (rappresentando bit codeword) e nodi di controllo (rappresentando equazioni di parità). I messaggi vengono passati iterativamente tra questi nodi, aggiornando le stime di affidabilità (relativi di probabilità o LLR) fino a quando si trova una parola di codice valida.

Propagazione della travi (Sum-Product) Algoritmo

L'algoritmo di somma-prodotto è il decoder iterativo ottimale che non assume cicli nel grafico Tanner. Comuta le probabilità posteriori esatte scambiando informazioni extrinsic. Per ogni iterazione, i nodi variabili inviano LLR ai nodi di controllo collegati, che aggiornano utilizzando una regola tangente iperbolica (la regola "tanh"), mentre ottimale, il tangente iperbolico e la sua complessità arcuting-

Min-Sum (e Min-Sum scalato) Algoritmo

Per ridurre la sovraccarica dell'hardware, l'algoritmo di min-sum sostituisce le operazioni di tanh con operazioni di minimizzazione più semplici. Questa semplificazione introduce sovrastimazioni di LLR, degradanti prestazioni di decodifica.

Decodifica a strati

La decodifica a strati riorganizza il grafico in strati (basata sulla matrice di controllo di parità). All'interno di ogni strato, i nodi variabili vengono aggiornati sequenzialimente, consentendo una convergenza più rapida (tipicamente la metà delle iterazioni). Da una prospettiva hardware, la decodifica a strati riduce la larghezza di banda di memoria richiesta e consente una più piccola area di decoder perché la memoria a nodo variabile può essere aggiornata in-place.

Perché gli acceleratori hardware sono essenziali

Prima, attraversoput: 5G picchi di dati superano 20 Gbps, che richiedono decodificatori per elaborare miliardi di bit al secondo attraverso centinaia di iterations. Un decoder software su una CPU di fascia alta può raggiungere solo poche centinaia di Mbps con alto consumo di energia.

Considerazioni di progettazione per dispositivi di generazione successiva

La progettazione di un acceleratore decoder LDPC ad alte prestazioni comporta il bilanciamento di molti parametri interdipendenti, le seguenti considerazioni sono particolarmente critiche per 5G e oltre.

Potenza e Latency

Il throughput di destinazione detta direttamente il parallelismo, la frequenza di clock e il conteggio di iterazione. Ad esempio, un decoder che mira a 10 Gbps con una lunghezza di blocco di 10.000 bit e 10 iterations deve elaborare ogni iterazione in 10 μs. Ciò impone i limiti stretti sul percorso critico.

Efficienza energetica

L'energia è dominata dagli accessi alla memoria (sia su chip SRAM per messaggi variabili e nodi di controllo) che dalla logica computazionale. Le tecniche per ridurre l'energia includono: ridurre la memoria bit-width (utilizzando la quantizzazione e la saturazione), ridurre l'attività di commutazione tramite data gating, impiegando orologio per unità di inattività, e utilizzando circuiti sub-threshold per il funzionamento a bassa velocità.

Scalabilità e flessibilità

5G NR definisce lunghezze multiple di blocchi di codice (fino a 26.112 bit per il grafico di base LDPC 2) e molte velocità di codice (da 1/5 a 8/9). Un acceleratore hardware deve essere riconfigurabile per supportare tutti i grafici di base e le dimensioni di sollevamento senza sovrastante hardware massiccio.

Architettura della memoria

La memoria è spesso il collo della bottiglia. Le due categorie principali della memoria sono memoria a nodo variabile (lo storage diLLR) e la memoria del nodo di controllo (lo storage dei messaggi intermedi). Per la decodifica a strati, il decoder legge i messaggi di un livello di check-node, aggiorna i nodi variabili e riscrive.

Terminizzazione precoce e convergenza

Per evitare inutili iterazioni, gli acceleratori hardware implementano la risoluzione precoce. Il metodo più semplice controlla se tutte le equazioni di parità-controllo sono soddisfatte dopo ogni iterazione. Le tecniche più avanzate monitorano i cambiamenti dei segni di LLR o calcolano una sindrome approssimativa. La risoluzione precoce può ridurre le iterazioni medie del 30-50%, migliorando direttamente sia il throughput che l'energia.

Architetture hardware per decoder LDPC

La scelta dell'architettura è un trade-off tra throughput, area, potenza e flessibilità. Le principali categorie sono completamente parallele, parzialmente parallele, seriali e ibridi.

Architetture parallele

In un decoder completamente parallelo, ogni nodo variabile e nodo di controllo è istantaneo come hardware dedicato (ad esempio, un nodo di controllo per fila della matrice di controllo parity-check). Tutti i nodi calcolano simultaneamente, portando al massimo possibile throughputconnect. Questa architettura è ideale per brevi lunghezze di blocco (ad esempio, 400 bit) e applicazioni ad alta velocità. Tuttavia, per 5G blocchi di lunghezza che superano 10.000 bit, il numero di grafo

Architetture parallele parziali

I decoder paralleli implementano in modo parziale meno elementi di elaborazione rispetto al numero totale di nodi. Le operazioni del nodo sono multiplo: ogni elemento di elaborazione gestisce più variabili o nodi di controllo su più cicli di clock. Questo riduce drasticamente i costi hardware mantenendo un ragionevole throughput. La decisione chiave di progettazione è il numero di elementi di elaborazione (il fattore parallelismo) e come sono programmati attraverso il grafico Tanner.

Architettura seriale

I decodificatori seriali utilizzano uno o pochi elementi di elaborazione, elaborando un nodo di controllo e un nodo variabile per ciclo. I decoder seriali hanno la più piccola area e la potenza più bassa (adatta per IoT), ma il throughput è limitato a decine di Mbps. Spesso sono utilizzati per i tassi di codice vicino 1/2 su piccole lunghezze di blocco.

Architettura ibrida e stratificato

I disegni moderni spesso combinano l'elaborazione parzialmente parallela con la programmazione a strati. Il decoder elabora la riga di matrice di controllo parity-check per riga (strato per strato) utilizzando una banca di processori di nodo di controllo e una banca di processori di nodo variabili.

Tecnologie di attuazione: FPGA vs. ASIC vs. Strutturato ASIC

La piattaforma di destinazione influenza fortemente le scelte di progettazione. Ogni tecnologia offre distinti trade-off di costo, potenza, prestazioni e time-to-market.

Acceleratori FPGA

I progettisti di portata più grande di campo (FPGAs) sono attraenti per la prototipazione, la produzione a basso volume e le applicazioni che richiedono decodificatori di campo-upgradable (ad esempio, carichi satellitari).

Acceleratori ASIC

I circuiti integrati (ASIC) sono il massimo delle prestazioni e dell'efficienza energetica. Possono essere completamente personalizzati per gli standard esatti del codice e dell'algoritmo, senza sovraccarico per la riprogrammabilità. Un decoder 5G LDPC ASIC in un processo di 7nm può raggiungere 20 Gbps mentre consuma meno di 1 pJ/bit, rendendolo adatto per i processori di base in telefoni e stazioni di base.

Strutturato ASIC ed eFPGA

Tra le FPGA e le ASIC si trovano ASIC strutturati (ASIC di piattaforma) e FPGA incorporato (eFPGAs), che offrono un tessuto logica predefinito con routing configurabile, permettendo una certa programmabilità a NRE inferiore e potenza rispetto a un FPGA. Per i decodificatori LDPC, un blocco eFPGA può essere utilizzato per le parti flessibili (ad esempio, reti di permutazione per il sollevamento di codice).

Tecniche di ottimizzazione della progettazione

Le tecniche di ottimizzazione avanzate sono fondamentali per soddisfare le specifiche esigenti di 6G e oltre.

Pipelining e ridimensionamento

Il pipelining divide il loop iterativo del decoder in più fasi (ad esempio, la memoria di lettura, i nodi di controllo di calcolo, la scrittura, i nodi variabili di calcolo). Ogni fase gira alla stessa frequenza di clock, aumentando il throughput sovrapponendo le operazioni da diverse iterazioni.

Partizione della memoria e Dual-Port

Per supportare l'accesso parallelo da più unità di elaborazione, la memoria variabile del nodo viene suddivisa in diverse banche. La struttura della matrice di controllo di parità determina quali banche sono accessibili simultaneamente. Alcuni progetti utilizzano SRAM a doppio porto per consentire la lettura e la scrittura della stessa banca nello stesso ciclo di orologio. Un'altra tecnica è quella di memorizzare le LLR in modo interleaved che minimizza i conflitti bancari tra i livelli.

Quantizzazione e ottimizzazione della dimensione delle parole

Le tipiche bit-width variano da 4 a 8 bit per LLR. Le simulazioni estensive devono verificare che il rumore di quantizzazione non causa perdite di prestazioni. L'utilizzo della saturazione e della arrotondazione può ridurre ulteriormente la larghezza di bit. Alcune architetture impiegano una precisione variabile: alta precisione per le prime iterazioni, bassa precisione in seguito.

Compensazione di scala e di uscita

Per i decoder basati su su su multi, possono essere applicati fattori di scala o valori di offset per controllare le uscite dei nodi. Questi fattori possono essere fissati per tutte le iterazioni (simpler) o adattati per iterazione (migliore prestazione).

Terminazione precoce utilizzando il controllo della sindrome

Se tutte le parti della sindrome sono zero dopo un iterazione, decodifica delle fermate. Questo richiede un albero di riduzione (ad esempio, OR-tree) per combinare tutte le uscite del nodo di controllo. I decodificatori di potere-aware possono spegnere l'albero fino alla fase finale di un iterazione per evitare inutili intoppi.

Case study: 5G NR LDPC Decoder Accelerator

Il processo di sollevamento a 5G NR LDPC rappresenta circa i risultati di un'ottimizzazione di 5G: BG1 (la lunghezza del blocco di fusione fino a 26,112 bit) e BG2 (fino a 84,000 bit ma un aumento di codifica più alto) Il decoder deve supportare tutte le dimensioni di sollevamento Z da 2 a 384.

Le direzioni future

I dispositivi di comunicazione di prossima generazione stanno già spingendo il design decoder LDPC verso nuovi orizzonti.

Decodifica automatica

I decodificatori neurali possono imparare a correggere i difetti specifici dei canali (ad esempio, dissolvenza, interferenza) senza modelli espliciti. Tuttavia, l'implementazione hardware dei decodificatori neurali rimane impegnativa a causa di attivazioni non lineari e di un elevato carico computazionale. Una promettente direzione ibrida è quella di utilizzare una piccola rete neurale per regolare dinamicamente i fattori di scaling o le soglie di terminazione precoce, che possono essere realizzate.

Codici LDPC non-Binary

I codici LDPC non-binary lavorano nei campi di ordine Galois superiori a 2 (ad esempio, GF(64)) e offrono una correzione di errore superiore per lunghezze di blocco brevi ma al costo di elaborazione di nodi di controllo molto più complessi (richiedendo trasformazioni Fourier o enormi tabelle di look-up).

Acceleratori riconfigurabili e autoadesivi

I dispositivi futuri possono essere supportati contemporaneamente con più standard (5G, Wi-Fi 7, satellite, Li-Fi) o in rapida successione. Questo richiede acceleratori riconfigurabili che possono passare dinamicamente tra diversi grafici di base, dimensioni di sollevamento e algoritmi (ad esempio, da un minimo di consumo a un prodotto sommato) con una minima flessibilità di configurazione.

Integrazione con la decodifica e la demodulazione del canale

Il passo successivo è quello di accoppiare strettamente la decodifica LDPC con la demodulazione (demapper di decisione morbida) e altri blocchi di codec del canale. La decodifica congiunta può migliorare le prestazioni scambiando informazioni morbide più frequentemente. Acceleratori hardware che combinano demapper e decoder in un unico condotto ridurranno la latenza e l'energia.

Conclusioni

Gli acceleratori hardware per la decodifica LDPC sono una tecnologia critica per raggiungere l'elevata produttività, la bassa latenza e l'efficienza energetica richiesta da dispositivi di comunicazione di nuova generazione. I progettisti devono bilanciare con attenzione il parallelismo, l'architettura della memoria, la flessibilità e la quantizzazione per soddisfare le diverse esigenze di 5G e oltre.

Risorse esterne