CN101252361A - 一种支持预搜索的面积紧凑型bch并行译码电路 - Google Patents

一种支持预搜索的面积紧凑型bch并行译码电路 Download PDF

Info

Publication number
CN101252361A
CN101252361A CNA200710123852XA CN200710123852A CN101252361A CN 101252361 A CN101252361 A CN 101252361A CN A200710123852X A CNA200710123852X A CN A200710123852XA CN 200710123852 A CN200710123852 A CN 200710123852A CN 101252361 A CN101252361 A CN 101252361A
Authority
CN
China
Prior art keywords
circuit
search
error
syndrome
decoding
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.)
Granted
Application number
CNA200710123852XA
Other languages
English (en)
Other versions
CN101252361B (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.)
ZHONGXING INTEGRATED CIRCUIT DESIGN CO Ltd SHENZHEN CITY
Original Assignee
ZHONGXING INTEGRATED CIRCUIT DESIGN CO Ltd SHENZHEN CITY
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 ZHONGXING INTEGRATED CIRCUIT DESIGN CO Ltd SHENZHEN CITY filed Critical ZHONGXING INTEGRATED CIRCUIT DESIGN CO Ltd SHENZHEN CITY
Priority to CN200710123852XA priority Critical patent/CN101252361B/zh
Publication of CN101252361A publication Critical patent/CN101252361A/zh
Application granted granted Critical
Publication of CN101252361B publication Critical patent/CN101252361B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Abstract

一种支持预搜索的面积紧凑型BCH并行译码电路,是工作在有限域GF(213)上,所述并行译码电路包括伴随式校正子运算电路(1)、有限域GF(213)上IBM错误位置多项式迭代运算的一轮多拍实现电路(2)、具有全组合逻辑预搜索模块(25)的错误地址搜索电路(3)和译码器多功能可配置数据接口(27)。同现有技术相比较,具有硬件复杂度低,电路面积紧凑,成本低廉;数据吞吐率高,错误地址搜索速度快;接口设计简单实用,功能齐全;根据校验元长度的需求,可灵活配置纠错性能,且不受码长变化的影响。

Description

