通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

  新兵

注册:2008-6-16
跳转到指定楼层
1#
发表于 2023-2-26 13:57:06 |只看该作者 |倒序浏览
5G LDPC高吞吐多模译码器
A High-Throughput Multi-Mode LDPCDecoder for 5G NR
Sina Pourjabar, Gwan S. Choi
Department of Electrical and ComputerEngineering Texas A&M University, College Station, TX
Email: {pourjabar, gwanchoi}@tamu.edu
摘要  本文介绍了一种专为5G NR标准设计的部分并行低密度校验(LDPC)译码器。该设计使用具有泛洪调度的多块并行架构。译码器可以支持任何码率和码长,最高提升值Zmax=96。为了补偿较小的Z值相关的吞吐率下降,当提升值Z≤48和Z≤24时,设计可以将并行度提高至2和4倍。因此,译码器最多可以处理8个帧,并将吞吐率恢复到最大。本文提出了一种新的变量节点,用于译码较低码码率中存在的扩展校验位。11/12码率时, FPGA实现的译码器可达到2.1Gbps的译码吞吐率。此外,采用28纳米TSMC技术,综合译码器最大时钟频率为526MHz,吞吐率为13.46Gbps。内核占用1.03mm2,功耗为229mW。
关键词     LDPC译码器、5G、多块并行、移位网络、提升值、吞吐率
1         引言
随着5G的引入及其广泛支持的码率和提升值,要求具有合理的尺寸和灵活度的译码器。5G部署了两种类型的前向纠错码[1]。极化码用于译码控制通道,低密度校验(LDPC)码[2]用于译码数据通道。与之前定义的标准(如IEEE802.16e和IEEE802.11ad,每个码率都有自己的校验矩阵)相比,5G中的基图可用于实现不同的码率。5G定义了两个基图(BG),BG1和BG2[3]。BG1是一个46×68矩阵,其中母码是嵌入的4×26子矩阵。BG1中的前22列包括基本校验矩阵的信息部分。提升值Z可以从标准定义的数值集中选择,最小值为Z=2,最大值为Z=384[4]。在编码器端,包含信息部分的前2×Z列总是被打孔,其余数据被传输。BG1中的母码产生11/12的最高码率。矩阵的扩展部分提供了额外的校验位,以提升高信道信噪比(SNR)条件下的译码性能,同时产生更低的码率。BG1的下限码率为1/3。另一方面,BG2是一个42×52矩阵,其中信息部分包含在前十列。BG2的码率可以在1/5和2/3之间变化。本文中的译码策略是在BG1上实现的。由于BG1和BG2之间的相似性,可以采用相同的方法对BG2进行译码。
泛洪和分层译码是LDPC译码器中最常用的调度[5]。在BG1中,由于前4层包含信息,因此始终需要对其进行译码。与其他层相比,前4层具有更多的公共节点,因此它们之间的数据依赖性更加明显。因此,在多块并行架构中,增加块的并行性会使分层译码的实现更具挑战性。发生这种情况是因为管理内存访问时间成为一项艰巨的任务,如果调度不当,可能会导致停顿数量增加。出于这个原因,在这项工作中,泛洪比分层译码更受青睐。
在部分并行架构中,移位网络负责以正确的顺序将变量节点(VN)连接到校验节点(CN)。移位网络在决定译码器的可重构性、并行性、面积和路由延迟方面起着关键作用。虽然为译码器引入灵活性以支持不同的代码长度是可取的,但它也增加了移位网络的面积,并且需要更复杂的控制单元来生成移位信号。在此类设计中,无论Z值如何,每次迭代都需要相同数量的时钟周期。由于吞吐率与提升值直接相关,因此选择较小的Z值将降低译码器的吞吐率。此外,由于2×2开关的数量最初定义为支持Zmax×Zmax输入,因此小于Zmax的Z值将面临相同数量的开关级。与专门定制以支持单个较小Z值的设计相比,这会导致更长的路由网络。5G码长大于之前定义的无线标准,并支持更广泛的码率和码长。因此,我们需要在硬件面积、吞吐率、功耗和译码器的灵活性之间保持合理的平衡。
该文提出一种针对5G校验矩阵的多块并行译码器。对于小于Zmax/2的值,译码器提供两种译码策略。在第一个选项中,与传统译码器类似,未使用的CN和VN被禁用以节省功耗。与Z=Zmax时相比,这也会导致吞吐率降低。在第二个选项中,根据码长,译码器可以提高其并行度,并重用剩余的CN和VN来处理额外的帧并保持最大吞吐率。该设计还引入了更小的变量节点单元,处理低码率时的对角线校验扩展。
本文的其余部分组织如下。第2节解释了基于BG1校验矩阵的译码策略。它还介绍了CN和VN架构。还提出了一个用于译码扩展VN的简化架构。第3节介绍了移位网络架构,支持任何移位值和最高可达Zmax=96的任何Z大小。此外,它解释移位网络如何帮助提高设计并行性,并在选取较小的Z值时补偿低吞吐率。第4节讨论使用Virtex7 FPGA实现的译码器顶层,以及使用28纳米技术后综合的情况。也对比了其他方案。最后,第5节进行了总结。
2         架构2.1      校验节点
                              
