CN102315902A - 一种准循环低密度奇偶校验码的通用寻址装置及方法 - Google Patents

一种准循环低密度奇偶校验码的通用寻址装置及方法 Download PDF

Info

Publication number
CN102315902A
CN102315902A CN2010102272695A CN201010227269A CN102315902A CN 102315902 A CN102315902 A CN 102315902A CN 2010102272695 A CN2010102272695 A CN 2010102272695A CN 201010227269 A CN201010227269 A CN 201010227269A CN 102315902 A CN102315902 A CN 102315902A
Authority
CN
China
Prior art keywords
information
piecemeal
vector
piece
long
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.)
Pending
Application number
CN2010102272695A
Other languages
English (en)
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.)
Institute of Microelectronics of CAS
Original Assignee
Institute of Microelectronics of CAS
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 Institute of Microelectronics of CAS filed Critical Institute of Microelectronics of CAS
Priority to CN2010102272695A priority Critical patent/CN102315902A/zh
Publication of CN102315902A publication Critical patent/CN102315902A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种准循环低密度奇偶校验码的通用寻址装置及方法,适用于不同大小及偏移量的循环子矩阵以及不同大小的子矩阵分块。在某种大小的子矩阵分块下,利用行块节点(列块节点)向列块节点(行块节点)的映射关系对节点顺序重组,使按规律顺序输入的行块(列块)节点在输出端以按规律的列块(行块)节点顺序输出。不同节点信息以时分的方式共享数据总线。利用本发明,译码器具有块拆分寻址、流水线寻址、循环寻址的特点,简化了多模兼容准循环奇偶校验码的译码器存储结构与寻址过程。

Description

