CN102820892A - 一种用于并行bch编码的电路、编码器及方法 - Google Patents

一种用于并行bch编码的电路、编码器及方法 Download PDF

Info

Publication number
CN102820892A
CN102820892A CN2012102045474A CN201210204547A CN102820892A CN 102820892 A CN102820892 A CN 102820892A CN 2012102045474 A CN2012102045474 A CN 2012102045474A CN 201210204547 A CN201210204547 A CN 201210204547A CN 102820892 A CN102820892 A CN 102820892A
Authority
CN
China
Prior art keywords
output
register
mod
circuit
specific quantity
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
CN2012102045474A
Other languages
English (en)
Other versions
CN102820892B (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.)
Ramaxel Technology Shenzhen Co Ltd
Original Assignee
Ramaxel Technology Shenzhen Co Ltd
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 Ramaxel Technology Shenzhen Co Ltd filed Critical Ramaxel Technology Shenzhen Co Ltd
Priority to CN201210204547.4A priority Critical patent/CN102820892B/zh
Publication of CN102820892A publication Critical patent/CN102820892A/zh
Priority to US14/409,982 priority patent/US9614550B2/en
Priority to PCT/CN2013/077379 priority patent/WO2013189274A1/zh
Application granted granted Critical
Publication of CN102820892B publication Critical patent/CN102820892B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3961Arrangements of methods for branch or transition metric calculation
    • 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of decoding
    • 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/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/159Remainder calculation, e.g. for encoding and syndrome calculation
    • 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/159Remainder calculation, e.g. for encoding and syndrome calculation
    • H03M13/1595Parallel or block-wise remainder calculation

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明适用于纠错编码领域,提供了一种用于并行BCH编码的电路、编码器及方法,该方法包括:当前周期的输入序列{m(p-1),m(p-2),....,m(0)}按顺序分别与寄存器上一周期的输出高位对应进行异或运算,将运算结果作为选择信号输出至选择器,将P个常数多项式{(xr<<0)mod g(x),(xr<<1)mod g(x),....,(xr<<(p-1))mod g(x)}按顺序分别与0进行选择,将选择结果与寄存器上一周期的输出向高位移位P位后输出进行求和输出至寄存器,作为寄存器当前周期的输出;经过特定数量次运算得到最终编码输出。借此,本发明可以有效缩短路径,使电路时序性能更好,节约面积。

Description