图1  早期译码终止的CN结构
  
CN支持多达16个输入,并针对BG1校验矩阵进行了优化。评估图2中的连接图显示,前26列始终参与译码。与IEEE802.16e和IEEE802.11ad相比,5G中的基本校验矩阵尺寸很大。因此,以行为中心的结构中实现一个完全并行的VN,在硬件利用率难免低下。因此,在每个时钟周期,半层即13×Z的VN消息将加载到CN中。此外,译码扩展校验位需要额外的Z个VN消息也要加载到CN中的。
图2 5G校验矩阵基图1的结构      
译码器以多块并行方式实现。在图1中,CN在两个时钟周期内收到来自VN的每层消息。输入存储器保存前一个从CN发送到VN的迭代消息。在从旧数据中减去新数据前,检查硬判决的结果以进行错误检测,如未发现错误,则提前终止译码。如果数据中有错误,且未达到最大迭代次数,译码将继续。16路输入比较器使用树结构算法实现[6]并以串行方式工作。最初,它接收第一个半层数据,用于查找第一个和第二个最小值以及第一个最小值的索引。之后,结果被发送回比较器输入,以包含在后半层比较。每一层最终的最小值存储在最小值寄存器和索引寄存器中。存储所有层的最小值后,CN的第二阶段开始应用偏移和补偿最小和算法的高估。随后,更新的值将定向到VN,如下所示以及CN中的输入存储器。如图1所示,为了避免CN内部停顿,一次处理两个帧。当处理传入帧的最小值时,对传出帧的值进行符号乘法并发到VN。
2.2            变量节点
5G译码器部署了两种类型的VN。图3(a)所示的主VN有两个寄存器。在每次迭代开始时,内在信道信息和来自CN的更新消息加在一起。在溢出的情况下,输出将饱和到预定义值。求和结果存储在输入帧寄存器中。反馈环把每个图层的数据与下层相应的数据相加。一旦所需的层数处理后,累加结果转发到出帧寄存器,将在下一个时钟周期加载到CN中。
  第二种VN如图3(b)所示。低码率时,扩展VN(EVN)用于译码第27到第68列。5G校验矩阵的扩展部分显示,每个EVN只有一个CN连接,因此不需要累加寄存器或反馈回路。这还将为EVN产生一个更直接的控制器单元。EVN的架构可以简化为加法器和深度为42的单个存储单元,用于保存从第27列到68列的消息。因此,内存存在两个不同帧的同时读写。Z个EVN在每个时钟周期处理一列。在FPGA实现中单个EVN使用了16个LUT和6个触发器,而VN使用38个LUT和36个触发器。此VN简化是5G独有的。因为与5G不同,IEEE802.11n和IEEE802.11ad对于每个码率具有不同的基本校验矩阵,因此全面简化了校验VN,因为不可能适用于所有码率。图2所示的5G校验矩阵中的单对角线扩展,有助于创建支持所有码率的统一校验矩阵。这种固有的兼容性也有利于在译码过程中减少初始译码延迟 [7]。译码器可以在收到最短长度的母码后立即开始译码。