一种准循环低密度奇偶校验码的通用寻址装置及方法
技术领域
本发明涉及信道编码技术领域,尤其涉及一种块大小不等的准循环低密度奇偶校验码的通用寻址装置及方法。
背景技术
信道编码技术作为保证通信系统传输可靠性的基本技术,在近十年得到了飞速发展,一批性能优越的信道编码相继被发现并得到深入研究,其中低密度奇偶校验码作为继Turbo之后又一能够逼近理论极限的信道编码,在理论与应用两方面都得到极大关注。由于该码具有逼近香农极限的纠错性能和适于并行计算的译码算法,已被等许多通信标准采纳为前向纠错方案。如目前使用最为广泛的准循环低密度奇偶校验码,它具有准循环的校验阵结构,在很大程度上简化了编译码复杂度,已相继被DVB-S2、DVB-T2、WiMAX、802.11n、CCSDS、CMMB和DTMB等标准采用。同时,LTE等第四代移动通信标准也建议采用准循环低密度奇偶校验码,作为其候选信道编码标准之一。
准循环低密度奇偶校验码译码器结构根据译码吞吐率的需要和硬件条件,可选择采用全串行、全并行、部分并行等结构。其中全串行的准循环奇偶校验码译码器使用一个节点更新单元,分别依次遍历所有节点,其优点是资源用量小、功耗低、运算单元与存储器间连线简单,缺点是译码延时长,不适合要求高速译码的场合。全并行译码器中,所有校验节点或比特节点的遍历过程在同时间进行,译码速度快,但连线复杂度随码长增长而迅速增加,适合用来实现译码速度要求极高的情况下中短码长的译码器。部分并行译码器是以上两种译码器结构的折中,将节点更新的遍历过程分为多次并行完成。
现代通信系统对实时性和传输质量的要求越来越高,要求译码器在保证译码性能的同时,满足足够的数据传输速率要求,而不断演进的通信标准使通信电子产品的生命周期越来越短,在产品设计方面,较短的面市时间将会有效地提高新产品的市场竞争力。
目前部分译码器实现方面的研究集中在提高执行效率与译码并行度上,多采用专用集成电路(Application-Specific Integrated Circuit,ASIC)的方案实现,虽然ASIC有较高的性能和较低的面积功耗,但只能适用于单一标准,缺乏灵活性,在多模多码率的兼容性等方面表现出固有缺陷。随着软件无线电的长足发展,数字信号处理器(Digital Signal Processor,DSP)由于其适合于数字信号处理的特殊结构以及可编程性等特点成为硬件设计工程师在设计新产品时的首选。与ASIC相比,采用DSP设计新的产品具有设计周期短的特点,这将大大缩短新产品的面市时间。另外,采用数DSP设计的产品还具有可编程、易升级等特点。然而,在产品的功耗和面积方面,采用DSP设计的产品与ASIC相比却有着相当大的劣势。ASIC是面向目标产品的特点而专门设计的电路,因此在芯片速度、面积、功耗等方面都可以进行有针对性的优化,而采用通用DSP设计的电路却不可能实现这种优化。随着手持设备的日益增多,电子产品在功耗方面的要求越来越严格,采用通用DSP设计的产品在功耗方面的劣势也越来越明显,同时,通用DSP处理器在处理信道编译码算法上受限于DSP在大规模并行处理能力上的不足,在应用范围上受到很大限制。
专用指令集处理器(Application Specific Instruction-set Processor,ASIP)是一种新的处理器设计方案。与通用DSP不同,ASIP是针对某个或者某类应用而设计的专用处理器。在通用DSP的基本结构上,对处理器的结构、指令集、数据通路等进行优化,在产品升级的时候,只需要修改运行于处理器中的软件,延续了通用DSP的设计优势。同时,专用指令集处理器通过软硬件的联合设计,针对目标算法固有规律与兼容性,对指令流水线、DMA、指令集等结构进行特殊设计,使ASIP获得ASIC在速度、功耗、面积等方面的优势。近年来,采用ASIP解决多模多码率兼容性问题的信道编译码器逐渐获得关注,目前已分别有兼容多模多码率卷积码、多模多码率Turbo码、多模多码率准循环低密度奇偶校验码及同时兼容多种码的ASIP信道译码器的研究实现。
RAM是ASIP实现的关键因素,对处理器面积具有非常大的影响,尤其信道编译码的实现中计算单元往往可以得到简化,采用较少的电路实现运算功能,而数据的存储结构以及与算法相关的读写机制决定了RAM的大小及通用性。结合译码算法特点设计具有规整RAM结构的准循环低密度奇偶校验码译码算法ASIP处理器,可以为多模多码率的兼容以及多码的扩展提供更为高效的共享存储机制。这样,针对准循环低密度奇偶校验码译码器,首先考虑在一个双端口RAM的基础上设计处理器的并行机制,以及在并行机制下数据的存储格式、数据的传输方式和数据的运算机制。处理器的并行机制是否有效,关键在于对准循环低密度奇偶校验码的准循环特性的适配:并行机制与码的准循环特性结合的越紧密,并行的有效性越高。在并行机制下,影响数据存储格式的关键因素在于存储的容量和存储的紧凑性:存储的容量越小,消耗的面积越少;存储的越紧凑,越易于对数据的集中(并行)存入和取出。影响数据传输的主要因素在于数据在传输时的并行度和并行格式的规整性:并行度越大,数据传输越快;并行格式越规整,数据传输时的前处理和后处理越少,越易于实现,包括RAM与外部数据之间的并行数据传输,以及RAM与内部数据之间的并行传输。这样,处理器的输入和输出端口采用一个复用/解复用完成上述不同类型的数据交互。
发明内容
(一)要解决的技术问题
针对准循环低密度奇偶校验码译码器的上述现状,本发明对准循环低密度奇偶校验码译码算法ASIP设计的并行机制进行研究,提出一种以统一并行度及采用时分双工数据总线为约束的准循环低密度奇偶校验码的通用寻址装置及方法。
(二)技术方案
为达到上述目的,本发明提供了一种适用于准循环奇偶校验码行列合并和积算法的块旋转方法,该方法分别以行、列方向对Z阶循环子矩阵进行大小为P的分块,行、列方向的最后一个分块大小为ZmodP,其余分块大小为P,循环子矩阵非零元素的行、列序号由循环子矩阵偏移量决定,分别将行、列方向的非零元素顺序分块表示为B0,B1,...,
Figure BSA00000191581400041
同时将其中一个方向的分块表示为B′0,B′1,...,
Figure BSA00000191581400042
其中B′i=Bj
Figure BSA00000191581400043
S为这一方向的循环矩阵偏移量;其中该方法的第一种旋转模式包括:
非零元素按其中一个方向以B′0,B′1,...,B′0的分块顺序输入最大延迟为2的移存器组,经计算选择,以另一个方向B0,B1,...,
Figure BSA00000191581400045
的分块顺序输出,根据参数S、P、Z及分块输出计数器Counter,计算块延迟信息向量DelayState0,DelayState1,...,
Figure BSA00000191581400046
延迟选择向量DS0,DS1,...,DSP-1及并行路径选择向量PS0,PS1,...,PSP-1,随B′2的输入及当前选择向量得到第一块有效输出B0,以此类推,随最后一分块B′0的输入及当前选择信号向量得到有效输出
Figure BSA00000191581400047
最后,由一个虚拟输入及当前选择信号向量得到最后一块有效输出
Figure BSA00000191581400048
该方法还包括第二种旋转模式,具体包括:非零元素按其中一个方向以B0,B1,...,
Figure BSA00000191581400049
B0的分块顺序输入最大延迟为2的移存器组,经计算选择,以另一个方向B′1,...,B′0的分块顺序输出,根据参数S、P、Z及分块输出计数器Counter,计算块延迟信息向量DelayState0,DelayState1,...,
Figure BSA000001915814000411
延迟选择向量DS0,DS1,...,DSP-1及并行路径选择向量PS0,PS1,...,PSP-1,随B1的输入及当前选择向量得到第一块有效输出B′1,以此类推,随分块
Figure BSA000001915814000412
的输入及当前选择信号向量得到有效输出
Figure BSA000001915814000413
随最后分块B0的输入及当前选择信号向量得到最后一块有效输出B′0
上述方案中,若当前延迟选择向量为DS0,DS1,...,DSP-1,并行路径选择向量为PS0,PS1,...,PSP-1,则选择DSi指示的分块中第PSi个的数据作为此时第i个Douti输出数据,i=0,1,...,P-1,输出向量Dout0,Dout1,...,DoutP-1构成一个输出分块。
为达到上述目的,本发明还提供了一种适用于准循环奇偶校验码行列合并和积算法的块旋转装置,应用于所述的块旋转方法,该装置包括两个并行度P的移存器组、一个选择信号计算单元和一个数据输出单元,其中移存器组D1[P]、D2[P]分别为与当前并行输入D0[P]相比延迟为1、2的移存器组。
上述方案中,该装置的选择信号计算流程如下:
a)初始化:
i、在第一种旋转模式下,Counter随B′2输入开始累加计数,DelayState向量初始化,由参数S、P、Z、Counter生成PS向量,由参数S、P、Z、Counter及DelayState向量生成DS向量;
ii、在第二种旋转模式下,Counter随B1输入开始累加计数,DelayState向量初始化,由参数S、P、Z、Counter生成PS向量,由参数S、P、Z、Counter及DelayState向量生成DS向量;
b)Counter ≠0:
i、若
Figure BSA00000191581400051
Counter++;
ii、DelayState向量向右移存;
iii、由参数S、P、Z、Counter生成PS向量;
iv、由参数S、P、Z、Counter及DelayState向量生成DS向量。
上述方案中,所述数据输出单元包括P个在功能上为P×3输入1输出的多路选择器MUXi,数据输入端分别与D0[P]、D1[P]、D2[P]的P×3个数据相连,MUXi的选择信号由延迟选择信号DSi与并行路径选择信号PSi组成,i=0,1,...,P-1。
为达到上述目的,本发明还提供了一种准循环低密度奇偶校验码的通用寻址方法,应用于所述的块旋转方法,其译码寻址方法简化为依次对H矩阵各行块中非零子矩阵作如下处理:
a)分别对非零子矩阵在行、列方向进行分块;
b)对非零子矩阵在列方向进行分块后的和信息,按照第一种旋转模式进行旋转;
c)顺序读取以行方向进行分块后的积信息,经解压,与和信息旋转后的有效输出对应构成并行度为P的积信息、和信息数据流;
d)采用行列合并和积运算对积信息、和信息数据流进行更新,算法如下:
S′mn=Sn-Rmn
R mn = 2 tanh - 1 ( Π n ′ ∈ N ( m ) \ n tanh ( S mn ′ / 2 ) ) R mn = min n ′ ∈ N ( m ) \ n ( S mn ′ )
Sn=S′mn+Rmn
其中,Sn为和信息,Rmn为解压后积信息(以下简称积信息),S′mn为和信息中间变量;
e)更新后的积信息仍然保持顺序的行方向分块;
f)对更新后的和信息按照第二种旋转模式进行旋转,旋转的有效输出恢复为和信息在列方向上的分块。
为达到上述目的,本发明还提供了一种准循环低密度奇偶校验码的通用寻址装置,应用于所述的通用寻址方法,该装置包括并行块旋转模块以及积信息解压模块,其中译码器根据码的最大行重使能以第一种旋转模式并行工作的旋转模块的数目,根据数据及计算单元并行度限制或要求设置旋转模块的P参数。
上述方案中,所述并行旋转模块以及所述积信息解压模块以时分的方式从连接RAM读端口与译码处理模块的数据总线上得到和信息与积信息,之后分别对两类信息进行块旋转与解压缩处理。
为达到上述目的,本发明还提供了一种准循环低密度奇偶校验码的通用寻址装置,应用于所述的通用寻址方法,该装置包括并行块旋转模块、H矩阵信息FIFO、积信息FIFO、和信息FIFO以及输出控制模块,其中译码器根据码的最大行重使能以第二种旋转模式并行工作的旋转模块的数目,根据数据及计算单元并行度限制或要求设置旋转模块的P参数。
上述方案中,所述H矩阵信息FIFO为块旋转模块提供循环子矩阵偏移量信息;所述和信息FIFO存储B0分块的和信息,为块旋转模块额外生成一组输入激励;所述积信息FIFO用于暂存积信息,配合输出控制模块调整更新后积信息与和信息输出数据流时序,使译码器可采用时分的方式在译码处理模块与RAM写端口连接的数据总线上传输上述两类信息。
(三)有益效果
从上述技术方案可以看出,本发明具有以下有益效果:
本发明对准循环低密度奇偶校验码译码算法ASIP设计的并行机制进行研究,提出一种以统一并行度及采用时分双工数据总线为约束的译码寻址方式,用于多模多码率准循环低密度奇偶校验码的统一寻址处理。采用本发明技术方案的译码器具有块拆分寻址、流水线寻址、循环寻址的特点,简化了准循环低密度奇偶校验码的译码器存储结构与寻址过程,并具有良好的多模多码率扩展性。
附图说明
图1是偏移量为39、列位置为2的节点分块所对应的和信息序号与积信息序号的映射关系;
图2是简化后的偏移量为39、列位置为2的节点分块所对应的和信息序号与积信息序号的映射关系;
图3是节点更新前寻址过程中输入块旋转模块的H0,0分块和信息序号;
图4是延迟选择信号向量DS的实现结构;
图5是块旋转模块的并行数据输出的实现结构;
图6是节点更新前寻址过程中经块旋转后的H0,0分块输出和信息序号;
图7是节点更新前寻址模块的实现结构;
图8是节点更新后寻址过程中输入块旋转模块的H0,0分块和信息序号;
图9是节点更新后寻址过程中经块旋转后的H0,0分块输出和信息序号;
图10是节点更新后译码寻址模块的实现结构。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
在某种大小的子矩阵分块下,利用行块节点(列块节点)向列块节点(行块节点)的映射关系对节点顺序重组,使按规律顺序输入的行块(列块)节点在输出端以按规律的列块(行块)节点顺序输出,不同节点信息以时分的方式共享数据总线。本发明对准循环低密度奇偶校验码译码算法ASIP设计的并行机制进行研究,提出一种以统一并行度及采用时分双工数据总线为约束的准循环低密度奇偶校验码的通用寻址装置及方法,具体方案如下:
初始设置,包括:
1、对H矩阵参数作如下处理:顺序记录H矩阵每行块Hi所含Nr个非零子矩阵Hi,j,由其偏移量Si,j及列位置信息Ai,j唯一确定,其中Nr为Hi行重,i=0,1,...,M-1,j=0,1,...,dci,以行、列方向对Z阶循环子矩阵非零节点(以下简称节点)进行大小为P的分块,分块数
Figure BSA00000191581400081
将行方向的节点的顺序分块表示为Br,b(b=0,1,...,Zp-1),将列方向的节点分块分别表示为Bc,b(b=0,1,...,Zp-1)与B′c,b(b=0,1,...,Zp-1),Bc,b为列方向节点的顺序分块,两者关系为B′c,b′=Bc,b
Figure BSA00000191581400082
其中S为列方向的循环矩阵偏移量;
2、译码迭代锁定后,RAM双端口分别用作读端口与写端口,通过两条宽为WidthBus的数据总线与译码迭代处理模块相连,和信息与压缩格式积信息(以下简称积信息)分别在上述两条数据总线上采用时分的方式共享总线,由确定可并行处理的节点数(或称并行度)P,其中SnodeSize为每和信息量化位数;根据行列合并和积算法的需要,RAM中存储两部分节点信息:以WidthBus bit/和信息分块的方式顺序存储H矩阵列方向分块所含节点的和信息,以Zr×WidthBusbit/积信息分块的方式顺序存储H矩阵行方向分块节点的积信息,其中
Figure BSA00000191581400084
RnodeSize为每和信息量化位数;H矩阵大小为(M×Z)×(N×Z),采用行列合并和积算法则RAM中需要存储的节点信息分两部分:N×Z个和信息Λn(n=0,1,...,N×Z-1)和M×Z个积信息Rm(m=0,1,...,M×Z-1),各行列分块节点的信息与RAM地址的映射关系如下:
i、Hi,j列方向分块B′c,b所含节点的和信息地址由和信息地址生成函数φ(i,j,b)得到:
Figure BSA00000191581400085
其中SADDR为和信息在RAM中起始地址;
ii、Hi,j的行方向分块Br,b所含节点的积信息的起始地址由积信息地址生成函数
Figure BSA00000191581400086
得到:
Figure BSA00000191581400091
其中RADDR为积信息在RAM中起始地址;
行列合并和积算法节点更新前的寻址通过遍历Hi矩阵完成,每Hi矩阵的更新前寻址分为Zp+1个数据读取阶段:
第0阶段:用Nr个时钟周期从RAM依次读取Hi,j的第B′c,0块节点的和信息;
第1阶段:用Nr个时钟周期从RAM依次读取Hi,j的第B′c,1块节点的和信息,用Zr个时钟周期从RAM读取Hi,j的第Br,0块节点的积信息;
依次类推;
第Zp-1阶段:用Nr个时钟周期从RAM依次读取Hi,j的第块节点的和信息,用Zr个时钟周期从RAM读取Hi,j的第
Figure BSA00000191581400093
块节点的积信息;
第Zp阶段:用Nr个时钟周期从RAM依次读取Hi,j的第B′c,0块节点的和信息,用Zr个时钟周期从RAM读取Hi,j的第
Figure BSA00000191581400094
块节点的积信息;
积信息解压模块与并行块旋转模块采用时分方式接收数据总线上的积信息与和信息,其中,Nr个块旋转模块在各个数据读取阶段分别接收Hi,j(j=0,1,...,Nr-1)的和信息块,第j个块旋转模块的处理步骤如下:
当前并行输入D0[P]与并行移存器组D1[P]、D2[P]由块旋转模块控制接收的Hi,j分块和信息,并依次触发移存操作;
当D0[P]、D1[P]、D2[P]分别存储B′c,2、B′c,1、B′c,0所含节点的和信息时,块旋转模块按模式一的规则开始计算选择信号,并在当前和随后Zp-1次数据输入的触发后生成一次有效输出,输出为Br,0,Br,1,...,
Figure BSA00000191581400095
所含节点的和信息,选择信号计算过程如下,b为有效输出的计数:
for b=0:Zp-1
if b=0
Figure BSA00000191581400096
Figure BSA00000191581400097
Figure BSA00000191581400098
else
   DelayStateTmp=DelayState[Zp-1];
      for p=0:Zp-2
          DelayState[p+1]=DelayState[p];
        end
        DelayState[0]=DelayStateTmp;
   end