一种用于并行BCH编码的电路、编码器及方法
技术领域
本发明涉及纠错编码领域,尤其涉及一种用于并行BCH编码的电路、编码器及方法。
背景技术
BCH码作为一种重要的纠错编码方式,在通信领域和消费电子领域得到了广泛的应用。BCH码取自Bose、Ray-Chaudhuri与Hocquenghem的缩写,是纠正多个随机错误的循环码,可以用生成多项式g(x)的根描述。随着技术的发展,人们对BCH的纠错能力的要求越来越高,而这也使得人们对BCH编解码器的性能越来越敏感。BCH的编码方式主要有两种,一种是串行编码,一种是并行编码。在对速度要求不高的场合通常使用串行编码,因为串行编码的面积最省。而在速度要求很高的场合,就需要采用并行编码方式了。
目前常用的并行编码方式是采用线性反馈移位寄存器(LFSR)法进行BCH编码,如图1所示。然而,随着纠错能力的不断增强,数据带宽不断增大,BCH编码器所使用的并行LFSR结构往往因为路径过长,会出现难以满足时钟频率的情况。专利申请200810065971.9公开了“用于并行BCH编码的电路、编码器及方法”,采用一种并行迭代编码电路,该电路包含若干个常数向量乘法器、一个常数矩阵乘法器以及一些异或门,虽然较之LFSR结构控制了电路的扇出,但乘法器的面积仍然过大。
综上可知,现有BCH编码的电路在实际使用上,显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种用于并行BCH编码的电路、编码器及方法,能够有效的缩短路径,从而使电路的时序性能更好,避免了当时钟频率增加时,LFSR结构由于路径太长而满足不了时序要求的情况,同时节约了面积。
为了实现上述目的,本发明提供一种用于并行BCH编码的电路,包括P个输入支路、寄存器以及与所述P个支路和所述寄存器连接的伽罗华域的加法器,P为并行度,所述每个输入支路包括一选择器以及一异或门,所述异或门的输出作为选择器的选择信号,所述选择器的输出为每个输入支路的输出;
当前周期的输入序列{m(p-1),m(p-2),....,m(0)}按顺序分别与寄存器上一周期的输出高位对应输入至P个异或门,将异或门运算结果输出至选择器,将P个常数多项式{(xr<<0)mod g(x),(xr<<1)mod g(x),....,(xr<<(p-1))mod g(x)}按顺序分别与0输入至P个选择器进行选择,将选择结果作为第一输出;
将所述寄存器上一周期的输出向高位移位P位后作为第二输出;
第一输出和第二输出进行伽罗华域求和输出至寄存器,作为寄存器当前周期的输出;
所述P个支路、加法器以及所述寄存器经过特定数量次运算,得到最终编码输出。
根据本发明的电路,特定数量由输入信息数据的长度K和并行度P来决定,特定数量为不小于K/P的最小整数。
本发明相应提供一种采用上述电路的编码器。
本发明相应提供一种用于并行BCH编码的方法,包括:
当前周期的输入序列{m(p-1),m(p-2),....,m(0)}按顺序分别与寄存器上一周期的输出高位对应进行异或运算,将运算结果作为选择信号输出至选择器,将P个常数多项式{(xr<<0)mod g(x),(xr<<1)mod g(x),....,(xr<<(p-1))mod g(x)}按顺序分别与0进行选择,将选择结果作为第一输出;
将所述寄存器上一周期的输出向高位移位P位后作为第二输出;
第一输出和第二输出进行伽罗华域求和输出至寄存器,作为寄存器当前周期的输出;
上述步骤经过特定数量次运算,得到最终编码输出。
根据本发明的方法,特定数量由输入信息数据的长度K和并行度P来决定,特定数量为不小于K/P的最小整数。
本发明还提供一种用于并行BCH编码的电路,包括求余模块、寄存器以及与所述求余模块和所述寄存器连接的伽罗华域的加法器;在一个时钟周期内,电路的输入为P位的信息位,信息位输入所述求余模块后作为第一输出,同时将寄存器上一周期的输出向高位移位P位后作为第二输出;将所述第一输出和第二输出进行伽罗华域求和,输出至寄存器中,并将结果存入所述寄存器中,经过特定数量次迭代后,得到最终编码输出。
根据本发明的电路,特定数量由输入信息数据的长度K和并行度P来决定,特定数量为不小于K/P的最小整数。
本发明还相应提供一种采用上述电路的编码器。
本发明还相应提供一种用于并行BCH编码的方法,包括:
在一个时钟周期内,电路的输入为P位的信息位,信息位输入所述求余模块后作为第一输出;将寄存器上一周期的输出向高位移位P位后作为第二输出;将所述第一输出和第二输出进行伽罗华域求和,输出至寄存器中,并将结果存入所述寄存器中;上述步骤经过特定数量次迭代后,得到最终编码输出。
根据本发明的方法,特定数量由输入信息数据的长度K和并行度P来决定,特定数量为不小于K/P的最小整数。
本发明提供的用于并行BCH编码的电路、编码器及方法采用了迭代算法,利用查表的方式来对常数多项式进行选择,当工作平频率很高时,较之于传统的LFSR结构,可以有效的缩短路径,从而使电路的时序性能更好,避免了当时钟频率增加时,LFSR结构由于t太大而满足不了时序要求的情况。同时由于电路非常简单,只有几个选择器和一些异或门,从而大大节约了面积。借此,本发明可以有效的缩短路径,从而使电路的时序性能更好,避免了当时钟频率增加时,LFSR结构由于路径太长而满足不了时序要求的情况,同时节约了面积。
附图说明
图1是传统串行LFSR结构的BCH编码器的电路图;
图2是本发明一种用于并行BCH编码的电路的原理结构图;
图3是本发明一种用于并行BCH编码的电路一种具体实施例的结构框图;
图4是本发明一种用于并行BCH编码的电路的逻辑图;
图5是本发明一种用于并行BCH编码的电路中输入求余模块的结构框图;
图6是本发明一种用于并行BCH编码的方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图2和图3所示,本发明一种用于并行BCH编码的电路,用于编码器,其包括P个输入支路、寄存器10以及与P个输入支路和寄存器10连接的伽罗华域的加法器20。其中,P为并行度,每个输入支路包括一选择器30以及一异或门40,异或门40的输出作为选择器30的选择信号,通过选择信号控制选择器30的输出,选择器30的输出为每个输入支路的输出。
当前周期的输入序列{m(p-1),m(p-2),....,m(0)}按顺序分别与寄存器10上一周期的输出高位对应输入至P个异或门40,将异或门40运算结果输出至选择器30,将P个常数多项式{(xr<<0)mod g(x),(xr<<1)mod g(x),....,(xr<<(p-1))mod g(x)}按顺序分别与0输入至P个选择器30进行选择,将选择结果作为第一输出;将寄存器10上一周期的输出向高位移位P位后作为第二输出;第一输出和第二输出进行伽罗华域求和输出至寄存器10,作为寄存器10当前周期的输出;P个支路、加法器20以及寄存器10经过特定数量次运算,得到最终编码输出。特定数量由输入信息数据的长度K和并行度P来决定,特定数量为不小于K/P的最小整数。
本发明采用了迭代算法,利用查表的方式来对常数多项式进行选择,当工作平频率很高时,较之于传统的LFSR结构,可以有效的缩短路径,从而使电路的时序性能更好,避免了当时钟频率增加时,LFSR结构由于t太大而满足不了时序要求的情况。同时由于电路非常简单,只有几个选择器和一些异或门,从而大大节约了面积。借此,本发明可以有效的缩短路径,从而使电路的时序性能更好,避免了当时钟频率增加时,LFSR结构由于路径太长而满足不了时序要求的情况,同时节约了面积。
本发明的具体设计原理如下:
假设码长为n,k bit的信息位输入为:
m(x)=m(k-1)xk-1+m(k-2)xk-2+.......+m(1)x+m(0),生成多项式为g(x),输出的r=n-k bit校验位为d(x),那么根据BCH的编码原理,有:
m(x)*xr=b*g(x)+d(x)                       (A1)
其中,b为m(x)*xr被g(x)整除之后的商,d(x)为余。将m(x)代入,得:
(m(k-1)xk-1+m(k-2)xk-2+.......+m(1)x+m(0))*xr=b*g(x)+d(x)
m(k-1)xrxk-1+m(k-2)xrxk-2+.......+m(1)xrx+m(0)xr=b*g(x)+d(x)    (A2)
求校验位的过程也就是对上式(A2)左端对g(x)求余的过程。因此,校验位可由下式求得:
d(x)=(m(k-1)xrxk-1+m(k-2)xrxk-2+.......+m(1)xrx+m(0)xr)mod g(x)(A3)
假设并行系数为p,上式(A3)转换为:
d(x)=(……((m(k-1)xrxp-1+m(k-2)xrxp-2+…+m(k-p)xr)*xp+m(k-p-1)xrxp-1+m(k-p-2)xrxp-2+…+m(k-p-p)xr)*xp+...........+m(p-1)xrxp-1+m(p-2)xrxp-2+...+m(0)xr)mod g(x)                                          (A4)
假设s(a)=m(k-a-1)xrxp-1+m(k-a-2)xr xp-2+…+m(k-a-p)xr,则上式(A4)可写为:
d(x)=(……(s(0)*xp+s(p))*xp+...........+s(k-p))mod g(x)
=(……((s(0)*xp)mod g(x)+s(p)mod g(x))*xp)mod g(x)+...........+s(k-p)mod g(x))mod g(x)
=(……((s(0)mod g(x)*xp)mod g(x)+s(p)mod g(x))*xp)mod g(x)+...........+s(k-p)mod g(x))mod g(x)                      (A5)
又假设t(a)=s(a)mod g(x),则上式可写成:
d(x)=((....((((t(0)<<p)mod g(x))+t(p))<<p)mod g(x)+.....)mod g(x))+t(k-p)                                                    (A6)
该式(A6)可以转换为如图4所示的电路。式(A6)中,t(x)为寄存器中的值,在一个时钟周期内,电路的输入为p bit的信息位,信息位通过输入求余模块50后作为第一输出;同时,将寄存器上一周期的输出向高位移位p bit之后并对生成多项式求余的结果作为第二输出;两个输出一起做伽罗华域求和,输出至寄存器中,将结果存入寄存器中,如此迭代一定次数后,将所有的k bit信息位输入后的寄存器输出即校验位,也就是BCH编码器结果。由此,编码的过程就转换为对多项式求余的过程,即t(a)=s(a)mod g(x),也就是设计输入求余模块50,将s(a)多项式代入t(a)中得:
t(a)=s(a)mod g(x)
=(m(k-a-1)xrxp-1+m(k-a-2)xrxp-2+…+m(k-a-p)xr)mod g(x)
=((m(k-a-1)xrxp-1)mod g(x)+(m(k-a-2)xrxp-2)mod g(x)+…+(m(k-a-p)xr)mod g(x))mod g(x)
=(m(k-a-1)*((xr<<(p-1))mod g(x))+m(k-a-2)*((xr<<(p-2))mod g(x))+…+m(k-a-p)*xr)(A7)
公式的推算过程用到了求余运算的运算法则,同时结合了伽罗华域中的运算法则。这样,将上述多项式(A7)运算转化为电路,如图5所示。该电路在一个时钟周期内输入p个bit,分别为{m(p-1),m(p-2),....,m(0)},它们作为各个选择器的选择信号;各个选择器的有一个输入是相同的,为0,另一个输入则各不相同,分别是(xr<<0)mod g(x),(xr<<1)mod g(x),....,(xr<<(p-1))modg(x)这p个多项式,很明显,这p个多项式在纠错能力确定之后都是常数多项式。并且,在图4中,(dout<<p)mod g(x)可以利用前面的这p个常数多项式来进行计算:
(dout<<p)mod g(x)=(dout[r-1]&((xr<<(p-1))mod g(x)))+(dout[r-2]&((xr<<(p-2))mod g(x)))+.......+(dout[r-p]&((xr<<0)mod g(x)))+{dout[r-p-1:0],p’b0}
也就是将寄存器输出值的高p位拎出来与下个周期的输入一起作为p个常数多项式的选择信号,同时,寄存器的输出值进行算术左移p位(向高位移位),左移出来的结果与各个选择器的输出结果一起进行伽罗华域相加输入寄存器中,从而得到最终的编码结果。
综上,将图4和图5相结合即可构成整个BCH编码器,假设信息为长度为k,电路并行度为p,那么迭代k/p次后,寄存器的输出值即为校验位输出,如图3所示。若k不能被p整除,那么最后一个时钟周期的p bit的输入中,低位填0即可,具体实施方案为:
1、外部发出复位信号,将寄存器清零。
2、输入序列{m(p-1),m(p-2),....,m(0)}按顺序作为选择信号之一输入编码器中的各个选择器中,选择器的另一个选择信号为上一周期寄存器的输出高位。
3、将寄存器上一周期的输出向高位移位p bit之后的结果作为第二输出;两个输出一起做伽罗华域求和,输出至寄存器中。
4、将2、3过程不断循环,每个周期都会更新寄存器中的值,并参与下一个周期的运算,直到所有的信息位输入完成,这样串行输出寄存器中的值,添加到输入的信息序列之后就得到了BCH编码后的码字。
经过实验证明,本发明可以在400MHz的频率下并行16路进行工作。同时,因为机理与原来的LFSR不一样,工作频率越高,相对于LFSR结构的优势越明显,如表1所示。表1示意出了当信息位长为2KB,纠错能力为80时本发明与传统并行LFSR结构的性能比较。在同样的条件下分析,工作频率为100MHz,本发明的面积只是稍优于LFSR结构,但若将工作频率增大到400MHz,传统的并行16路的LFSR结构根本无法通过时序验证,而本发明却能轻松通过验证,并且在频率增大了4倍的情况下,面积仅与100MHz时相当,优势相当明显。
表1
  时钟频率(MHz)  400   100
  16路并行LFSR结构(平方微米)  N/A   57506
  16路并行的本发明结构(平方微米)  51486   52805
