CN102820892A - 一种用于并行bch编码的电路、编码器及方法 - Google Patents
一种用于并行bch编码的电路、编码器及方法 Download PDFInfo
- 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
Links
Images
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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3961—Arrangements of methods for branch or transition metric calculation
-
- 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/611—Specific encoding aspects, e.g. encoding by means of decoding
-
- 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/65—Purpose and implementation aspects
- H03M13/6561—Parallelized implementations
-
- 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/159—Remainder calculation, e.g. for encoding and syndrome calculation
-
- 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/159—Remainder calculation, e.g. for encoding and syndrome calculation
- H03M13/1595—Parallel 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码取自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的最小整数。
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)
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)
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)
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编码的电路、编码器及方法 |
-
2012
- 2012-06-20 CN CN201210204547.4A patent/CN102820892B/zh active Active
-
2013
- 2013-06-18 WO PCT/CN2013/077379 patent/WO2013189274A1/zh active Application Filing
- 2013-06-18 US US14/409,982 patent/US9614550B2/en active Active
Patent Citations (4)
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)
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 |