CN110971242B - 通用化的ldpc译码桶形移位器 - Google Patents
通用化的ldpc译码桶形移位器 Download PDFInfo
- Publication number
- CN110971242B CN110971242B CN201911202641.4A CN201911202641A CN110971242B CN 110971242 B CN110971242 B CN 110971242B CN 201911202641 A CN201911202641 A CN 201911202641A CN 110971242 B CN110971242 B CN 110971242B
- Authority
- CN
- China
- Prior art keywords
- concat
- module
- interface
- shift
- barrel shifter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000008520 organization Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1151—Algebraically constructed LDPC codes, e.g. LDPC codes derived from Euclidean geometries [EG-LDPC codes]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种通用化的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数据不同位置的交织读写,效率高,占用资源少。
Description
技术领域
本发明属于信息技术领域,尤其是信号与信息处理技术。
背景技术
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级移位参数[(shift mod 90)/12]、第3级移位参数[(shift mod90)mod 12]。
在进一步的实施例中,还包括sh_concat模块,通过该模块将更新后的置换信息输送到外部模块。
在进一步的实施例中,桶形移位器支持360、180、120和90路并行。
有益效果:本发明专利设计了一种通用化的LDPC译码桶形移位寄存器,它可以实现Vn和Cn数据不同位置的交织读写,效率高,占用资源少。
附图说明
图1是shuffle外部接口示意图。
图2是shuffle内部实现架构图。
图3是muxreg模块接口示意图。
图4a和图4b分别是现有和本申请三级流水移位示意图。
图5是shuffle模块工作流程图。
图6是shuffle仿真时序图。
图7是shuffle FPGA模块资源消耗图。
图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_concat
shuffle使用的主要外部参数如下:
parameter FOLDFACTOR = 1, //折叠因子,配置并行数
parameter NUMINSTANCES = 360/FOLDFACTOR, //并行数
parameter LLRWIDTH =6, // LLR位宽
parameter LASTSHIFTWIDTH = 4, //第三级移位寄存器位宽
parameter LASTSHIFTDIST = 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,因为采用了三级流水处理,每级的移位参数shift由原来的参数转换得到,公式如下:
1)、第1级移位参数[shift/90]。
2)、第2级移位参数[(shift mod 90)/12]。
3)、第3级移位参数[(shift mod 90)mod 12]。
例如将数据的第138路移位到第1路,需要移位137路,其可以分解为90+12*3+11。在第一级移位时的移位大小为1,即先将一块90路数据进行移位;第二级移位时的移位大小为3,对36路信号进行移位;第三级移位大小为11,对第11路信号进行移位。三级移位共对信号进行了1×90+3×12+11*1=137路移位。
使用Verilog实现的Shuffle模块,并基于xc7vx485tffg1158做了仿真和综合后资源评估。模块的工作时钟可达1GHz以上,使其在LDPC译码器中不会成为速度瓶颈。本shuffle模块 LUT仅需要11880个,FF仅需要6480个。
总之,本发明设计了一种通用化的LDPC译码桶形移位器(或称Shuffle),可用于LDPC译码器的桶形循环移位操作,并可根据控制信号first_half切换变量节点更新单元(VNU)和校验节点更新单元(CNU)输入有效。
需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
Claims (2)
1.通用化的LDPC译码桶形移位器,其特征在于,包括如下模块:
MUX模块,与cn_concat接口、vn_concat接口和first_half接口信号连接,MUX模块通过cn_concat接口接收校验节点的信息,通过vn_concat接口接收变量节点的信息;
Unshifted模块,与MUX模块信号连接,在first_half接口输入信号的控制下,Unshifted模块接收cn_concat接口或vn_concat接口的输入信号;
muxreg模块,包括三个级联的子模块,用于移位输出选择;
sh_concat模块,通过该模块将更新后的置换信息输送到外部模块;
所述muxreg模块的三级子模块每级的移位参数为:第1级移位参数[shift/90]、第2级移位参数[(shift mod 90)/12]、第3级移位参数[(shift mod 90)mod 12];
所述桶形移位器三级流水线移位操作时,分为三段进行:
第一段:对进入移位器的数据循环移位,根据预设的移位范围,若并行度为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模块传送到别的模块。
2.根据权利要求1所述的通用化的LDPC译码桶形移位器,其特征在于,桶形移位器支持360、180、120和90路并行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911202641.4A CN110971242B (zh) | 2019-11-29 | 2019-11-29 | 通用化的ldpc译码桶形移位器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911202641.4A CN110971242B (zh) | 2019-11-29 | 2019-11-29 | 通用化的ldpc译码桶形移位器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110971242A CN110971242A (zh) | 2020-04-07 |
CN110971242B true CN110971242B (zh) | 2023-11-03 |
Family
ID=70032227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911202641.4A Active CN110971242B (zh) | 2019-11-29 | 2019-11-29 | 通用化的ldpc译码桶形移位器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110971242B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112187285B (zh) * | 2020-09-18 | 2024-02-27 | 南京中科晶上通信技术有限公司 | 基于dvb-s2译码器的桶形移位器处理方法及桶形移位器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420279A (zh) * | 2008-12-17 | 2009-04-29 | 航天恒星科技有限公司 | 移动多媒体广播中高速ldpc译码器及译码方法 |
CN104702292A (zh) * | 2015-03-06 | 2015-06-10 | 宫丰奎 | 一种部分并行ldpc译码器的实现方法 |
CN105680879A (zh) * | 2016-01-07 | 2016-06-15 | 西安电子科技大学 | 兼容dvb-s2x标准的ldpc译码器设计方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7409628B2 (en) * | 2002-08-15 | 2008-08-05 | Broadcom Corporation | Efficient design to implement LDPC (Low Density Parity Check) decoder |
-
2019
- 2019-11-29 CN CN201911202641.4A patent/CN110971242B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420279A (zh) * | 2008-12-17 | 2009-04-29 | 航天恒星科技有限公司 | 移动多媒体广播中高速ldpc译码器及译码方法 |
CN104702292A (zh) * | 2015-03-06 | 2015-06-10 | 宫丰奎 | 一种部分并行ldpc译码器的实现方法 |
CN105680879A (zh) * | 2016-01-07 | 2016-06-15 | 西安电子科技大学 | 兼容dvb-s2x标准的ldpc译码器设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110971242A (zh) | 2020-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dizdar et al. | A high-throughput energy-efficient implementation of successive cancellation decoder for polar codes using combinational logic | |
Chen et al. | QSN—A simple circular-shift network for reconfigurable quasi-cyclic LDPC decoders | |
US20060048037A1 (en) | Method of and apparatus for implementing a reconfigurable trellis-type decoding | |
CA2567248A1 (en) | A method of and apparatus for implementing a reconfigurable trellis-type decoding | |
WO2009034517A2 (en) | Electronic device, barrel shifter unit and method of barrel shifting | |
Krainyk et al. | Hardware-oriented turbo-product codes decoder architecture | |
CN110868225B (zh) | Ldpc码译码器 | |
CN103501210A (zh) | 一种高性能多标准fec译码器 | |
CN110971242B (zh) | 通用化的ldpc译码桶形移位器 | |
Zhong et al. | A flexible and high parallel permutation network for 5G LDPC decoders | |
Tang et al. | Reconfigurable shuffle network design in LDPC decoders | |
Liu et al. | Design of a multimode QC-LDPC decoder based on shift-routing network | |
Qiao et al. | QFEC ASIP: A flexible quad-mode FEC ASIP for polar, LDPC, turbo, and convolutional code decoding | |
Pourjabar et al. | A high-throughput multi-mode LDPC decoder for 5G NR | |
Pourjabar et al. | A high‐throughput multimode low‐density parity‐check decoder for 5G New Radio | |
Peng et al. | High parallel variation banyan network based permutation network for reconfigurable LDPC decoder | |
Lavoie et al. | New VLSI architectures for fast soft-decision threshold decoders | |
Mandwale et al. | Implementation of High Speed Viterbi Decoder using FPGA | |
Liang et al. | Efficient stochastic successive cancellation list decoder for polar codes | |
Hasani et al. | A modified rejection-based architecture to find the first two minima in min-sum-based LDPC decoders | |
CN101297488B (zh) | 用于乘积码的高速率turbo编码器和解码器 | |
Scarpellino et al. | Reconfigurable architecture for LDPC and turbo decoding: A NoC case study | |
CN113206674B (zh) | 一种用于ldpc译码器的高效交织器及交织方法 | |
Sridharan et al. | DSPIMM: A Fully Digital SParse In-Memory Matrix Vector Multiplier for Communication Applications | |
CN113285724B (zh) | 一种基于码率自适应的小型化ldpc编码器电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 211100 floor 1-3, auxiliary building, building 6, artificial intelligence Industrial Park, Nanjing, Jiangsu Province Applicant after: Zhongke Nanjing mobile communication and computing Innovation Research Institute Address before: 211100 floor 1-3, auxiliary building, building 6, artificial intelligence Industrial Park, Nanjing, Jiangsu Province Applicant before: INSTITUTE OF COMPUTING TECHNOLOGY, CHINESE ACADEMY OF SCIENCES, NANJING INSTITUTE OF MOBILE COMMUNICATIONS AND COMPUTING INNOVATION |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |