CN110971242B - 通用化的ldpc译码桶形移位器 - Google Patents

通用化的ldpc译码桶形移位器 Download PDF

Info

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
Application number
CN201911202641.4A
Other languages
English (en)
Other versions
CN110971242A (zh
Inventor
母洪强
王本庆
胡金龙
石晶林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongke Nanjing Mobile Communication And Computing Innovation Research Institute
Original Assignee
Zhongke Nanjing Mobile Communication And Computing Innovation Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhongke Nanjing Mobile Communication And Computing Innovation Research Institute filed Critical Zhongke Nanjing Mobile Communication And Computing Innovation Research Institute
Priority to CN201911202641.4A priority Critical patent/CN110971242B/zh
Publication of CN110971242A publication Critical patent/CN110971242A/zh
Application granted granted Critical
Publication of CN110971242B publication Critical patent/CN110971242B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1151Algebraically constructed LDPC codes, e.g. LDPC codes derived from Euclidean geometries [EG-LDPC codes]
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing 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

通用化的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级移位参数[(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路并行。
CN201911202641.4A 2019-11-29 2019-11-29 通用化的ldpc译码桶形移位器 Active CN110971242B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112187285B (zh) * 2020-09-18 2024-02-27 南京中科晶上通信技术有限公司 基于dvb-s2译码器的桶形移位器处理方法及桶形移位器

Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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