通用化的LDPC译码桶形移位器制造技术

技术编号:23709448 阅读:23 留言:0更新日期:2020-04-08 12:01
本发明专利技术公开了一种通用化的LDPC译码桶形移位器,主要包括MUX模块、Unshifted模块和muxreg模块,其中,MUX模块与cn_concat接口、vn_concat接口和first_half接口信号连接,MUX模块通过cn_concat接口接收校验节点的信息,通过vn_concat接口接收变量节点的信息;Unshifted模块与MUX模块信号连接,在first_half接口输入信号的控制下,Unshifted模块接收cn_concat接口或vn_concat接口的输入信号;muxreg模块包括三个级联的子模块,用于移位输出选择。本方案可以实现Vn和Cn数据不同位置的交织读写,效率高,占用资源少。

【技术实现步骤摘要】
通用化的LDPC译码桶形移位器
本专利技术属于信息
,尤其是信号与信息处理技术。
技术介绍
DVB-S2标准中,采用了LDPC码与BCH码的级联作为信道编码方案。国内外已经有诸多各自不同的知识产权保护的IP核和编解码芯片,例如AHA公司和意大利半导体公司。无一例外,译码器采用的都是基于软判决的译码算法,而软判决译码器实现的一个关键点在于桶形移位器的设计。因为LDPC译码过程需要大量的消息传递和位置互换,资源消耗大,对桶形移位器的要求较高。LDPC译码器中置换网络(或称为交织网络、交织器)用来完成VNu和CNu之间的信息交换,置换网络在每个输入端口都有一个多路选择器,用来选择来自VN和CN的信息。置换网络中的核心模块就是桶形移位器。如何设计一种效率高、资源消耗小的桶形位移器,是亟需解决的问题。
技术实现思路
专利技术目的:提供一种通用化的LDPC译码桶形移位器,以解决现有技术存在的上述问题。技术方案:通用化的LDPC译码桶形移位器,包括如下模块:MUX模块,与cn_concat接口、vn_concat接口和first_half接口信号连接,MUX模块通过cn_concat接口接收校验节点的信息,通过vn_concat接口接收变量节点的信息;Unshifted模块,与MUX模块信号连接,在first_half接口输入信号的控制下,Unshifted模块接收cn_concat接口或vn_concat接口的输入信号;muxreg模块,包括三个级联的子模块,用于移位输出选择。在进一步的实施例中,所述muxreg模块的三级子模块每级的移位参数为:第1级移位参数[shift/90]、第2级移位参数[(shiftmod90)/12]、第3级移位参数[(shiftmod90)mod12]。在进一步的实施例中,还包括sh_concat模块,通过该模块将更新后的置换信息输送到外部模块。在进一步的实施例中,桶形移位器支持360、180、120和90路并行。有益效果:本专利技术专利设计了一种通用化的LDPC译码桶形移位寄存器,它可以实现Vn和Cn数据不同位置的交织读写,效率高,占用资源少。附图说明图1是shuffle外部接口示意图。图2是shuffle内部实现架构图。图3是muxreg模块接口示意图。图4a和图4b分别是现有和本申请三级流水移位示意图。图5是shuffle模块工作流程图。图6是shuffle仿真时序图。图7是shuffleFPGA模块资源消耗图。图8a至图8e是使用shuffle模块的LDPC译码器并行架构示意图,其中图8b至图8e为图8a中A、B、C、D部分的放大图。具体实施方式如图1所示,shuffle模块的外部接口包括控制信号、消息IO。其中控制信号为:clk为时钟输入。rst为复位输入信号。first_half控制变量节点VN和校验节点CN作为模块输入的切换。input[1:0]shift0,一级流水移位值,位宽为2。input[2:0]shift1,二级流水移位值,位宽为3。input[LASTSHIFTWIDTH-1:0]shift2,三级流水移位值,位宽可配置。消息IO为:input[NUMINSTANCES*LLRWIDTH-1:0]vn_concat,input[NUMINSTANCES*LLRWIDTH-1:0]cn_concat,output[NUMINSTANCES*LLRWIDTH-1:0]sh_concatshuffle使用的主要外部参数如下:parameterFOLDFACTOR=1,//折叠因子,配置并行数parameterNUMINSTANCES=360/FOLDFACTOR,//并行数parameterLLRWIDTH=6,//LLR位宽parameterLASTSHIFTWIDTH=4,//第三级移位寄存器位宽parameterLASTSHIFTDIST=11//第三级移位大小如图2所示,其内部采用参数化的三级流水移位,通过参数配置,可以支持360、180、120、90路并行。以360路并行为例,其内部结构如图2所示。如图3所示,其内部包含一种子模块ldpc_muxreg,用于移位输出选择。LDPC译码器中置换网络(或称为交织网络、交织器)用来完成VNu和CNu之间的信息交换,置换网络在每个输入端口都有一个多路选择器,用来选择来自VN和CN的信息。置换网络中的核心模块就是桶形移位器。桶形移位器的移位范围根据LDPC码长决定,DVB-S2的LDPC码字虽长,但是一般译码时却采用并行度为360的部分并行结构,移位区间一般为0~359。但是360位的桶形移位器设计复杂,为了折中面积和速度,可以使用三级流水的架构。桶形移位器三级流水线移位操作时,分为三段进行。第一段,对进入移位器的数据循环移位,根据预设的移位范围,若并行度为360,则第一段移位位数主要为0,90,180,270位;第二段移位位数为0,位;第三段移位位数主要是0,64,128,192,256,320位。三段移位依次进行。按照节点处理单元的组织,每个处理单元阵列中均含有360个节点处理单元,这360个节点处理单元通过桶形移位器彼此之间传递更新后的消息。其中,每组的360个校验单元分别与桶形移位器相连,每组CNu又与VNu相连,同时变量节点单元VN[0]又与校验节点单元CN[1]通过边相连,来交换更新信息,变量节点单元VN[1]与校验节点单元CN[2]通过边相连,来交换更新信息,依次类推,VN[358]与CN[359]相连。信息在VNu、置换网络和CNu三者之间传递,并迭代处理。来自校验节点和变量节点的信息分别由cn_concat端口和vn_concat端口传输到置换网络内部,置换网络内部的桶形移位器在shiftval信号控制下移位操作,更新后的置换信息由sh_concat端口传送到别的模块。采用三级流水处理虽然增加了Registers资源的使用,但减少了LUT使用。采用三级流水结构综合后的最大工作时钟可达600MHz以上,从而避免了桶形移位模块成为译码速度瓶颈。但级数并非越多越好,一方面对寄存器资源的消耗过多,另一方面需要由移位参数shift来计算划分多级桶形移位器每一级的移位参数,过多的级数会增加每级的划分难度。如图4a所示,传统的三级流水结构第一级移位是将360数据分为4块,每块包含90路数据;第二级移位把90路数据分为6块,每块包含15路数据;第三级移位是将15路分成15块,每块包含一路数据。传统的三级流水线二级参数选择为15虽然便于计算简化了Shuffle内部的控制,但是增加了外部控制逻辑的复杂度,不利于shuffle模块的通用化。转到图4b,因为采用本文档来自技高网...

【技术保护点】
1.通用化的LDPC译码桶形移位器,其特征在于,包括如下模块:/nMUX模块,与cn_concat接口、vn_concat接口和first_half接口信号连接,MUX模块通过cn_concat接口接收校验节点的信息,通过vn_concat接口接收变量节点的信息;/nUnshifted模块,与MUX模块信号连接,在first_half接口输入信号的控制下,Unshifted模块接收cn_concat接口或vn_concat接口的输入信号;/nmuxreg模块,包括三个级联的子模块,用于移位输出选择。/n

【技术特征摘要】
1.通用化的LDPC译码桶形移位器,其特征在于,包括如下模块:
MUX模块,与cn_concat接口、vn_concat接口和first_half接口信号连接,MUX模块通过cn_concat接口接收校验节点的信息,通过vn_concat接口接收变量节点的信息;
Unshifted模块,与MUX模块信号连接,在first_half接口输入信号的控制下,Unshifted模块接收cn_concat接口或vn_concat接口的输入信号;
muxreg模块,包括三个级联的子模块,用于移位输出选择。


2.根据权利...

【专利技术属性】
技术研发人员:母洪强王本庆胡金龙石晶林
申请(专利权)人:中科院计算技术研究所南京移动通信与计算创新研究院
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1