图3.(a)用于译码母码的主变量节点架构。(b)用于译码扩展校验位的辅助变量节点。
2.3            移位网络
选择合适的移位网络,可以减少CN和VN之间的路径延迟上。它也可以帮助提高译码器的灵活性。Benes[8],Banyan和QSN[9]都能用于把消息移循环移位。Benes网络具有非阻塞属性,这意味着N个输入可以映射到N个中的任何一个不同的输出。网络由2×2个开关组成,其中每个开关由两个并联的复用器组成。一个N×N Benes网络包含2N×log2(N) -N个复用器,其中2×log2(N) -1的复用器组成阻止属性。这意味着在某些映射中,从输入到最终输出的路径中,某些输入可能需要访问同一开关的输出。然而,在循环移位方案,Banyan网络不会发生阻塞。与Benes网络相比,Banyan网络有由log2(N)级组成的较短的关键路径,并且可以使用N×log2N个复用器实现。QSN网络是另一种类型的移位网络,其中移位网络本身分为左移位、右移位和合并网络。QSN还具有较短的关键路径,与Benes网络相比有log2(N)+1级。一个有Z个输入的N×N Banyan网络,仅当所有输入都得到利用时(Z=N)可以执行循环移位。而N×N QSN在Z≤N和移位值(SV)≤Z时,网络仍然可以执行循环移位。
  如果译码器以一个码长为目标,则由于占用面积更小,与QSN相比复杂性更低,Banyan网络是更好的选择。然而为了支持多种码长和更多可重构性,需要QSN网络。[10]引入了Banyan网络的变体,类似于QSN网络可以支持Z≤N的循环移位。如图4所示,在此网络,设计中增加了原始Banyan网络的副本和一个额外的复用器级。对于一个带Z个输入和移位值SV的N×N开关,原始网络按SV移位输入,而副本网络移位SV+(N-Z)。基本上,每个网络都可以正确移位部分活动输入,在最后一级,复用器在两者之间选择正确的移位结果网络。
图4  N×N Banyan变体网络,移位值(SV)≤活动的输入数(Z)≤N [10]
[9]和[10]中提出的网络结构可以支持任何提升值Z≤N=Zmax,并且具有相似的关键路径。QSN网络比Banyan变体使用更少的复用器。但是,由于它们具有额外的可重构性,这两个网络仍然有很大的复杂度。Banyan变种网络还有一个额外的好处,使其适用于需要高吞吐率的设计。在块并行译码器中支持不同的代码长度,选择比Zmax更小的提升值,转化为不使用部分移位网络和禁用(Zmax-Z)个CN。这也会影响译码器的吞吐率。译码器的吞吐率,无论其架构如何,定义如下:
吞吐率=每秒译码帧数×基本矩阵大小×Z                   (1)
  如公式(1)所示,较小的Z值会降低译码器的吞吐率。Banyan变体相对于QSN的优势在于,Banyan变体中的移位网络可以重新配置为多个独立的较小网络。这样,如果Zmax/4<Z≤Zmax/2,则每个Zmax×Zmax网络可以作为两个较小的Zmax/2×Zmax/2移位网络。因此,每个较小的网络都可以处理不同的帧,总吞吐率翻倍。如图5所示,对于Zmax=96的移位网络,两个Z=48可以输出相同的吞吐率。同样,25和48之间的任何Z,可以使用两个独立的译码器,每个译码器译码一个不同的帧。应用相同的方法,对于Z≤Zmax/4,可以使用四个较小的网络。
在我们提出的译码器中,这种切换技术是用以增加并行性,并重用未使用的部分移位网络和禁用的CN和VN,将译码吞吐率恢复到最大。
                                                        图5  96×96移位网络,当需要时,每个子网都可以作为独立的移位网络