if b=Zp-1
         for p=1:Zmod P
                    PS[p]=[(b×P+Si,j+p)modZ]mod P;
Figure BSA00000191581400101
   end
else
    for p=1:P
              PS[p]=[(b×P+Si,j+p)mod Z]mod P;
Figure BSA00000191581400102
       end
   end
end
选择信号生成后,块旋转模块的并行输出数据Dout[pth]生成过程如下:
for pth=0:P-1
      switch(DS[pth])
      {
       case 0:for jth=0:P-1  Datatemp[jth]=D0[jth];
       case 1:for jth=0:P-1  Datatemp[jth]=D1[jth];
       case 2:for jth=0:P-1  Datatemp[jth]=D2[jth];
       }
       Dout[pth]=Datatemp[PS[pth]];
}
列方向上的节点分块的和信息经过块旋转的处理,以行方向上的节点顺序分块的和信息输出。块旋转输出和信息分块与解压后积信息分块构成Zp组行方向上的节点顺序分块所对应的和信息与积信息数据对。
节点更新前寻址模块由Nr个并行工作的块旋转模块与一个积信息解压模块构成;输入端口由输入控制信号和WidthBus bit与RAM读端口连接的数据输入组成;输出端口分输出有效信号部分、和信息分块输出与积信息分块输出。
如上所述,行列和并和积算法节点更新前寻址通过遍历Hi行块矩阵完成,经积信息的解压与和信息的块旋转处理,每个Hi行块矩阵的更新前寻址分为Zp个数据输出阶段,在第b(b=0,1,...,Zp-1)个输出阶段,用Nr个时钟周期同步输出Br,b分块节点的和信息与积信息,由行列并行和积计算模块分别对和信息与积信息进行更新,算法如下;
S′mn=Sn-Rmn
R mn = 2 tanh - 1 ( Π n ′ ∈ N ( m ) \ n tanh ( S mn ′ / 2 ) ) R mn = min n ′ ∈ N ( m ) \ n ( S mn ′ )
Λn=Λ′mn+Rmn
其中,Sn为和信息,Rmn为解压后积信息,S′mn为和信息中间变量。
和信息解压方法与行列合并和积算法不是本发明讨论重点,这里略去其过程。
行列合并和积计算单元更新后分Zp个数据输出阶段,在第b(b=0,1,...,Zp-1)个数据输出阶段:
1、用1个时钟周期输出Hi行块矩阵Br,b分块节点的更新后积信息;
2、用Nr个时钟周期输出Nr个Hi,j的Br,b分块节点的更新后和信息;
其中积信息进入RFIFO,Nr个Hi,j的第Br,0节点分块的和信息进入SFIFO。
Nr个块旋转模块在各阶段分别接收Nr个Hi,j的和信息块,最后从SFIFO读取最后一个和信息块,构成Br,0,Br,1,...,
Figure BSA00000191581400113
Br,0的节点分块的和信息输入,其中第j个块旋转模块的处理步骤如下:
当前并行输入D0[P]与并行移存器组D1[P]、D2[P]由块旋转模块控制接收的Hi,j分块和信息,并依次触发移存操作;
当D0[P]、D1[P]、分别存储Br,1、Br,0所含节点的和信息时,块旋转模块按模式二的规则开始计算选择信号,并在当前和随后Zp-1次数据输入的触发后生成一次有效输出,即输出Bc,1,Bc,2,...,Bc,0节点分块的和信息,选择信号计算过程如下,b为有效输出的计数:
for b=0:Zp-1
Figure BSA00000191581400115
if b=0
        DelayState[1]=0;
        DelayState[0]=1;
        if Zp>2
                  DelayState[Zp-1]=2;
    else
       DelayStateTmp=DelayState[Zp-1];
          for p=0:Zp-2
             DelayState[p+1]=DelayState[p];
          end
          DelayState[0]=DelayStateTmp;
   end