一种支持预搜索的面积紧凑型BCH并行译码电路
技术领域
本发明涉及用于检错或纠错的编码、译码或代码转换电路,尤其涉及应用循环码,即通过码字循环移位产生校验信息的由多项式、玻色一查德赫利—霍克昆海母(Bose-Chaudhuri-Hocquenghem,即BCH)编码发生器定义的差错控制码,特别是涉及在NandFlash型结构大容量存储设备控制芯片中的一种BCH译码器电路。
背景技术
在NandFlash型结构大容量存储设备的控制芯片中,当数据写入存储单元时,需要按一定规则人为地写入一部分冗余数据,用于差错控制,以保证数据读出时进行误码检测和校正。BCH码是可纠正多个随机错误的码,这与NandFlash存储设备的常规出错类型相符。采用超长BCH码作为NandFlash控制器纠错编码ECC单元的优点是:
(1)在保护相同长度的数据时,对于给定的随机错误数,二进制BCH码需占用的冗余数据空间通常要低于里德—索罗蒙RS(Reed-Solomon)码;
(2)在译码时,二进制BCH码仅需搜索错误位置,待获得错误位置后,只需将错误位取反即完成纠错。
目前,消费类大容量存储器件要求ECC单元不断提升纠错处理性能,并压缩硬件实现低成本。基于这种考虑,以BCH码作为纠错码型,为不同规格和品质的存储器件提供数据保护,需要做到实现代价低、纠错能力强、处理性能高。
对于任意正整数m,设二进制BCH码的标准码长为N=2m-1bits,信息元为Kbits,则该码的相关指标为:校验元长为N-Kbits;纠错能力 t ≥ N - K m (其中m≥3);最小码距dmin≥2t+1。
目前BCH码并行编码电路已经被广泛采用,并行译码电路的实现结构还没有完全统一。通常BCH码的译码主要分为三步:
(1)从接收码字中计算伴随多项式的各校正子Si(x);
(2)采用伯利坎普—梅西BM(Berlekamp-Massey)迭代算法得到差错位置多项式σ(x);
(3)采用Chien搜索法求解差错位置多项式σ(x),并纠错。
在上述第二步中,伯利坎普和梅西提出的BM迭代译码算法是用于BCH和RS解码器中解关键方程的实用方法,与欧几里德(Euclidean)算法和连分数算法相比,BM算法的硬件复杂度较低。此外,BM算法可以设计成只计算错误位置多项式σ(x),而不必同时计算错误值多项式Ω(x),因此在无需计算Ω(x)的二进制BCH码译码中广泛使用。这是因为这种码的错误仅由“1”错成“0”,或由“0”错成“1”两种情况,错误值总为“1”,因此在找到错误位置后只要将该位置的数据按位取反,即可纠正错误。
但是,经典的BM算法中需要复杂的有限域求逆运算,有限域的求逆运算要么需要复杂的硬件实现结构,要么采用查表方式,需在电路中加入ROM或Flash型存储单元。这些方法与低成本和低算法复杂度的设计目标相违背。伯顿(Burton H.)在1971年中提出了一种针对二进制BCH码的无求逆(Inversionless)伯利坎普—梅西译码算法IBM,简化了算法实现。采用IBM迭代算法后,二进制BCH码的译码步骤变更为:
(1)从接收码字中计算伴随多项式S1(x);
(2)采用IBM迭代算法得到常数项非“0”的差错位置多项式μ(x);
(3)采用Chien搜索法求解差错位置多项式μ(x)并纠错。
针对上述译码步骤(1)和(3),Chen Y.等人给出了伴随多项式运算电路和并行Chien搜索电路(参见“Chen Y.and Parhi K.K.,Area efficient parallel decider architecturefor long BCH codes.IEEE Proceedings on ICASSP 2004,2004:73-76.”)。针对上述译码步骤(2),里德(Reed I.S.)等人将IBM算法扩展用于解非二进制BCH码,并给出了IBM算法的超大规模集成电路VLSI结构,当前这种实现结构被广泛采用(参见“Reed 1.S.,ShihM.T.,VLSI design of inverse-free Berlekamp-Massey algorithm.In 1EE Proceedings onComputers and Digital Techniques,1991,138(5):295-298.”)。张军等人提出了超高速低复杂度IBM算法电路结构(参见“张军,王志功,胡庆生等.高速Berlekamp-Massey算法结构及电路实现.电路与系统学报,2006,11(4):85-89.”),降低了关键路径延迟,采用了2t+1个二输入有限域乘法器。
对于BCH码的译码步骤(1)的伴随多项式运算电路,在数据输入端需要大量的有限域常系数乘法单元,电路的实现代价大,关键路径长。
对于BCH码的译码步骤(2),在有限域GF(213)上纠错能力为t比特的BCH码,若采用里德等人的实现电路,实现结构需要3t-1个二输入乘法器,根据不同的工艺库,单个组合逻辑乘法电路的实现面积通常在1000门左右,3t-1个二输入乘法器的实现代价将超过整个译码电路的50%。若采用张军等人的实现电路,虽然降低了关键路径延迟,但仍需采用2t+1个二输入有限域乘法器,实现代价依然较大。
对于BCH码的译码步骤(3),现有的并行Chien搜索电路对常用的BCH截短码并没有采取专门措施,需要对截去的空数据单元进行搜索,限制了错误位置的搜索速度。
由于在上述BCH码的三个译码步骤的实现电路中,现有技术存在硬件实现面积大、关键路径延时长等问题,无法满足大容量便携式存储系统的要求。
为避免上述现有技术的不足之处,中国专利申请2005 1 0134376.2公开了一种“BCH编码中Galois扩域运算的快速实现方法”,预先建立幂次表示和多项式表示之间各元素的对应关系;通过Galois扩域元素的两种表示方法实现混合运算,提高了BCH编解码的运算速度,降低了Galois扩域运算软件实现的复杂性。该算法针对软件实现具有很好的适应性,然而这种Galois扩域运算需要分多个步骤进行,并且需要兼容所有Galois扩域,因而它在硬件实现面积和运算速度上都无法满足当前大容量便携式NandFlash存储产品的需求。
中国专利申请2004 1 0005777.3还公开了一种“快速纠双错BCH码译码电路”,根据译码码字的错误图样不大于2-bit这一特点,给出了一种无需Chien搜索法,也不用查找表ROM,直接从伴随式结果即可计算出错误位置的快速译码算法。译码结构简单,硬件复杂度低。然而,目前大容量NandFlash存储产品的容量在继续不断增大,特别是在消费类数码产品中,NandFlash的质量参差不齐,2-bit的纠错性能已经难以保证各种NandFlash产品的使用可靠性。而本发明“支持预搜索的面积紧凑型BCH并行译码电路”可根据不同的NandFlash产品质量,在一个电路上分别实现纠正16、12、8、4bit的错误,更加适合当前的相关产品应用。
发明内容
本发明要解决的技术问题在于避免现有BCH码译码电路的缺点和应用灵活性上的不足,提出一种BCH码并行译码的VLSI实现电路。在一个译码器的硬件实现结构之上,使BCH译码器的实现面积大幅缩减,提高误码的搜索速度;通过对电路接口的重新设计,使BCH译码器支持多种纠错性能和不同码长。从而使采用该译码电路的集成电路产品达到体积小、成本低、功能全、速度快的特点。
本发明解决所述技术问题可以通过采用以下技术方案来实现:
设计一种支持预搜索的面积紧凑型BCH并行译码电路,所述并行译码电路工作在有限域GF(213)上,包括伴随式校正子运算电路、错误位置多项式迭代电路和错误地址搜索电路;所述伴随式校正子运算电路借助8路双路选通器,在校正子的8-bit并行运算电路输入端完成有限域常系数乘法;所述迭代电路借助IBM迭代运算的一轮多拍实现电路之2套多路选通器,复用一个有限域GF(213)上的二输入乘法器,在实现IBM迭代算法时,运行一轮迭代多拍运算;所述错误地址搜索电路中则设置了全组合逻辑预搜索模块;所述BCH并行译码电路为8-bit并行译码电路。
A.所述伴随式校正子运算电路,采用1-bit变量与13-bit常量有限域乘法的双路选通实现结构,完成二进制接收码序列RN,RN-1…R0与13-bit有限域常量的乘法;对于8-bit并行输入,需要8路双路选通器。设Sj(j∈[1,2t])为伴随式运算结果,伴随式校正子的8-bit并行运算电路模型为:
X ^ j ( 0 ) = 0 X ^ j ( k + 1 ) = α 8 j ( Σ i = 8 k 8 k + 7 R N - i α ( i - 8 k ) j ) + X ^ j ( k ) S j = X ^ j ( N / 8 ) - - - ( 1 )
式(1)中R为接收码字序列,k为运算迭代时的状态变量;接收总码长为N比特,由于编、译码处理及存储方式都以字节为单位,故N可被8整除;式(1)中接收码字第RN-i-bit与13-bit有限域常量α(i-8k)j的乘法采用双路选通实现结构;对于8组双路选通器,其两个输入端分别为“0”和αmj(m=0,1,…7)。当接收比特RN-i=0(i=0,1,...N-1)时,输入端“0”选通,乘法结果为“0”;当接收比特RN-i=1时,输入端常量αmj选通,乘法结果为αmj
译码码字通过伴随式校正子运算电路得到2t个伴随式校正子Sj(j∈[1,2t]),然后控制IBM_enable使能信号使能错误位置多项式迭代电路,在每轮迭代前2t个校正子Sj(j∈[1,2t])按照从S2t至S1的方向移动一次,移出校正子通过shift[12:0]端口移入到错误位置多项式迭代电路(2)的Tj(j∈[0,t])寄存器组中,且移入方向为T0到Tt,在2t轮迭代完成后错误位置多项式迭代电路得到错误位置多项式各参数μ1、μ2……μt和错误数指示信号Error_num[4:0],此时Search_enable信号有效使能错误地址搜索电路(3),最后搜索出错误地址Error_address[9:0]和相应的错误图样Error_data[7:0]。
B.伴随式校正子运算电路的码字正确指示信号Code_correct和错误地址搜索电路的错误搜索完毕指示信号Search_done做逻辑或,得到译码结束指示信号Decode_done信号;当码字输入完毕若无错,则Code_correct有效,同时Decode_done信号有效;若有错,则错误位置多项式迭代电路和错误地址搜索电路工作完毕后Search_done信号有效,同时Decode_done信号有效。
C.所述的错误位置多项式迭代电路,针对IBM迭代算法,一轮多拍实现结构将状态机与各选通单元的配置逻辑相结合,通过控制单元对2套多路选通器的配置来复用有限域GF(213)上的二输入乘法器,配置信号分为2路,从而用多个时钟周期完成一轮的IBM算法迭代;在一轮IBM迭代中,二输入乘法器被复用3t+2次,复用由控制单元对2套多路选通器的配置完成,且复用顺序符合:(T0μ0),(T1μ1),…(Ttμt),(λt-1Mout),(μtYout),(λt-2Mout),(μt-1Yout),… (λ0Mout),(μ1Yout),(μ0Yout),其中“”表示有限域GF(213)上的乘法运算;该迭代电路对有限域二输入乘法器的复用率高,迭代速度有所降低,而电路的实现面积得到大幅压缩;同时,采用一轮迭代多拍运算,将有助于降低电路中的关键路径延迟。
D.所述具有全组合逻辑预搜索模块的错误地址搜索电路,采用全组合逻辑预搜索模块。在使用有限域GF(213)上的BCH截短码时,标准码长N=213-1被截短为N′,此时Chien搜索电路需要空搜索L=N-N′比特。纠错能力为t比特时,在搜索电路中引入全组合逻辑预搜索模块,将错误位置多项式的参数μ0直接送入并行Chien搜索电路,等效于与α0做有限域乘法;将参数μ1、μ2、…μt分别与调整子αL、α2L、…αtL做有限域乘法后再送入并行Chien搜索电路,如此将跳过Chien搜索法需要空搜索的L个比特,直接从第L+1比特进行错误位置搜索。其硬件实现简单,搜索速度获得大幅提升。
E.所述支持预搜索的面积紧凑型BCH并行译码电路,采用多功能可配置数据接口,不需配置码长N,译码电路根据输入数据长度自行完成校验和纠错,码长N的取值范围在256比特,即32字节,和8184比特,即1023字节之间;且纠错位数t可分别配置为16、12、8、4比特。
同现有技术相比较,本发明“一种支持预搜索的面积紧凑型BCH并行译码电路”的技术效果在于:1.具有硬件复杂度低,电路面积紧凑,成本低廉。2.数据吞吐率高,错误地址搜索速度快。3.接口设计简单实用,功能齐全。4.根据校验元长度的需求,可灵活配置纠错性能,且不受码长变化的影响。
附图说明
图1是本发明的整体电路框图;
图2是本发明的有限域GF(213)上BCH译码器的伴随式校正子运算电路;
图3是本发明的有限域GF(213)上IBM错误位置多项式迭代运算的一轮多拍实现电路;
图4是本发明的采用全组合逻辑预搜索模块的错误地址搜索电路;
图5是本发明的多功能可配置数据接口框图;
图6是现有技术在有限域GF(2n)上的BCH译码IBM迭代运算电路;
附图1-5中“”表示有限域GF(213)上的加法,“”表示有限域GF(213)上的乘法;
附图6中“”表示有限域GF(2n)上的加法,“”表示有限域GF(2n)上的乘法。
具体实施方式
以下结合附图所示之优选实施例作进一步详述:
一种支持预搜索的面积紧凑型BCH并行译码电路,如图1至图5所示,工作在有限域GF(213)上,包括伴随式校正子运算电路1、错误位置多项式迭代电路2和错误地址搜索电路3;所述运算电路1借助伴随式校正子的8-bit并行运算电路4中双路选通器4-1至4-8完成输入端的有限域常系数乘法;所述迭代电路2借助IBM迭代运算的一轮多拍实现电路之2套多路选通器9和10,复用一个有限域GF(213)上的二输入乘法器11,在实现IBM迭代算法时,运行一轮迭代多拍运算;所述错误地址搜索电路3中则设置了全组合逻辑预搜索模块25;所述BCH并行译码电路为8-bit并行译码电路。
图1为其整体电路框图。图中各信号的功能描述如下:
A.输入信号
Clock:系统时钟输入;
Resetn:电路的异步复位端,低电平有效;
Restartn:电路的同步复位端,低电平有效;
In_enable:码字输入使能信号,高电平有效,与首个接收数据同步置“1”;
Input_end:码字输入截止使能信号,高电平有效,数据输入时保持低电平,与最后一个8-bit数据同步置“1”;
Search_next:搜索下一个错误,上升沿使能,使能后Chien搜索电路将脱离等待状态,继续搜索错误;
Ecc_mode[1:0]:纠错能力选择信号,2位信号分别表示四种纠错状态,即纠错位数可配置为16、12、8、4比特;
Data_in[7:0]:译码数据输入端口,共8位。
B.输出信号
Decode_done:译码结束指示信号,高电平有效,无误码时在数据输入完毕后置“1”,出错时在纠错完毕后置“1”,是内部连接信号Code_correct和Search_done的逻辑或输出;
Decode_error:超出纠错能力指示信号,高电平有效,当出错数超过纠错能力时,在纠错完毕后置“1”,否则保持为“0”电平;
Error_occur:误码发生指示信号,码字有误时置“1”,否则保持为“0”电平;
Error_searched:指示搜索到一个出错字节,高电平有效,有效后并行Chien搜索电路26暂停搜索,等待纠错处理完成,译码器收到Search_next高电平信号后,并行Chien搜索电路26开始继续搜索;
Error_address[9:0]:出错字节地址输出,每当Error_searched有效时输出错误字节地址,因为码长在256比特,即32字节,和8184比特,即1023字节之间可变,所以该信号具备10-bit最大位宽;
Error_data[7:0]:错误图样输出,每当Error_searched有效时输出错误字节内的错误图样。
C.内部连接信号
Code_correct:码字正确指示信号,高电平有效,由伴随式并行运算电路1发出;
Search_done:错误搜索完毕指示信号,高电平有效,由错误地址搜索电路3发出;
Code_length[9:0]:码长计数信号,取值在32字节和1023字节之间,由伴随式并行运算电路1发出,具有全组合逻辑预搜索模块25的错误地址搜索电路3收到后控制搜索范围;
IBM_enable:错误位置多项式迭代使能信号,高电平有效,在伴随式运算完毕后,由伴随式校正子运算电路1发送至错误位置多项式迭代运算的一轮多拍实现电路2;
Shift[12:0]:伴随式校正子移位信号,伴随式运算完毕后,在每个IBM迭代轮次开始时,从伴随式校正子运算电路1的寄存器组S中移出一个校正子Sj(j=1,2,...2t),送入错误位置多项式迭代运算的一轮多拍实现电路2的寄存器组T中;
μ0……μt:错误位置多项式各参数,位宽都为13-bit,在错误位置多项式迭代完成后保持,由错误位置多项式迭代运算的一轮多拍实现电路2发至具有全组合逻辑预搜索模块25的错误地址搜索电路3;
Search_enable:具有全组合逻辑预搜索模块25的错误地址搜索电路3使能信号,高电平有效,在错误位置多项式迭代完成后,由错误位置多项式迭代运算的一轮多拍实现电路2发至具有全组合逻辑预搜索模块25的错误地址搜索电路3;
Error_num[4:0]:错误数指示信号,在错误位置多项式迭代完成后给出错误数,由错误位置多项式迭代运算的一轮多拍实现电路2发至具有全组合逻辑预搜索模块25的错误地址搜索电路3。
图2为有限域GF(213)上的伴随式校正子运算电路,输入码字以8-bit并行方式进入电路,在一个时钟周期内8个支路①、②......⑧各输入1-bit数据。输入端采用1-bit变量与13-bit常量有限域乘法的双路选通实现结构4,将1-bit输入数据与GF(213)上的常量做有限域乘法。接收码字第RN-i比特与有限域常量α(i-8k)j的乘法为8路双路选通器4-1至4-8,其两个输入端分别为“0”和αmj(m=0,1,...7)。当接收比特RN-i=0(i=0,1,...N-1)时,“0”输入端选通,乘法结果为“0”;当接收比特RN-i=1时,常量αmj(m=0,1,...7)输入端选通,乘法结果为αmj。接着,8路乘法结果进入有限域加法器5,做异或操作。13-bit寄存器7在每个时钟节拍的上升沿到来时更新为上一拍的输入信号,其寄存数据进入有限域常量α8j乘法器8后,与有限域加法器5的结果再次进入异或单元6,作为下一时钟周期寄存器7的输出,如此每个节拍更新寄存器7,直到所有码字并行输入完毕。当纠错能力为t比特时,需要同时计算2t个校正子Sj(j∈[1,2t]),即2t个伴随式校正子运算电路,构成所述并行伴随式校正子运算电路1。
图3是有限域GF(213)上IBM错误位置多项式迭代运算的一轮多拍实现电路。针对IBM迭代算法,一轮多拍实现结构将状态机12与各选通单元的配置逻辑13相结合,通过控制单元14对多路选通器9和多路选通器10的配置来复用有限域GF(213)上的二输入乘法器11,配置信号分别为ctr1和ctr2,从而用多个时钟周期完成一轮的IBM算法迭代。如图3示,一轮IBM算法的迭代实现步骤如下:
(1)按照IBM迭代算法初始化各寄存器,分别将13-bit寄存器μ0、λ0置为“1”,13-bit寄存器23置为“1”,迭代轮次k=0,误码比特数L=0,其余寄存器全部清“0”。
(2)将校正子Sj按S1、S2、……S2t的顺序移出一个,移入到寄存器T0中,同时将原寄存器Ti(i=0,1,…,t-1)中的数据移动一次到Ti+1中,此时原寄存器Tt中的数据被Tt-1覆盖,如此2t个校正子需按2t个迭代轮次逐个移入寄存器T0...Tt中。
(3)控制单元14发出信号ctr5将反向多路选通器15的通路①打开并保持;同时发出信号ctr1和ctr2将多路选通器9从左至右依次选通,将多路选通器10从上至下依次选通。如此,在t+1个时钟周期中,对有限域GF(213)上的二输入乘法器11的复用顺序为:(T0μ0),(T1μ1),……(Ttμt)。
(4)迭代轮次k=k+1;若13-bit寄存器(18)的乘法累加信号Mout为“0”,则当前误码比特数L保持不变,否则L=k-L+1。
(5)在判断电路21中,若满足Mout=0或2L>k,则发出选通信号Ctr3控制双路选通器22更新13-bit寄存器23;发出信号Ctr4控制λ寄存器组的更新电路24,将t个双路选通器m0、m1……mt-1的通路②打开。若不满足Mout=0或2L>k,则配置选通信号Ctr4打开m0、m1……mt-1的通路①;同时,选通信号Ctr3控制双路选通器22使13-bit寄存器23保持原状态。
(6)信号Mout和Yout确定后,控制多路选通器9和多路选通器10,接着步骤(3)分别从左至右、从上至下继续做有限域乘法。乘法发生的顺序应为(λt-1Mout),(μtYout),(λt-2Mout),(μt-1Yout),……(λ0Mout),(μ1Yout),(μ0Yout)。
(7)步骤(6)第一个乘法(λt-1Mout)完成后,反向多路选通器15的通路②打开,由13-bit寄存器17暂存结果。
(8)第二个乘法(μtYout)完成后,反向多路选通器15的通路③打开,与寄存器17的暂存结果进入异或单元19。控制单元14的发出配置信号ctr6控制反向多路选通器20更新信号μt_next,并将信号μt_next存入寄存器μt中,同时将λ寄存器组更新电路24中的信号λt-1_next存入寄存器λt-1中。
(9)依此类推,将随后乘法(λt-2Mout)和(μt-1Yout)之结果分别更新到寄存器μt-1和λt-2中。
(10)最后一次乘法(μ0Yout)完成后,因为寄存器组λ已经更新完毕,所以13-bit寄存器17清零,反向多路选通器15的通路③打开,配合多路选通单元20得到信号μ0_next并存入寄存器μ0中。返回步骤(2),开始下一轮的IBM算法迭代。
待2t个校正子Sj(j∈[1,2t])全部移入电路并迭代2t轮后,错误位置多项式迭代运算的一轮多拍电路2工作完毕,此时寄存器μ0、μ1……μt即为错误位置多项式各参数,须送入具有全组合逻辑预搜索模块25的错误地址搜索电路3。
图4是具有全组合逻辑预搜索模块25的错误地址搜索电路,仍采用Chien搜索法。在并行Chien搜索电路26的参数输入端,加入了全组合逻辑预搜索模块25。对于错误位置多项式各参数μ0、μ1……μt,将μ0直接送入并行Chien搜索电路26,将错误位置多项式各参数μ1、μ2……μt与调整子αL、α2L、……αtL做有限域乘法后送入并行Chien搜索电路26,近而直接由第L+1比特开始Chien搜索。并行Chien搜索电路26根据实现代价的需求可选择8-bit或4-bit并行。
图5是译码器的多功能可配置数据接口框图,所述BCH码并行译码电路数据处理位宽为8-bit,不需配置码长N,译码电路根据输入数据长度自行改变信息码长K。无须改变电路,纠错位数t可分别配置为16、12、8、4比特。图中输入信号/输出信号的功能描述同图1输入信号/输出信号的功能。
所述伴随式校正子运算电路1,将二进制接收码字序列RN,RN-1…R0与13-bit有限域常量的乘法,变为1-bit变量与13-bit常量有限域乘法的双路选通实现结构4,降低了实现代价和电路的关键路径延迟。
所述错误位置多项式迭代运算的一轮多拍实现电路2,仅采用一个有限域GF(213)上的二输入乘法器11,电路复用率高,虽然迭代速度有所降低,而电路的实现面积得到大幅度压缩,比现有技术降低近60%;同时采用一轮迭代多拍运算,有助于降低电路中的关键路径延迟。
所述全组合逻辑预搜索模块的错误地址搜索电路3,采用全组合逻辑预搜索模块25。对于截去了L比特的BCH截短码,可直接从第L+1比特进行Chien搜索,其硬件实现简单,搜索速度获得大幅提升。
所述并行BCH码译码电路,采用多功能可配置数据接口27。不需配置码长N,译码电路根据输入数据长度自行完成校验与纠错,且无须改变电路,纠错位数t可分别配置为16、12、8、4比特。
采用所述方案设计的BCH码,具有硬件复杂度低,数据吞吐率高,接口设计简单实用,根据校验元长度的需求,可灵活配置纠错性能,且不受码长变化的影响。适合于低成本要求、高处理效率和纠错性能的差错控制系统,特别是大容量NandFlash存储系统中。
如果仅保留所述伴随式并行运算电路,可以仅用作BCH码校验;所述错误地址搜索电路是在有限域GF(213)上的,其中全组合逻辑预搜索模块还可应用于有限域GF(2n)上的BCH译码电路中,应用时数据位宽13调整为n。
本发明所述电路适合于纠随机误码的应用场合,在无线通信终端系统芯片、光纤通信接口芯片等产品中也具有较大的应用空间。
电路描述语言采用Verilog HDL,在Synopsys公司的VCS验证环境下进行了实验验证。采用BCH(4256,4152)码,当纠错能力配置为8比特时,对于4152比特即519字节的全“FF”信息元,得到的104比特即13字节校验元为:
104’h e1 b0 f7 86 79 8a a7 eb 34 ef 16 c8 30
译码输入为519字节信息元加13字节校验元,共532字节。将电路接口配置为8-bit纠错模式,故意造成8-bit的数据差错,其中第1字节的高4位连续出错,最后一个字节,即第532字节的低4位连续出错,即译码器输入:
4256’h 0f ff ff ff……ff e1 b0 f7 86 79 8a a7 eb 34 ef 16 c8 3f译码后输出为:错误1地址(Error_address[9:0]):10’h 000;错误1图样(Error_data[7:0]):8’h f0。错误2地址(Error_address[9:0]):10’h 213;错误2图样(Error_data[7:0]):8’h 0f。其中错误1是信息元出错,错误2为校验元出错,纠错功能完全正确。