3               译码器实现结果
如图6所示,设计中有两种类型的VN。大多数VN具有如图3(a)所示的架构。并通过移位网络连接到CN。较低的码率译码时,需要将扩展的对数似然比(LLR)加载到EVN中。每个EVN只连接到一个CN。5G校验移位集表明, EVN和CN之间的循环移位值等于零。因此,EVN可以无需移位网络直接连接到CN。这些VN仅用于译码较低的码率。当CN和VN之间没有连接时,CN比较器的输入将被饱和。随后,未连接的VN将被禁用读取和写入。
所提出的架构在Xilinx Virtex7 FPGA中实现。整个VN、CN和移位网络中的消息被量化为5位。移位网络路径有7级,网络的输出是流水线以进一步提高译码器的吞吐率。设计的关键路径位于CN中的第一个存储单元和比较器单元之间。在我们的FPGA仿真中,这个存储器是使用块RAM实现,这有助于减少用作内存的LUT数量。表1比较了建议与其他报告的架构。译码码率11/12时,每次迭代需要18个时钟周期。最大迭代次数设置为10,时钟频率为82MHz是,可实现2.1Gbps的吞吐率。图7比较了BPSK调制时,多种码率在AWGN信道的BER特性。为了更好地估计面积和功率消耗,译码器也使用TSMC 28纳米技术进行综合。比较结果见表2。
  表2 综合结果和性能总结
图7  Z=96和所选速率11/12、1/2和1/3的BER比较。使用偏移最小和算法执行译码,偏移量值=0.5,5位量化和10次迭代。
在本节中,我们的并行灵活译码器与其他方案进行比较。[11]中的译码器使用仅支持Z=96的桶形移位器,WiMAX半码率 (1152,2304)。在[12]中,IEEE802.11n校验矩阵中的每个子块使用桶形移位器和RAM进行移位。该桶形移位器输入大小等于支持的最小提升值(Zmin=27),以最小化移位网络面积。当Z=Zmin时,循环偏移发生在一个时钟周期内。对于Z=54和Z=Zmax=81,移位网络使用RAM存储移位后的数值。稍后,地址生成器帮助以正确的顺序读取来自RAM的消息。如[12]中所述,Z=54和Z=81时,此过程中移位网络会分别产生两和三个时钟周期的延迟。在[14]和[15] 中,IEEE802.11ad的校验矩阵仅支持Z=42,码长为672。这是校验矩阵自身的优势。因此,译码器需要更小、更简单的移位网络。因此可以实现更短的关键路径和更高的吞吐率。[16]中的译码器支持IEEE802.11n标准中定义的所有3个提升值和4个码率。在此设计中仅使用一个移位网络将消息从VN传输到CN以及从CN传输到VN。这导致较小的移位网络面积。但是,由于CN和VN无法同时访问移位网络,同时译码多帧时的该设计会引入额外的停顿。译码具有较小Z值的码时也会减少总吞吐率,因为移位网络不支持多帧并行。
与其他方案相比,我们提出的5G译码器,可以在Z<= Zmax/2时作为多个单独的译码器,使总吞吐率对提升值的依赖性较小。
4               结论
本文提出了一种五级流水线多模5G NR标准的LDPC译码器。该设计能够译码标准支持的所有码率和高达Zmax=96的任何提升值。部署泛洪调度时,引入了一个简化的VN,用于译码较低码率的扩展校验位。此外,所提出的译码器有助于最大限度地减少选择较小的Z值对吞吐率的降低。对于Z≤Zmax/2和Z≤Zmax/4,译码器可以重新配置移位网络,并重复使用未使用的资源,以增加处理的帧数并提高总吞吐率。


举报本楼

本帖有 1 个回帖,您需要登录后才能浏览 登录 | 注册
您需要登录后才可以回帖 登录 | 注册 |

版规|手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2025-7-20 12:58 , Processed in 0.288301 second(s), 17 queries , Gzip On.

Copyright © 1999-2025 C114 All Rights Reserved

Discuz Licensed

回顶部