Table of Contents
Low-Density Parity-Check (LDPC) codes zijn een klasse van lineaire foutcorrectie codes die een hoeksteen van moderne digitale communicatie zijn geworden. Hun bijna-Shannon-limit prestaties en inherent parallellisme maken ze ideaal voor high-throughput toepassingen zoals 5G NR, Wi-Fi 6 (802.11ax), satellietcommunicatie, en toekomstige 6G systemen. Echter, de iteratieve decodering algoritmen vereist voor LDPC codes meest voorkomende geloofsuitzetting (s-product) of zijn gereduceerde complexiteit min-sum varianten . . vereisen aanzienlijke computationele doorvoer- en geheugenband. Software gebaseerde decoders die draaien op algemene processors of digitale signaalprocessors (DSPs) vaak niet kunnen voldoen aan de strenge laatheid, macht, en gebied beperkingen van de volgende generatie communicatie-apparaten. Dit artikel onderzoekt de essentiële rol van hardware versnellers voor LDPC decodering, de architectonische trade-offs betrokken, en het evoluerende ontwerp landschap voor volgende generatie apparatuur.
LDPC-decoderingsalgoritmen begrijpen
Voordat je in hardware ontwerp gaat duiken, is het cruciaal om de wiskundige ruggengraat van LDPC decoderen te begrijpen. Het decoderen proces werkt meestal op een Tanner grafiek bestaande uit variabele knooppunten (die codewoord bits vertegenwoordigen) en controleer knooppunten (die pariteit vergelijkingen vertegenwoordigen). Berichten worden iteratief tussen deze knooppunten doorgegeven, updaten betrouwbaarheidsschattingen (log-likelihood ratios of LLR's) totdat een geldig codewoord is gevonden of een maximale iteratie telling is bereikt.
Algoritme van geloofsvoortplanting (Sum-product)
Het sum-product algoritme is de optimale iteratieve decoder aannemend geen cycli in de Tanner grafiek. Het berekent exacte posterior waarschijnlijkheden door het uitwisselen van extrinsieke informatie. Voor elke iteratie, variabele knooppunten sturen LLR's naar aangesloten controleknooppunten, die worden bijgewerkt met behulp van een hyperbolische tangens regel (de "tanh" regel). Terwijl optimaal, de hyperbolische tangens en de hyperbolische arctgent vereisen hoge bit-breedte vermenigvuldigingen en look-up tabellen, toenemende hardware complexiteit.
Min-Sum (en geschaald min-Sum) algoritme
Om hardware overhead te verminderen, vervangt het min-sum algoritme de tanh operaties door eenvoudigere minimale-vinding operaties. Deze vereenvoudiging introduceert overschatting van LLR's, degraderende decoderingsprestaties. Praktische implementaties gebruiken schaalfactoren of compensatiecorrecties (bijv. genormaliseerde min-sum, offset min-sum) om te compenseren. De min-sum familie is veruit de meest voorkomende in hardware versnellers vanwege de lage complexiteit en gemakkelijke pipelining.
Gelaagde decodering
Delayered decodering reorganiseert de grafiek in lagen (gebaseerd op de pariteit-check matrix). Binnen elke laag worden variabele knooppunten sequentiëler bijgewerkt, waardoor snellere convergentie (gewoonlijk de helft van de iteraties) mogelijk is. Vanuit een hardware perspectief, vermindert gelaagde decodering de benodigde geheugenbandbreedte en zorgt voor een kleiner decodergebied omdat het variabele-node geheugen op zijn plaats kan worden bijgewerkt. De meeste moderne 5G LDPC-decoders gebruiken gelaagde architecturen.
Waarom hardwareversnellers essentieel zijn
De overgang van software naar hardwareversnelling wordt aangedreven door verschillende fundamentele beperkingen. Ten eerste, doorvoer: 5G piek datasnelheden overschrijden 20 Gbps, waarvoor decoders om miljarden bits per seconde te verwerken door middel van honderden iteraties. Een software-decoder op een high-end CPU kan slechts een paar honderd Mbps met een hoog energieverbruik bereiken. Ten tweede, energie-efficiëntie: batterij-aangedreven IoT-apparaten werken in het sub-milliwatt bereik; een speciale versneller kan bereiken orden-van-magnitude betere energie per gedecodeerde bit versus een algemene kern. Derde, deterministische latentie: real-time toepassingen zoals voertuig-tot-alles (V2X) of industriële controle vereisen begrensde decodering vertraging, die alleen hardware kan garanderen. Ten slotte, silicium gebied: een hardwired versneller beslaat een fractie van het gebied in vergelijking met meerdere CPU cores die complexe instructies uitvoeren.
Ontwerpoverwegingen voor apparaten voor de volgende generatie
Het ontwerpen van een hoog presterende LDPC-decoder versneller vereist het balanceren van vele onderling afhankelijke parameters.
Doorvoer en capaciteit
Doeldoorvoer dicteert direct parallelisme, klokfrequentie en iteratie tellen. Bijvoorbeeld, een decoder gericht op 10 Gbps met een bloklengte van 10.000 bits en 10 iteraties moet elke iteratie in 10 μs verwerken. Dat legt strakke grenzen op het kritieke pad. High-end ontwerpen vaak gebruik maken van volledig uitgerolde datapaden met meerdere iteraties in een enkele klokcyclus. Latency . de tijd van het ontvangen van het laatste stukje van een codewoord om de gedecodeerde bits . . moet ook worden geminimaliseerd, vaak door middel van vroege beëindigingscriteria (bijv., stoppen wanneer alle pariteitscontroles zijn voldaan).
Energie-efficiëntie
De stroom wordt gedomineerd door geheugentoegangen (zowel op de chip SRAM voor variabele en controleer node berichten) en computerlogica. Technieken om energie te verminderen omvatten: het minimaliseren van geheugen bit-breedte (met behulp van quantisatie en verzadiging), het verminderen van schakelactiviteit via data-gating, het gebruik van klokgating voor stationaire eenheden, en het gebruik van sub-drempel circuits voor lage snelheid werking. Voor mobiele en IoT, de decoder moet meerdere werkende modi te ondersteunen om energie te schalen met doorvoer eisen.
Schaalbaarheid en flexibiliteit
5G NR definieert meerdere code bloklengten (tot 26.112 bits voor LDPC basis grafiek 2) en vele codesnelheden (van 1/5 tot 8/9). Een hardware accelerator moet herfigureerbaar zijn om alle basisgrafieken en hijsmaten te ondersteunen zonder massieve hardware overhead. Dit wordt meestal bereikt door het ontwerpen van een modulaire reeks van verwerkingseenheden die kunnen worden aangesloten op verschillende geheugenbanken en die programmeerbare offset/schalingfactoren en hefpatronen ondersteunen.
Geheugenarchitectuur
Geheugen is vaak het bottleneck. De twee hoofdgeheugencategorieën zijn variable-node geheugen (LLR opslag) en check-node geheugen (tussenliggende berichtenopslag). Voor gelaagde decoderen leest de decoder een laag check-node berichten, updates variabele nodes, en schrijft terug. Efficiënte geheugen partitionering (bijv. meerdere banken om te voorkomen dat argumenteren) en dual-port RAMs zijn gebruikelijk. Sommige architecturen gebruiken register bestanden voor kleine basis grafieken om de stroom te verminderen.
Vroegtijdige beëindiging en convergentie
Om onnodige iteraties te voorkomen, implementeren hardware-versnellers vroegtijdige beëindiging. De eenvoudigste methode controleert of alle pariteit-check vergelijkingen zijn voldaan na elke iteratie. Meer geavanceerde technieken controleren het teken veranderingen van LLR's of een bij benadering syndroom berekenen. Vroege beëindiging kan de gemiddelde iteraties met 30-50% verminderen, direct verbeteren zowel doorvoer als energie.
Hardware Architectures voor LDPC Decoders
De keuze van architectuur is een afweging tussen doorvoer, oppervlakte, vermogen en flexibiliteit. De belangrijkste categorieën zijn volledig parallel, gedeeltelijk parallel, serieel en hybride.
Volledige parallelle architectuur
In een volledig parallelle decoder wordt elke variabele knooppunt en controleknop als speciale hardware (bijvoorbeeld één controleknop per rij van de pariteitscontrolematrix) ingesteld. Alle knooppunten worden tegelijkertijd berekend, wat leidt tot de hoogst mogelijke doorvoer. Deze architectuur is ideaal voor korte bloklengtes (bv. 400 bits) en snelle toepassingen. Echter, voor 5G bloklengten van meer dan 10.000 bits wordt het aantal bewerkingseenheden onbetaalbaar groot (bv. tot 26.000 variabele knooppunten en 13.000 controleknooppunten voor basisgrafiek 1). Interconnect wordt ook een grote uitdaging omdat de Tanner-grafiek onregelmatig is; het routeren van de berichten tussen nodegroepen vereist vaak complexe crossbarschakelaars die een significante oppervlakte en kracht verbruiken.
Gedeeltelijk parallelle architectuur
Gedeeltelijk parallelle decoders implementeren minder verwerkingselementen dan het totale aantal knooppunten. De nodebewerkingen zijn tijdvermenigvuldigd: elk proceselement behandelt meerdere variabele of controleknooppunten over meerdere klokcycli. Dit vermindert de hardwarekosten met behoud van redelijke doorvoer. De belangrijkste ontwerpbeslissing is het aantal proceselementen (de parallellismefactor) en hoe ze worden gepland over de Tanner grafiek. De meeste commerciële 5G LDPC decoders gebruiken gedeeltelijk parallelle architecturen met een parallellisme factor tussen 8 en 64. Zulke ontwerpen kunnen verschillende Gbps bereiken op een bescheiden gebied.
Seriearchitectuur
Volledig serieel decoders gebruiken een of enkele verwerkingselementen, het verwerken van een controleknop en een variabele knooppunt per cyclus. Serieel decoders hebben het kleinste gebied en de laagste macht (geschikt voor IoT), maar doorvoer is beperkt tot tientallen Mbps. Ze worden vaak gebruikt voor code rates in de buurt 1/2 op kleine bloklengtes.
Hybride en gelaagde architectuur
Moderne ontwerpen combineren vaak gedeeltelijk parallelle verwerking met gelaagde planning. De decoder verwerkt de pariteit-check matrix rij per rij (laag voor laag) met behulp van een bank van controle node processors en een bank van variabele node processors. Binnen elke rij, meerdere controle knooppunten worden verwerkt in parallel, en variabele node updates gebeuren stapsgewijs. De gelaagde aanpak vermindert de vereiste geheugen bandbreedte met de helft en convergeert sneller, waardoor het de facto keuze voor 5G NR LDPC decoders. Veel gepubliceerde werken gebruiken een "row-serie, kolom-parallel" patroon, waarbij kolommen binnen een rij delen variabele node geheugen.
Implementatietechnologieën: FPGA vs. ASIC vs. gestructureerde ASIC
Het doelplatform beïnvloedt designkeuzes sterk. Elke technologie biedt verschillende afwegingen in kosten, macht, prestaties en time-to-market.
FPGA-versnellers
Veld-programmeerbare Gate Arrays (FPGA's) zijn aantrekkelijk voor prototyping, productie met een laag volume, en toepassingen die veld-opwaardeerbare decoders (bv. satellietpayloads) vereisen. Moderne Xilinx (nu AMD) RFSoCs en Intel Agilex FPGA's bevatten tienduizenden LUT's en DSP-blokken, evenals hoge snelheidstransceivers. LDPC decoders op FPGA kunnen tot 10 Gbps bereiken voor matige bloklengten. Het belangrijkste voordeel is flexibiliteit: ontwerpers kunnen de pariteit-check matrix of algoritme in het veld wijzigen. De belangrijkste nadelen zijn hoger energieverbruik per gedecodeerde bit en groter gebied in vergelijking met een equivalent ASIC.
ASIC-versnellers
Application-Specific Integrated Circuits (ASIC's) zijn de ultieme prestaties en energie-efficiëntie. Ze kunnen volledig worden aangepast voor de exacte code en algoritme, zonder overhead voor herprogrammeren. Een 5G LDPC decoder ASIC in een 7nm proces kan bereiken 20 Gbps terwijl het verbruik minder dan 1 pJ/bit, waardoor het geschikt is voor basisband processors in telefoons en basisstations. De nadelen zijn hoge niet-recurring engineering (NRE) kosten en lange ontwerpcycli, waardoor ze alleen levensvatbaar voor producten met een hoog volume. Daarnaast, ASIC's zijn vast aan een specifieke set van codes en normen; toekomstige veranderingen vereisen een nieuwe chip.
Gestructureerde ASIC en eFPGA
Tussen FPGA's en ASIC's liggen gestructureerde ASIC's (platform ASIC's) en ingebedde FPGA's (eFPGA's). Deze bieden een vooraf gedefinieerde logische stof met configureerbare routing, waardoor enige programmeerbaarheid op lagere NRE en stroom dan een FPGA. Voor LDPC-decoders kan een eFPGA-blok worden gebruikt voor de flexibele onderdelen (bijv. permutatienetwerken voor codeliften) terwijl de compute-intensieve rekenkundige eenheden hard bedraad zijn. Deze hybride benadering wint tractie in 5G baseband SoC's die toekomstige standaarden moeten ondersteunen.
Ontwerpoptimalisatietechnieken
Geavanceerde optimalisatietechnieken zijn van cruciaal belang om te voldoen aan de veeleisende specificaties van 6G en meer.
Pipelineren en retimeren
Pipelineren verdeelt de iteratieve lus van de decoder in meerdere fasen (bijv., lees geheugen, reken controleknooppunten, schrijf terug, reken variabele knooppunten). Elke fase draait op dezelfde klokfrequentie, toenemende doorvoer door overlappende bewerkingen van verschillende iteraties. Retiming kan nodig zijn om vertragingen in evenwicht te brengen en tijdsluiting te ontmoeten. Voor gelaagde decoders is pipelining complexer omdat variabele node-updates binnen een laag afhankelijk zijn van controle node-uitgangen van dezelfde laag; zorgvuldige planning kan pijplijnbellen voorkomen.
Geheugenpartitie en Dual-Port
Om parallelle toegang door meerdere verwerkingseenheden te ondersteunen, wordt het variabele knooppuntgeheugen in verschillende banken verdeeld. De structuur van de pariteitscontrolematrix bepaalt welke banken tegelijkertijd worden benaderd. Sommige ontwerpen gebruiken dual-poort SRAM's om dezelfde bank in dezelfde klokcyclus te kunnen lezen en schrijven. Een andere techniek is om LLR's op een gesinterde manier op te slaan die bankconflicten tussen lagen minimaliseert.
Kwantisering en woord-lengthoptimalisatie
Vaste-punt rekenkundig met juiste quantisatie is essentieel voor hardware-efficiëntie. Typische bit-breedtes variëren van 4 tot 8 bits per LLR. Uitgebreide simulaties moeten controleren dat quantisatie lawaai niet leidt tot verlies van prestaties. Met behulp van verzadiging en afronding kan de bit-breedte verder verminderen. Sommige architecturen gebruiken variabele precisie: hoge precisie voor vroege iteraties, lage precisie later.
Schadevergoeding voor het schalen en lossen
Voor min-som gebaseerde decoders kunnen schaalfactoren of offsetwaarden worden toegepast om de output van de knooppunten te controleren. Deze factoren kunnen worden vastgesteld voor alle iteraties (eenvoudiger) of aangepaste periteratie (betere prestaties). Adaptieve schema's vereisen extra controle logica maar kunnen een toename van 0,1-0,2 dB opleveren in de coderingswinst.
Vroegtijdige beëindiging met behulp van syndroomcontrole
De eenvoudigste vroege beëindiging vergelijkt de berekend syndroom vector naar nul. Als alle bits van het syndroom nul na een iteratie zijn, decoderen stopt. Dit vereist een reductie boom (bijv., OR-boom) om alle controle node uitgangen te combineren. Power-aware decoders kunnen de boom uit te schakelen tot de laatste fase van een iteratie om onnodig aan het schudden te voorkomen.
Case Study: 5G NR LDPC Decoder Accelerator
Een typische 5G NR LDPC decoder implementatie illustreert de trade-offs. De 5G standaard definieert twee basis grafieken: BG1 (doelgroep lengtes tot 26,112 bits) en BG2 (tot 84.000 bits maar hogere coderingswinst). De decoder moet alle hefmaten Z ondersteunen van 2 tot 384. Een state-of-the-art ASIC ontwerp kan gebruik maken van een gelaagde gedeeltelijk parallelle architectuur met 32 check node processors. Variabele node geheugen wordt verdeeld in 384 banken (één per hefgrootte) van dual-port SRAM. Controleer node berichten worden opgeslagen in registerbestanden. De decoder draait op 800 MHz en bereikt 20 Gbps met 10 iteraties gemiddelde. Stroomverbruik bij 0,8V is ongeveer 150 mW. Het resulterende silicium gebied is ~2,5 mm2 in een 10nm proces. Belangrijkste optimalisaties omvatten vooraf permutatie patronen voor elke hijsgrootte (bezet in kleine ROM), dynamische schaalverdeling gebaseerd op iteratie, en wereldwijde klokvorming.
Toekomstige aanwijzingen
De communicatieapparatuur van de volgende generatie duwt LDPC decoder al naar nieuwe horizonten. Drie belangrijke trends vallen op.
Machine Learning-Enhanced Decoding
Deep-learning-gebaseerde benaderingen worden onderzocht om vaste algoritmen te vervangen. Neurale decoders kunnen leren om specifieke kanaalstoornissen te corrigeren (bijv., vervagen, interferentie) zonder expliciete modellen. Echter, hardware implementatie van neurale decoders blijft uitdagend vanwege niet-lineaire activeringen en hoge rekenbelasting. Een veelbelovende hybride richting is om een klein neuraal netwerk te gebruiken om dynamisch aan te passen schaalfactoren of vroege beëindiging drempels, die kunnen worden gerealiseerd met minimale hardware-overhead (een paar vermenigvuldig-accumulerende eenheden).
Niet-Binaire LDPC-codes
Niet-binaire LDPC codes werken over Galois velden van orde groter dan 2 (bijv., GF(64)). Ze bieden superieure foutcorrectie voor korte blok lengtes maar ten koste van veel meer complexe controle node verwerking (vereist Fourier transforms of enorme look-up tabellen). Recente ASIC prototypes tonen aan dat niet-binaire decoders kunnen praktisch zijn voor lage-latentie, korte-packet toepassingen zoals ultra-betrouwbare lage-latentie communicatie (URLLC) in 6G.
Veranderbare en zelf-adaptieve acceleratoren
Toekomstige apparaten kunnen meerdere standaarden (5G, Wi-Fi 7, satelliet, Li-Fi) tegelijk of in snelle opeenvolging ondersteunen. Dit vraagt om herconfigureerbare versnellers die dynamisch kunnen schakelen tussen verschillende basisgrafieken, hefgroottes en algoritmen (bijv. van min-som naar sum-product) met minimale configuratie overhead. Coarse-korrelige herconfigureerbare arrays (CGRA) komen op als een oplossing, wat een middengrond tussen ASIC en FPGA flexibiliteit biedt.
Integratie met kanaaldecodering en demodulatie
De volgende stap is om strak koppel LDPC decoderen met demodulatie (soft-decision depper) en andere kanaalcodec blokken. Gezamenlijke demodulatie-decodering kan de prestaties verbeteren door het uitwisselen van zachte informatie vaker. Hardware versnellers die demapper en decoder combineren in een enkele pijplijn zal latency en energie verminderen.
Conclusie
Hardware-versnellers voor LDPC-decodering zijn een kritische technologie voor het bereiken van de hoge doorvoer, lage latentie en energie-efficiëntie die vereist wordt door communicatie-apparaten van de volgende generatie. Ontwerpers moeten zorgvuldig evenwicht te brengen parallelisme, geheugenarchitectuur, flexibiliteit en quantization om te voldoen aan de uiteenlopende eisen van 5G en meer. Terwijl volledig parallelle architecturen bieden maximale snelheid voor korte codes, gedeeltelijk parallel gelaagde decoders zijn uitgegroeid tot de standaard voor grote blok-lengte 5G NR. Het implementatieplatform . Of FPGA, ASIC, of gestructureerde ASIC . moeten worden gekozen op basis van volume, macht en upgradebaarheid behoeften. Kijken vooruit, machine leren, niet-binaire codes, herconfigureerbare architecturen, en strakkere integratie met demodulatie belofte om de prestaties nog verder te duwen. De bedrijven die deze uitdagingen van het ontwerp beheersen zullen leiden de volgende golf van high-speed, betrouwbare draadloze communicatie.
Externe middelen
- 5G NR LDPC Code Specificaties: 3GPP TS 38.212, V17.0.0, "Multiplexing and channel codeing," december 2021. Beschikbaar op 3GPP[.
- Vroeger 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. Beschikbaar op IEEE Xplore.
- Hardware Implementatie van 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. Beschikbaar op IEEE Xplore.
- Gelaagde decodering voor 5G: S.M. Kim et al., "A 20-Gb/s LDPC Decoder voor 5G NR in 10nm FinFET," IEEE Solid-State Circuits Letters, vol. 4, 2021. Beschikbaar op IEEE Xplore .
- Niet-Binaire LDPC-decoders: 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. Beschikbaar bij IEEE Xplore.