Claims (6)

1.一种支持预搜索的面积紧凑型BCH并行译码电路,其特征在于:所述并行译码电路工作在有限域GF(213)上,包括伴随式校正子运算电路(1)、错误位置多项式迭代电路(2)和错误地址搜索电路(3);所述运算电路(1)借助伴随式校正子的8-bit并行运算电路(4)中双路选通器(4-1)至(4-8)完成输入端的有限域常系数乘法;所述迭代电路(2)借助IBM迭代运算的一轮多拍实现电路之多路选通器(9,10),复用一个有限域GF(213)上的二输入乘法器(11),在实现IBM迭代算法时,运行一轮迭代多拍运算;所述错误地址搜索电路(3)中则设置了全组合逻辑预搜索模块(25);所述BCH并行译码电路为8-bit并行译码电路。
2.根据权利要求1所述的支持预搜索的面积紧凑型BCH并行译码电路,其特征在于:译码码字通过并行伴随式运算电路(1)得到2t个伴随式校正子Sj(j∈[1,2t]),然后控制IBM_enable使能信号使能错误位置多项式迭代电路(2),在每轮迭代前2t个校正子Sj(j∈[1,2t])按照从S2t至S1的方向移动一次,移出校正子通过shift[12:0]端口移入到错误位置多项式迭代电路(2)的Tj(j ∈[0,t])寄存器组中,且移入方向为T0到Tt,在2t轮迭代完成后错误位置多项式迭代电路(2)得到错误位置多项式各参数μ1、μ2……μt和错误数指示信号Error_num[4:0],此时Search_enable信号有效使能错误地址搜索电路(3),最后搜索出错误地址Error_address[9:0]和相应的错误图样Error_data[7:0]。
3.根据权利要求1所述的支持预搜索的面积紧凑型BCH并行译码电路,其特征在于:并行伴随式运算电路(1)的码字正确指示信号Code_correct和错误地址搜索电路(3)的错误搜索完毕指示信号Search_done做逻辑或,得到译码结束指示信号Decode_done信号;当码字输入完毕若无错,则Code_correct有效,同时Decode_done信号有效;若有错,则错误位置多项式迭代电路(2)和错误地址搜索电路(3)工作完毕后Search_done信号有效,同时Decode_done信号有效。
4.根据权利要求1所述的支持预搜索的面积紧凑型BCH并行译码电路,其特征在于:所述的错误位置多项式迭代电路(2),针对IBM迭代算法,一轮多拍实现结构将状态机(12)与各选通单元的配置逻辑(13)相结合,通过控制单元(14)对多路选通器(9,10)的配置来复用有限域GF(213)上的二输入乘法器(11),配置信号分别为ctr1和ctr2,从而用多个时钟周期完成一轮的IBM算法迭代;在一轮IBM迭代中,二输入乘法器(11)被复用3t+2次,复用由控制单元(14)对多路选通器9和多路选通器10的配置完成,且复用顺序符合:(T0μ0),(T1μ1),…(Ttμt),(λt-1Mout),(μtYout),(λt-2Mout),(μt-1Yout),…(μ0Mout),(μ1Yout),(μ0Yout),其中“”表示有限域GF(213)上的乘法运算。
5.根据权利要求1所述的支持预搜索的面积紧凑型BCH并行译码电路,其特征在于:在有限域GF(213)上,当使用截短码时,标准码长N=213-1被截短为N′;所述错误地址搜索电路(3)的全组合逻辑预搜索模块(25)中,对于t比特的纠错能力,全组合逻辑预搜索模块(25)分别将错误位置多项式各参数μ1、μ2、…μt与调整子αL、α2L、…αtL做有限域乘法后,跳过Chien搜索法需要空搜索的L个比特,直接从第L+1比特开始错误位置搜索。
6.根据权利要求1所述的支持预搜索的面积紧凑型BCH并行译码电路,其特征在于:采用多功能可配置数据接口(27),不需配置码长N,所述译码电路根据输入数据长度自行译码纠错,码长N的取值范围在256比特,即32字节,和8184比特,即1023字节之间;无须改变电路,纠错位数t可分别配置为16、12、8、4比特。
CN200710123852XA 2007-10-11 2007-10-11 一种支持预搜索的面积紧凑型bch并行译码电路 Active CN101252361B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200710123852XA CN101252361B (zh) 2007-10-11 2007-10-11 一种支持预搜索的面积紧凑型bch并行译码电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200710123852XA CN101252361B (zh) 2007-10-11 2007-10-11 一种支持预搜索的面积紧凑型bch并行译码电路