if Index=Zp-1
          for p=1:ZmodP
                     PS[p]=[(Index×P-Si,j+p)mod Z]mod P;
Figure BSA00000191581400121
   end
else
    for p=1:P
              PS[p]=[(Index×P-Si,j+p)mod Z]mod P;
Figure BSA00000191581400122
     end
  end
end
选择信号生成后,块旋转模块的并行输出数据Dout[P]生成过程如下:
for pth=0:P-1
      switch(DS[pth])
      {
        case 0:for jth=0:P-1   Datatemp[jth]=D0[jth];
        case 1:for jth=0:P-1   Datatemp[jth]=D1[jth];
        case 2:for jth=0:P-1   Datatemp[jth]=D2[jth];
       }
       Dout[pth]=Datatemp[PS[pth]];
}
其中,Si,j由H矩阵旁路FIFO提供。
行列和并和积算法节点更新后寻址的输出控制通过控制RFIFO的输出,使迭代译码单元采用时分的方式令更新后和信息与积信息共享与RAM写端口连接的数据总线,与更新前寻址类似,更新后寻址输出同样以遍历Hi行块矩阵的方式完成,每Hi行块矩阵的更新后寻址分为Zp个数据写入阶段:
第0阶段:用Nr个时钟周期向RAM依次写入Hi,j的第B′c,1块节点的和信息,用Zr个时钟周期向RAM写入Hi,j的第Br,0块节点的积信息;
第1阶段:用Nr个时钟周期从RAM依次读取Hi,j的第B′c,2块节点的和信息,用Zr个时钟周期向RAM写入Hi,j的第Br,1块节点的积信息;
依次类推;
第Zp-2阶段:用Nr个时钟周期向RAM依次写入Hi,j的第
Figure BSA00000191581400131
块节点的和信息,用Zr个时钟周期向RAM写入Hi,j的第
Figure BSA00000191581400132
块节点的积信息;第Zp-1阶段:用Nr个时钟周期向RAM依次写入Hi,j的第B′c,0块节点的和信息,用Zr个时钟周期向RAM写入Hi,j的第
Figure BSA00000191581400133
块节点的积信息。
节点更新后译码寻址模块由Nr个并行工作的块旋转模块与3个FIFO构成;计算DS与PS所需的Si,j由H矩阵信息FIFO提供,RFIFO用于对和信息输出时序的控制,SFIFO用于生成块旋转模块的一组输入;输入端口由循环矩阵偏移量信息、输入控制信息、分块和信息与分块积信息构成;输出端口由输出有效信号与WidthBus bit数据输出构成。
下面结合附图详细描述本发明以Wimax标准中1/2码率、Z=40的LDPC码为例的一个具体实施例。
设RAM与迭代译码处理模块之间连接的2条数据总线分别为128bit,则译码并行度为16;对Z=40的循环子矩阵的节点分块,分别得到3组和信息与积信息的分块,行列合并和积译码算法的节点更新前寻址与节点更新后寻址均以遍历Hi行块矩阵完成。
下面以H0行块的处理过程为例,详细描述译码寻址的过程。
H0行块矩阵所含非零循环子矩阵H0,j(j=0,1,...,5)的偏移量以向量形式表示为:
S0=(S0,0,S0,1,...,S0,5)=(39,30,22,34,2,0)
H0行块矩阵所含非零循环子矩阵H0,j(j=0,1,...,5)的列位置以向量形式表示为:
A0=(A0,0,A0,1,...,A0,5)=(2,3,9,10,13,14)
RAM中以8bit/和信息、48bit/积信息的格式存储节点信息,同时为保证分块之间的读写不发生冲突,每128bit存储一个分块的和信息,6×128bit存储一个分块的积信息,这里假设和信息在RAM中起始地址SADDR=0,积信息在RAM中起始地址为RADDR=5000。
H0矩阵的更新前寻址分为4个数据读取阶段:
第0阶段:用6个时钟周期从RAM依次读取H0,j的第B′c,0块节点的和信息,读地址依次为:8,10,28,32,39,42;
第1阶段:用6个时钟周期从RAM依次读取H0,j的第B′c,1块节点的和信息,读地址依次为:6,11,29,30,40,43;
用6个时钟周期从RAM读取H0的第Br,0块节点的积信息,起始地址为5000;
第2阶段:用6个时钟周期从RAM依次读取H0,j的第B′c,2块节点的和信息,读地址依次为:7,9,27,31,41,44;
用6个时钟周期从RAM读取H0的第Br,1块节点的积信息,起始地址为5006;
第3阶段:用6个时钟周期从RAM依次读取H0,j的第B′c,0块节点的和信息,读地址依次为:8,10,28,32,39,42;
用6个时钟周期从RAM读取H0的第Br,2块节点的积信息,起始地址为5012。
积信息解压模块与并行块旋转模块采用时分方式接收数据总线上的积信息与和信息,其中6个块旋转模块在各个数据读取阶段分别接收H0,j(j=0,1,...,5)的和信息块,如图1所示,第0个块旋转模块接收的节点分块所对应的和信息序号与积信息序号的映射关系由偏移量S0,0与循环子矩阵列位置A0,0共同决定。因为各个块旋转模块只针对一个循环子矩阵做处理,所以这里对节点对应的和信息序号与积信息序号取模Z进行简化,如图2所示。
当前并行输入D0[P]与并行移存器组D1[P]、D2[P]由块旋转模块控制接收的H0,0分块和信息,并依次触发移存操作,图3所示为输入的分块和信息序号。
当D0[P]、D1[P]、D2[P]分别存储B′c,2、B′c,1、B′c,0所含节点的和信息时,块旋转模块按模式一的规则计算选择信号。图4所示为延迟选择向量DS的实现结构。
图5描述了延迟选择向量DS与并行路径选择向量PS生成后,块旋转模块的并行输出数据Dout[16]的实现结构。
经块旋转后的和信息分块输出如图6所示,结合图2可以看出块旋转后的和信息分块与积信息分块一一对应,构成3组行方向上的节点顺序分块所对应的和信息与积信息数据对。
行列和并和积算法节点更新前寻址分为3个数据输出阶段,在第b(b=0,1,2)个输出阶段,用6个时钟周期同步输出Br,b分块节点的和信息与积信息,输出至译码更新模块模块进行和信息与积信息的更新运算。
图7显示了节点更新前寻址模块的实现结构,由6个并行工作的块旋转模块与一个积信息解压模块构成;输入端口分输入控制信号部分和128bit与RAM读端口连接的数据输入部分;输出端口分输出有效信号部分、128bit和信息分块输出、128bit积信息分块输出。
和信息解压方法与行列合并和积算法不是本发明讨论重点,这里略去其过程。
H0行块矩阵所含节点的和信息与积信息经行列合并和积计算单元更新后分3个数据输出阶段输出,在第b(b=0,1,2)个数据输出阶段的输出信息有:
1)、H0子矩阵Br,b分块节点的更新后积信息;
2)、6个H0,j(j=0,1,...,5)的Br,b分块节点的更新后和信息;
其中积信息进入RFIFO,6个H0,j循环子矩阵的第Br,0节点分块的和信息进入SFIFO。
6个块旋转模块在各阶段分别接收6个H0,j(j=0,1,...,5)的和信息块,最后从SFIFO读取最后一个和信息块,构成Br,0,Br,1,...,
Figure BSA00000191581400151
Br,0的节点分块对应的和信息分块输入,仍以第0个块旋转模块为例,图8以和信息序号的形式显示了其和信息的分块输入。
当前并行输入D0[P]与并行移存器组D1[P]、D2[P]由块旋转模块控制接收的H0,0分块和信息,并依次触发移存操作。
当D0[P]、D1[P]、分别存储Br,1、Br,0所含节点的和信息时,块旋转模块按模式二的规则开始计算选择信号,采用图4所示延迟选择向量的实现结构与图5所示并行输出数据的实现结构。
经块旋转后的和信息分块输出如图9所示,结合图2可以看到块旋转后的和信息分块恢复为3组列方向上的节点分块所对应的和信息,与RAM中和信息的存储方式一致。
行列和并和积算法节点更新后寻址的输出通过控制RFIFO的输出,使迭代译码单元采用时分的方式令更新后和信息与积信息共享与RAM写端口连接的数据总线,与更新前寻址类似,更新后寻址输出同样以遍历Hi行块矩阵的方式完成,仍以H0行块矩阵为例,更新后寻址分为3个向RAM的数据写入阶段:
第0阶段:用6个时钟周期向RAM依次写入H0,j(j=0,1,...,5)的第B′c,1块节点的和信息,写地址依次为:6,11,29,30,40,43;
用6个时钟周期向RAM写入H0行块矩阵的第Br,0块节点的积信息,起始写地址为5000;
第1阶段:用6个时钟周期从RAM依次写入H0,j(j=0,1,...,5)的第B′c,2块节点的和信息,写地址依次为:7,9,27,31,41,44;
用6个时钟周期向RAM写入H0行块矩阵的第Br,1块节点的积信息,起始写地址为5006;
第2阶段:用6个时钟周期向RAM依次写入H0,j(j=0,1,...,5)的第B′c,0块节点的和信息,写地址依次为:8,10,28,32,39,42;
用6个时钟周期向RAM写入H0行块矩阵的第Br,2块节点的积信息,起始写地址为5012。
节点更新后译码寻址模块的实现结构如10所示,由6个并行工作的块旋转模块与3个FIFO构成;计算DS与PS所需的Si,j由H矩阵信息FIFO提供,RFIFO用于对和信息输出时序的控制,SFIFO用于生成块旋转模块的一组输入;输入端口由循环矩阵偏移量信息、输入控制信息、分块和信息与分块积信息构成;输出端口由输出有效信号与128bit数据输出构成。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种适用于准循环奇偶校验码行列合并和积算法的块旋转方法,其特征在于,该方法分别以行、列方向对Z阶循环子矩阵进行大小为P的分块,行、列方向的最后一个分块大小为ZmodP,其余分块大小为P,循环子矩阵非零元素的行、列序号由循环子矩阵偏移量决定,分别将行、列方向的非零元素顺序分块表示为B0,B1,...,
Figure FSA00000191581300011
同时将其中一个方向的分块表示为B′0,B′1,...,
Figure FSA00000191581300012
其中B′i=Bj
Figure FSA00000191581300013
S为这一方向的循环矩阵偏移量;其中该方法的第一种旋转模式包括:
非零元素按其中一个方向以B′0,B′1,...,
Figure FSA00000191581300014
B′0的分块顺序输入最大延迟为2的移存器组,经计算选择,以另一个方向B0,B1,...,
Figure FSA00000191581300015
的分块顺序输出,根据参数S、P、Z及分块输出计数器Counter,计算块延迟信息向量DelayState0,DelayState1,...,
Figure FSA00000191581300016
延迟选择向量DS0,DS1,...,DSP-1及并行路径选择向量PS0,PS1,...,PSP-1,随B′2的输入及当前选择向量得到第一块有效输出B0,以此类推,随最后一分块B′0的输入及当前选择信号向量得到有效输出
Figure FSA00000191581300017
最后,由一个虚拟输入及当前选择信号向量得到最后一块有效输出
Figure FSA00000191581300018
2.根据权利要求1所述的适用于准循环奇偶校验码行列合并和积算法的块旋转方法,其特征在于,该方法还包括第二种旋转模式,具体包括:非零元素按其中一个方向以B0,B1,...,B0的分块顺序输入最大延迟为2的移存器组,经计算选择,以另一个方向B′1,...,
Figure FSA000001915813000110
B′0的分块顺序输出,根据参数S、P、Z及分块输出计数器Counter,计算块延迟信息向量DelayState0,DelayState1,...,
Figure FSA000001915813000111
延迟选择向量DS0,DS1,...,DSP-1及并行路径选择向量PS0,PS1,...,PSP-1,随B1的输入及当前选择向量得到第一块有效输出B′1,以此类推,随分块
Figure FSA000001915813000112
的输入及当前选择信号向量得到有效输出随最后分块B0的输入及当前选择信号向量得到最后一块有效输出B′0
3.根据权利要求1所述的适用于准循环奇偶校验码行列合并和积算法的块旋转方法,其特征在于,若当前延迟选择向量为DS0,DS1,...,DSP-1,并行路径选择向量为PS0,PS1,...,PSP-1,则选择DSi指示的分块中第PSi个的数据作为此时第i个Douti输出数据,i=0,1,...,P-1,输出向量Dout0,Dout1,...,DoutP-1构成一个输出分块。
4.一种适用于准循环奇偶校验码行列合并和积算法的块旋转装置,应用于权利要求1所述的块旋转方法,其特征在于,该装置包括两个并行度P的移存器组、一个选择信号计算单元和一个数据输出单元,其中移存器组D1[P]、D2[P]分别为与当前并行输入D0[P]相比延迟为1、2的移存器组。
5.根据权利要求4所述的适用于准循环奇偶校验码行列合并和积算法的块旋转装置,其特征在于,该装置的选择信号计算流程如下:
a)初始化:
i、在第一种旋转模式下,Counter随B′2输入开始累加计数,DelayState向量初始化,由参数S、P、Z、Counter生成PS向量,由参数S、P、Z、Counter及DelayState向量生成DS向量;
ii、在第二种旋转模式下,Counter随B1输入开始累加计数,DelayState向量初始化,由参数S、P、Z、Counter生成PS向量,由参数S、P、Z、Counter及DelayState向量生成DS向量;
b)Counter≠0:
i、若
Figure FSA00000191581300021
Counter++:
ii、DelayState向量向右移存;
iii、由参数S、P、Z、Counter生成PS向量;
iv、由参数S、P、Z、Counter及DelayState向量生成DS向量。
6.根据权利要求5所述的适用于准循环奇偶校验码行列合并和积算法的块旋转装置,其特征在于,所述数据输出单元包括P个在功能上为P×3输入1输出的多路选择器MUXi,数据输入端分别与D0[P]、D1[P]、D2[P]的P×3个数据相连,MUXi的选择信号由延迟选择信号DSi与并行路径选择信号PSi组成,i=0,1,...,P-1。
7.一种准循环低密度奇偶校验码的通用寻址方法,应用于权利要求1所述的块旋转方法,其译码寻址方法简化为依次对H矩阵各行块中非零子矩阵作如下处理:
a)分别对非零子矩阵在行、列方向进行分块;
b)对非零子矩阵在列方向进行分块后的和信息,按照第一种旋转模式进行旋转;
c)顺序读取以行方向进行分块后的积信息,经解压,与和信息旋转后的有效输出对应构成并行度为P的积信息、和信息数据流;
d)采用行列合并和积运算对积信息、和信息数据流进行更新,算法如下:
S′mn=Sn-Rmn
R mn = 2 tanh - 1 ( Π n ′ ∈ N ( m ) \ n tanh ( S mn ′ / 2 ) ) R mn = min n ′ ∈ N ( m ) \ n ( S mn ′ )
Sn=S′mn+Rmn
其中,Sn为和信息,Rmn为解压后积信息(以下简称积信息),S′mn为和信息中间变量;
e)更新后的积信息仍然保持顺序的行方向分块;
f)对更新后的和信息按照第二种旋转模式进行旋转,旋转的有效输出恢复为和信息在列方向上的分块。
8.一种准循环低密度奇偶校验码的通用寻址装置,应用于权利要求7所述的通用寻址方法,该装置包括并行块旋转模块以及积信息解压模块,其中译码器根据码的最大行重使能以第一种旋转模式并行工作的旋转模块的数目,根据数据及计算单元并行度限制或要求设置旋转模块的P参数。
9.根据权利要求8所述的准循环低密度奇偶校验码的通用寻址装置,其特征在于,所述并行旋转模块以及所述积信息解压模块以时分的方式从连接RAM读端口与译码处理模块的数据总线上得到和信息与积信息,之后分别对两类信息进行块旋转与解压缩处理。
10.一种准循环低密度奇偶校验码的通用寻址装置,应用于权利要求7所述的通用寻址方法,该装置包括并行块旋转模块、H矩阵信息FIFO、积信息FIFO、和信息FIFO以及输出控制模块,其中译码器根据码的最大行重使能以第二种旋转模式并行工作的旋转模块的数目,根据数据及计算单元并行度限制或要求设置旋转模块的P参数。
11.根据权利要求10所述的准循环低密度奇偶校验码的通用寻址装置,其特征在于,所述H矩阵信息FIFO为块旋转模块提供循环子矩阵偏移量信息;所述和信息FIFO存储B0分块的和信息,为块旋转模块额外生成一组输入激励;所述积信息FIFO用于暂存积信息,配合输出控制模块调整更新后积信息与和信息输出数据流时序,使译码器可采用时分的方式在译码处理模块与RAM写端口连接的数据总线上传输上述两类信息。
CN2010102272695A 2010-07-07 2010-07-07 一种准循环低密度奇偶校验码的通用寻址装置及方法 Pending CN102315902A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102272695A CN102315902A (zh) 2010-07-07 2010-07-07 一种准循环低密度奇偶校验码的通用寻址装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102272695A CN102315902A (zh) 2010-07-07 2010-07-07 一种准循环低密度奇偶校验码的通用寻址装置及方法