如图6所示,本发明相应提供一种用于并行BCH编码的方法,其通过如图2所示的编码器实现,包括:
步骤S601,当前周期的输入序列{m(p-1),m(p-2),....,m(0)}按顺序分别与寄存器上一周期的输出高位对应进行异或运算,将运算结果作为选择信号输出至选择器,将P个常数多项式{(xr<<0)mod g(x),(xr<<1)mod g(x),....,(xr<<(p-1))mod g(x)}按顺序分别与0进行选择,将选择结果作为第一输出。本步骤通过选择器30、异或门40以及寄存器10实现。
步骤S602,将寄存器上一周期的输出向高位移位P位后作为第二输出。本步骤通过寄存器10实现。
步骤S603,第一输出和第二输出进行伽罗华域求和输出至寄存器,作为寄存器当前周期的输出。本步骤通过寄存器10以及加法器20实现。
步骤S604,上述步骤经过特定数量次运算,得到最终编码输出。
本发明还提供另一种用于并行BCH编码的电路,该电路包括求余模块、寄存器以及与所述求余模块和所述寄存器连接的伽罗华域的加法器;在一个时钟周期内,电路的输入为P位的信息位,信息位输入所述求余模块后作为第一输出,同时将寄存器上一周期的输出向高位移位P位后作为第二输出;将所述第一输出和第二输出进行伽罗华域求和,输出至寄存器中,并将结果存入所述寄存器中,经过特定数量次迭代后,得到最终编码输出。特定数量由输入信息数据的长度K和并行度P来决定,特定数量为不小于K/P的最小整数。该用于并行BCH编码的电路的具体原理已在前文做详细描述,故在此不再赘述。
本发明还提供另一种用于并行BCH编码的方法,包括:在一个时钟周期内,电路的输入为P位的信息位,信息位输入所述求余模块后作为第一输出;将寄存器上一周期的输出向高位移位P位后作为第二输出;将所述第一输出和第二输出进行伽罗华域求和,输出至寄存器中,并将结果存入所述寄存器中;上述步骤经过特定数量次迭代后,得到最终编码输出。该用于并行BCH编码的方法的具体原理已在前文做详细描述,故在此不再赘述。
综上所述,本发明提供的用于并行BCH编码的电路、编码器及方法采用了迭代算法,利用查表的方式来对常数多项式进行选择,当工作平频率很高时,较之于传统的LFSR结构,可以有效的缩短路径,从而使电路的时序性能更好,避免了当时钟频率增加时,LFSR结构由于t太大而满足不了时序要求的情况。同时由于电路非常简单,只有几个选择器和一些异或门,从而大大节约了面积。借此,本发明可以有效的缩短路径,从而使电路的时序性能更好,避免了当时钟频率增加时,LFSR结构由于路径太长而满足不了时序要求的情况,同时节约了面积。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (10)