Publications (2)

Publication Number Publication Date
CN101252361A true CN101252361A (zh) 2008-08-27
CN101252361B CN101252361B (zh) 2011-12-21

Family

ID=39955563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710123852XA Active CN101252361B (zh) 2007-10-11 2007-10-11 一种支持预搜索的面积紧凑型bch并行译码电路

Country Status (1)

Country Link
CN (1) CN101252361B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102594370A (zh) * 2012-02-27 2012-07-18 成都国微电子有限公司 一种高效低延时并行钱搜索方法和装置
CN102761340A (zh) * 2012-08-10 2012-10-31 济南微晶电子技术有限公司 一种bch并行编码电路
CN103138770A (zh) * 2010-01-12 2013-06-05 北京忆恒创源科技有限公司 有限域平方计算电路
CN101931415B (zh) * 2009-06-19 2014-04-30 成都市华为赛门铁克科技有限公司 编码装置及方法、译码装置及方法和纠错系统
CN105049062A (zh) * 2014-04-18 2015-11-11 株式会社东芝 钱式搜索装置、存储装置以及钱式搜索方法
CN105553485A (zh) * 2015-12-08 2016-05-04 西安电子科技大学 基于fpga的bch编解码装置及其编解码方法
CN105741880A (zh) * 2014-12-10 2016-07-06 上海华虹集成电路有限责任公司 Sim卡装置及用于sim卡的ecc纠错模块
CN103929211B (zh) * 2014-04-30 2017-02-15 中国科学院微电子研究所 一种bch编码方案自适应调整方法及系统
CN106549677A (zh) * 2016-08-28 2017-03-29 航天恒星科技有限公司 高速并行bch码译码方法及装置
CN106961283A (zh) * 2017-03-31 2017-07-18 山东超越数控电子有限公司 一种基于bch译码器的ibm算法的优化方法
CN107040333A (zh) * 2016-02-03 2017-08-11 富士施乐株式会社 解码装置、信息传输系统和解码方法
CN108847851A (zh) * 2018-06-08 2018-11-20 山东超越数控电子股份有限公司 一种二元bch码伴随式矩阵的实现方法
CN111627481A (zh) * 2020-05-20 2020-09-04 中国科学院微电子研究所 一种字线译码电路、字线选通方法及存储器和电子设备
CN111835494A (zh) * 2020-07-23 2020-10-27 深圳市龙信信息技术有限公司 一种多通道的网络数据传输系统及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1561005B (zh) * 2004-02-20 2010-12-08 汇智系统股份有限公司 快速纠双错bch码译码器
CN100440738C (zh) * 2005-12-16 2008-12-03 北京中星微电子有限公司 BCH编码中Galois扩域运算的快速实现方法

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101931415B (zh) * 2009-06-19 2014-04-30 成都市华为赛门铁克科技有限公司 编码装置及方法、译码装置及方法和纠错系统
CN103138770A (zh) * 2010-01-12 2013-06-05 北京忆恒创源科技有限公司 有限域平方计算电路
CN102594370A (zh) * 2012-02-27 2012-07-18 成都国微电子有限公司 一种高效低延时并行钱搜索方法和装置
CN102761340A (zh) * 2012-08-10 2012-10-31 济南微晶电子技术有限公司 一种bch并行编码电路
CN102761340B (zh) * 2012-08-10 2015-04-01 济南大学 一种bch并行编码电路
CN105049062A (zh) * 2014-04-18 2015-11-11 株式会社东芝 钱式搜索装置、存储装置以及钱式搜索方法
CN105049062B (zh) * 2014-04-18 2018-12-11 株式会社东芝 钱式搜索装置、存储装置以及钱式搜索方法
CN103929211B (zh) * 2014-04-30 2017-02-15 中国科学院微电子研究所 一种bch编码方案自适应调整方法及系统
CN105741880A (zh) * 2014-12-10 2016-07-06 上海华虹集成电路有限责任公司 Sim卡装置及用于sim卡的ecc纠错模块
CN105553485A (zh) * 2015-12-08 2016-05-04 西安电子科技大学 基于fpga的bch编解码装置及其编解码方法
CN105553485B (zh) * 2015-12-08 2019-03-29 西安电子科技大学 基于fpga的bch编解码装置及其编解码方法
CN107040333B (zh) * 2016-02-03 2021-04-13 富士施乐株式会社 解码装置、信息传输系统和解码方法
CN107040333A (zh) * 2016-02-03 2017-08-11 富士施乐株式会社 解码装置、信息传输系统和解码方法
CN106549677B (zh) * 2016-08-28 2019-10-25 航天恒星科技有限公司 高速并行bch码译码方法及装置
CN106549677A (zh) * 2016-08-28 2017-03-29 航天恒星科技有限公司 高速并行bch码译码方法及装置
CN106961283A (zh) * 2017-03-31 2017-07-18 山东超越数控电子有限公司 一种基于bch译码器的ibm算法的优化方法
CN108847851A (zh) * 2018-06-08 2018-11-20 山东超越数控电子股份有限公司 一种二元bch码伴随式矩阵的实现方法
CN108847851B (zh) * 2018-06-08 2022-03-22 超越科技股份有限公司 一种二元bch码伴随式矩阵的实现方法
CN111627481A (zh) * 2020-05-20 2020-09-04 中国科学院微电子研究所 一种字线译码电路、字线选通方法及存储器和电子设备
CN111627481B (zh) * 2020-05-20 2022-02-01 中国科学院微电子研究所 一种字线译码电路、字线选通方法及存储器和电子设备
CN111835494A (zh) * 2020-07-23 2020-10-27 深圳市龙信信息技术有限公司 一种多通道的网络数据传输系统及方法