Publications (1)

Publication Number Publication Date
CN102315902A true CN102315902A (zh) 2012-01-11

Family

ID=45428754

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102272695A Pending CN102315902A (zh) 2010-07-07 2010-07-07 一种准循环低密度奇偶校验码的通用寻址装置及方法

Country Status (1)

Country Link
CN (1) CN102315902A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108364671A (zh) * 2018-04-20 2018-08-03 睿力集成电路有限公司 半导体存储器的奇偶校验装置及半导体存储器
CN115842558A (zh) * 2023-02-22 2023-03-24 华中科技大学 基于hls的qc-ldpc译码器的设计方法及qc-ldpc译码器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080104474A1 (en) * 2004-10-01 2008-05-01 Joseph J Laks Low Density Parity Check (Ldpc) Decoder
CN101588183A (zh) * 2009-06-26 2009-11-25 北京交通大学 一种ldpc码快速编码方法与系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080104474A1 (en) * 2004-10-01 2008-05-01 Joseph J Laks Low Density Parity Check (Ldpc) Decoder
CN101588183A (zh) * 2009-06-26 2009-11-25 北京交通大学 一种ldpc码快速编码方法与系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
管武等: "应用循环移位矩阵设计LDPC码译码器", 《应用科学学报》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108364671A (zh) * 2018-04-20 2018-08-03 睿力集成电路有限公司 半导体存储器的奇偶校验装置及半导体存储器
CN108364671B (zh) * 2018-04-20 2023-10-13 长鑫存储技术有限公司 半导体存储器的奇偶校验装置及半导体存储器
CN115842558A (zh) * 2023-02-22 2023-03-24 华中科技大学 基于hls的qc-ldpc译码器的设计方法及qc-ldpc译码器

Similar Documents

Publication Publication Date Title
CN101771421B (zh) 基于tdmp的超高速低功耗qc-ldpc码解码器
CN101252361B (zh) 一种支持预搜索的面积紧凑型bch并行译码电路
CN102075198B (zh) 准循环低密度奇偶校验卷积码编译码系统及其编译码方法
CN101800559B (zh) 一种基于tdmp的高速可配置qc-ldpc码解码器
CN102437857B (zh) 一种ira-ldpc码的构造方法及其编码器
CN101902228B (zh) 快速循环冗余校验编码方法及装置
Theodoropoulos et al. An efficient LDPC encoder architecture for space applications
CN101604975A (zh) 一种低功耗多模qc-ldpc码解码器及其工作方法
CN101964664B (zh) 一种适用于CMMB的多模式Reed-Solomon译码器结构
CN106533452B (zh) 一种多进制ldpc编码方法及编码器
CN102291153B (zh) Cmmb中ldpc码的译码方法及部分并行译码器
CN102217200A (zh) 译码电路及编码电路
CN101296053A (zh) 计算循环冗余校验码之方法及系统
CN102820892A (zh) 一种用于并行bch编码的电路、编码器及方法
CN102315902A (zh) 一种准循环低密度奇偶校验码的通用寻址装置及方法
CN101425875B (zh) 一种解码器
Xie et al. High throughput multi-code LDPC encoder for CCSDS standard
CN103036577B (zh) 一种低复杂度的低密度奇偶校验ldpc码编码电路结构
CN102480336B (zh) 一种准循环低密度奇偶校验码的通用快速译码协处理器
CN204906368U (zh) 一种qc-ldpc编码装置
CN104796158A (zh) 一种针对固定信息长度的ldpc编译码系统平台
CN110730003B (zh) 一种ldpc编码方法及ldpc编码器
CN102929574A (zh) Gf(2163)域上的脉动乘法器设计方法
CN104539294A (zh) 一种用于Turbo码和LDPC码译码器的地址生成器
CN103236852B (zh) 无乘法运算的dtmb中准循环矩阵串行乘法器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120111