1.一种用于并行BCH编码的电路,其特征在于,包括P个输入支路、寄存器以及与所述P个支路和所述寄存器连接的伽罗华域的加法器,P为并行度,所述每个输入支路包括一选择器以及一异或门,所述异或门的输出作为选择器的选择信号,所述选择器的输出为每个输入支路的输出;
当前周期的输入序列{m(p-1),m(p-2),....,m(0)}按顺序分别与寄存器上一周期的输出高位对应输入至P个异或门,将异或门运算结果输出至选择器,将P个常数多项式{(xr<<0)mod g(x),(xr<<1)mod g(x),....,(xr<<(p-1))mod g(x)}按顺序分别与0输入至P个选择器进行选择,将选择结果作为第一输出;
将所述寄存器上一周期的输出向高位移位P位后作为第二输出;
第一输出和第二输出进行伽罗华域求和输出至所述寄存器,作为所述寄存器当前周期的输出;
所述P个支路、加法器以及所述寄存器经过特定数量次运算,得到最终编码输出。
2.根据权利要求1所述的电路,所述特定数量由输入信息数据的长度K和并行度P来决定,特定数量为不小于K/P的最小整数。
3.一种采用如权利要求1或2所述电路的编码器。
4.一种用于并行BCH编码的方法,其特征在于,包括:
当前周期的输入序列{m(p-1),m(p-2),....,m(0)}按顺序分别与寄存器上一周期的输出高位对应进行异或运算,将运算结果作为选择信号输出至选择器,将P个常数多项式{(xr<<0)mod g(x),(xr<<1)mod g(x),....,(xr<<(p-1))mod g(x)}按顺序分别与0进行选择,将选择结果作为第一输出;
将所述寄存器上一周期的输出向高位移位P位后作为第二输出;
第一输出和第二输出进行伽罗华域求和输出至所述寄存器,作为所述寄存器当前周期的输出;
上述步骤经过特定数量次运算,得到最终编码输出。
5.根据权利要求4所述的方法,所述特定数量由输入信息数据的长度K和并行度P来决定,特定数量为不小于K/P的最小整数。
6.一种用于并行BCH编码的电路,其特征在于,包括输入求余模块、寄存器以及与所述求余模块和所述寄存器连接的伽罗华域的加法器;
在一个时钟周期内,电路的输入为P位的信息位,信息位输入所述求余模块后作为第一输出,同时将所述寄存器上一周期的输出向高位移位P位后作为第二输出;
将所述第一输出和第二输出进行伽罗华域求和,输出至所述寄存器中,并将结果存入所述寄存器中,经过特定数量次迭代后,得到最终编码输出。
7.根据权利要求6所述的电路,所述特定数量由输入信息数据的长度K和并行度P来决定,特定数量为不小于K/P的最小整数。
8.一种采用如权利要求6或7所述电路的编码器。
9.一种用于并行BCH编码的方法,其特征在于,包括:
在一个时钟周期内,电路的输入为P位的信息位,信息位输入所述求余模块后作为第一输出;
将寄存器上一周期的输出向高位移位P位后作为第二输出;
将所述第一输出和第二输出进行伽罗华域求和,输出至寄存器中,并将结果存入所述寄存器中;
上述步骤经过特定数量次迭代后,得到最终编码输出。
10.根据权利要求9所述的方法,特定数量由输入信息数据的长度K和并行度P来决定,特定数量为不小于K/P的最小整数。
CN201210204547.4A 2012-06-20 2012-06-20 一种用于并行bch编码的电路、编码器及方法 Active CN102820892B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201210204547.4A CN102820892B (zh) 2012-06-20 2012-06-20 一种用于并行bch编码的电路、编码器及方法
US14/409,982 US9614550B2 (en) 2012-06-20 2013-06-18 Parallel BCH coding circuit, encoder and method
PCT/CN2013/077379 WO2013189274A1 (zh) 2012-06-20 2013-06-18 一种用于并行bch编码的电路、编码器及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210204547.4A CN102820892B (zh) 2012-06-20 2012-06-20 一种用于并行bch编码的电路、编码器及方法

Publications (2)

Publication Number Publication Date
CN102820892A true CN102820892A (zh) 2012-12-12
CN102820892B CN102820892B (zh) 2016-06-01

Family

ID=47304782

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210204547.4A Active CN102820892B (zh) 2012-06-20 2012-06-20 一种用于并行bch编码的电路、编码器及方法

Country Status (3)

Country Link
US (1) US9614550B2 (zh)
CN (1) CN102820892B (zh)
WO (1) WO2013189274A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013189274A1 (zh) * 2012-06-20 2013-12-27 记忆科技(深圳)有限公司 一种用于并行bch编码的电路、编码器及方法
CN104320145A (zh) * 2014-10-29 2015-01-28 中国科学院微电子研究所 (15,7)bch码的编码电路设计方法
RU2601827C1 (ru) * 2015-06-10 2016-11-10 Открытое акционерное общество Научно-производственный центр "Электронные вычислительно-информационные системы" Реконфигурируемый кодер бчх кодов
CN109756235A (zh) * 2018-12-07 2019-05-14 天津津航计算技术研究所 一种可配置的并行bch纠错编码方法
CN111446974A (zh) * 2019-01-16 2020-07-24 南京大学 一种低复杂度低延迟的gii-bch编码器硬件架构
CN112242850A (zh) * 2020-09-18 2021-01-19 芯河半导体科技(无锡)有限公司 一种常用码型自动编码的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004059851A1 (en) * 2002-12-30 2004-07-15 Optix Networks Ltd. An encoder for high rate parallel encoding
WO2004107587A1 (en) * 2003-05-28 2004-12-09 Telefonaktiebolaget L M Ericsson (Publ) Parallel encoding of cyclic codes
CN101227194A (zh) * 2008-01-22 2008-07-23 炬力集成电路设计有限公司 用于并行bch编码的电路、编码器及方法
CN201898502U (zh) * 2010-11-10 2011-07-13 天津光电通信技术有限公司 Bch编码解码电路

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6640327B1 (en) * 2000-11-01 2003-10-28 Sharp Laboratories Of America, Inc. Fast BCH error detection and correction using generator polynomial permutation
US8949703B2 (en) * 2012-03-26 2015-02-03 Xilinx, Inc. Parallel encoding for non-binary linear block code
CN102820892B (zh) * 2012-06-20 2016-06-01 记忆科技(深圳)有限公司 一种用于并行bch编码的电路、编码器及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004059851A1 (en) * 2002-12-30 2004-07-15 Optix Networks Ltd. An encoder for high rate parallel encoding
WO2004107587A1 (en) * 2003-05-28 2004-12-09 Telefonaktiebolaget L M Ericsson (Publ) Parallel encoding of cyclic codes
CN101227194A (zh) * 2008-01-22 2008-07-23 炬力集成电路设计有限公司 用于并行bch编码的电路、编码器及方法
CN201898502U (zh) * 2010-11-10 2011-07-13 天津光电通信技术有限公司 Bch编码解码电路

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013189274A1 (zh) * 2012-06-20 2013-12-27 记忆科技(深圳)有限公司 一种用于并行bch编码的电路、编码器及方法
US9614550B2 (en) 2012-06-20 2017-04-04 Ramaxel Technology (Shenzhen) Limited Parallel BCH coding circuit, encoder and method
CN104320145A (zh) * 2014-10-29 2015-01-28 中国科学院微电子研究所 (15,7)bch码的编码电路设计方法
RU2601827C1 (ru) * 2015-06-10 2016-11-10 Открытое акционерное общество Научно-производственный центр "Электронные вычислительно-информационные системы" Реконфигурируемый кодер бчх кодов
CN109756235A (zh) * 2018-12-07 2019-05-14 天津津航计算技术研究所 一种可配置的并行bch纠错编码方法
CN111446974A (zh) * 2019-01-16 2020-07-24 南京大学 一种低复杂度低延迟的gii-bch编码器硬件架构
CN112242850A (zh) * 2020-09-18 2021-01-19 芯河半导体科技(无锡)有限公司 一种常用码型自动编码的方法
CN112242850B (zh) * 2020-09-18 2024-01-19 芯河半导体科技(无锡)有限公司 一种常用码型自动编码的方法

Also Published As

Publication number Publication date
CN102820892B (zh) 2016-06-01
US20150222296A1 (en) 2015-08-06
WO2013189274A1 (zh) 2013-12-27
US9614550B2 (en) 2017-04-04

Similar Documents

Publication Publication Date Title
CN101227194B (zh) 用于并行bch编码的电路、编码器及方法
CN101478314B (zh) 一种里德-所罗门编码译码器及其译码的方法
CN102820892A (zh) 一种用于并行bch编码的电路、编码器及方法
CN100592639C (zh) 低密度奇偶校验编码方法、装置及奇偶校验矩阵生成方法
CN102543209B (zh) 多通道闪存控制器的纠错装置、方法及多通道闪存控制器
CN101277119B (zh) 里德所罗门码解码器硬件复用方法及其低硬件复杂度解码装置
Freudenberger et al. A configurable Bose–Chaudhuri–Hocquenghem codec architecture for flash controller applications
CN105322973B (zh) 一种rs码编码器及编码方法
CN107239362B (zh) 一种并行crc校验码的计算方法及系统
CN103325425B (zh) 存储器控制器
CN105553485A (zh) 基于fpga的bch编解码装置及其编解码方法
CN104348588A (zh) 多位错误的有效错误校正
CN101567696B (zh) 一种参数可变的bch码编码器及译码器
CN102340320A (zh) 卷积Turbo码双向并行译码方法
CN105099467A (zh) Qc-ldpc码的编码方法及编码装置
CN101442313A (zh) 编解码方法以及编码器、解码器、乘积项装置
CN101488762A (zh) 一种面积紧凑且快速的bch并行译码方法
US10367529B2 (en) List decode circuits
CN107565981A (zh) 一种基于fpga的rs编译码器实现方法
CN103036577B (zh) 一种低复杂度的低密度奇偶校验ldpc码编码电路结构
Mohamed et al. Performance study of BCH error correcting codes using the bit error rate term BER
CN101777922B (zh) 用于BCH译码器的高速低延时Berlekamp-Massey迭代译码电路
Kim et al. Hamming product code with iterative process for NAND flash memory controller
Ivanov et al. On the local erasure correction capacity of convolutional codes
CN102811066B (zh) 伴随式计算装置及解码器

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