Also Published As

Publication number Publication date
CN101252361B (zh) 2011-12-21

Similar Documents

Publication Publication Date Title
CN101252361B (zh) 一种支持预搜索的面积紧凑型bch并行译码电路
Lee High-speed VLSI architecture for parallel Reed-Solomon decoder
US4845713A (en) Method and apparatus for determining the coefficients of a locator polynomial
US5440570A (en) Real-time binary BCH decoder
US5107503A (en) High bandwidth reed-solomon encoding, decoding and error correcting circuit
US5951677A (en) Efficient hardware implementation of euclidean array processing in reed-solomon decoding
US5130990A (en) VLSI architecture for a Reed-Solomon decoder
CN102771074A (zh) 用于通信系统中错误检测的方法及设备
CN101227194A (zh) 用于并行bch编码的电路、编码器及方法
US11870459B2 (en) Universal guessing random additive noise decoding (GRAND) decoder
KR100260415B1 (ko) 고속시리얼에러위치다항식계산회로
US10763895B2 (en) Circuitry and method for dual mode reed-solomon-forward error correction decoder
CN101488762B (zh) 一种面积紧凑且快速的bch并行译码方法
CN101964664B (zh) 一种适用于CMMB的多模式Reed-Solomon译码器结构
Chen et al. Area efficient parallel decoder architecture for long BCH codes
CN101702625A (zh) 基于rs(255,239)算法的光通信实时纠错电路
CN112468160A (zh) 一种基于钱搜索算法和福尼算法的并行电路
KR19990026630A (ko) 리드-솔로몬 복호기와 그 복호방법
CN103916138B (zh) 一种钱搜索电路及基于该钱搜索电路的ecc解码装置及方法
KR100756424B1 (ko) 파이프라인 재귀적인 기술을 이용한 면적 효율적인 리드솔로몬 복호기
US8156411B2 (en) Error correction of an encoded message
Park et al. High-speed low-complexity Reed-Solomon decoder using pipelined Berlekamp-Massey algorithm and its folded architecture
CN113300717B (zh) 一种基于码率自适应的高效化ldpc编码器电路
US11489544B2 (en) Fast CRC computation circuit using an on-the-fly reconfigurable generator polynomial
Hui et al. Design and Implementation of RS (1023, 847) Parallel Decoder

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant