用于并行bch编码的电路、编码器和装置的制作方法

文档序号:7510800阅读:194来源:国知局
专利名称:用于并行bch编码的电路、编码器和装置的制作方法
技术领域
本发明涉及对数据进行纠错编码的技术领域,尤其涉及一种用于并行BCH编码电路、编码器和装置。
背景技术
BCH码是一种纠错码,主要应用于数字系统的差错控制。BCH码在通信、存储、信息转移等数据传输过程中有着十分重要的应用。对数据进行BCH编码的方式有两种,一种是串行编码方式,另一种是并行编码方式。
图1示出了串行BCH编码电路的结构。串行BCH编码电路的结构比较简单,电路的输入/输出数据都是采用串行的方式。其中,gi(i=1、2、......、n-k-1)为预置的参数,D表示寄存器。采用串行方式对数据进行BCH编码时,如果需要对k个比特(bit)的数据进行BCH编码、校验码为m个bit,则需要k+m个时钟周期才能输出完整的编码数据。例如,当采用串行的方式对8072个bit的数据进行BCH编码、校验码为104个bit、则需要8176个时钟周期才能输出完整的编码数据。
如果采用并行的方式对k个bit的数据进行BCH编码、校验码为m个bit、并行度为L,则需要 个时钟周期就能输出完整的编码数据,其中,并行度就是并行数据的路数。例如,当采用并行的方式对8072个bit的数据进行BCH编码、校验码为104个bit、并行度为8,则需要1022个时钟周期就能输出完整的编码数据。
可以看出,采用并行方式对数据进行BCH编码可以有效地缩短编码时间。但是,并行BCH编码电路的结构与串行BCH编码电路的结构差别很大。目前,虽然存在一些关于并行BCH编码电路的方案,但是这些方案的算法都非常复杂,电路的结构也很复杂。

发明内容
有鉴于此,本发明解决的技术问题是提供一种用于并行BCH编码的电路、编码器和装置,该电路、编码器和装置的结构很有规律,容易实现,基于该电路、编码器和装置可以方便地对数据进行BCH并行编码。
为此,本发明提供的技术方案如下一种用于并行BCH编码的电路,包括M个运算单元电路、一个反馈单元电路和一个数据输出单元电路;所述M个运算单元电路、反馈单元电路和数据输出单元电路串行连接;数据输出单元电路的L路并行数据输出端作为所述电路的并行数据输出端口,并与第一个运算单元电路的L路并行数据输入端口分别对应连接;反馈单元电路的L路并行数据输出端口还与每个运算单元电路的L路并行反馈端口分别对应连接;反馈单元电路还包括L路并行原始数据输入端口,作为所述电路的并行数据输入端口,用于输入待编码的L路并行数据;运算单元电路还包括2×L-1个并行参数输入端口,反馈单元电路还包括L-1个并行参数输入端口,数据输出单元电路还包括L个并行参数输入端口;其中,M=mL,]]>m为校验码的bit数、L为并行度。
其中,运算单元电路包括L个基本单元电路;L个基本单元电路的数据输入端口组成运算单元电路的L路并行数据输入端口,L个基本单元电路的数据输出端口组成运算单元电路的L路并行数据输出端口;各基本单元电路的反馈端口并联,以并联后的各反馈端口作为运算单元电路相应的并行反馈端口;按输入数据从低位到高位所对应的基本单元电路,将L个基本单元电路的参数输入端口移位并联,以获得的2×L-1个移位并联后的参数输入端口作为运算单元电路相应的并行参数输入端口。
其中,反馈单元电路包括L个基本单元电路和L个二输入异或门;按输入数据从低位到高位所对应的基本单元电路,第i至第L个基本单元电路的第i-1个参数输入端口并联,i=2、3、......、L-1,以并联后的各参数输入端口和第L个基本单元电路的第L-1个参数输入端口作为反馈单元电路相应的L-1个并行参数输入端口,各基本单元电路的其它参数输入端口都连接到低电平;按输入数据从低位到高位所对应的基本单元电路,第i个基本单元电路的数据输出端口与第i+1至第L个基本单元电路的第i个反馈端口连接,i=1,......,L-1,各基本单元电路的其它反馈端口都连接到低电平;各基本单元电路的数据输入端口分别连接到一个二输入异或门的输出端;按输入数据从低位到高位所对应的基本单元电路,第i个二输入异或门的第一输入端作为第i个原始数据输入端,第二输入端作为第L-i+1个数据输入端,i=1、......、L;以L个基本单元电路的数据输出端口作为反馈单元电路相应的数据输出端口。
其中,数据输出单元电路包括L个基本单元电路;所有基本单元电路的数据输入端口都接到低电平,L个基本单元电路的数据输出端口作为数据输出单元电路相应的数据输出端口;按输入数据从低位到高位所对应的基本单元电路,将各基本单元电路的参数输入端口错位并联,以错位并联后的各参数输入端口和第L个基本单元电路的第1个参数输入端口作为数据输出单元电路相应的参数输入端口,各基本单元电路的其它参数输入端口都连接到低电平;按输入数据从低位到高位所对应的基本单元电路,将第i至第L个基本单元电路的第i个反馈端口并联,i=1、......、L-1,以各并联后的反馈端口和第L个基本单元电路的第L个反馈端口作为数据输出单元电路相应的数据输入端口,各基本单元电路的其它反馈端口都连接到低电平。
其中,所述基本单元电路包括L个二输入与门和一个多输入异或门;所述多输入异或门的输出端作为基本单元电路的数据输出端,所述多输入异或门的一个输入端作为基本单元的数据输入端,其它每个输入端分别连接到一个二输入与门的输出端;各二输入与门的第一输入端作为参数输入端口,第二输入端作为相应的反馈端口。
其中,各基本运算单元电路的数据输出端还连接至少一级寄存器。
基于上述电路,本发明还提供一种用于并行BCH编码的编码器,在该编码器中采用了上述的电路。
本发明还提供一种用于并行BCH编码的装置,包括M个运算单元、一个反馈单元和一个数据输出单元;所述M个运算单元、反馈单元和数据输出单元串行连接;数据输出单元的L路并行数据输出端作为所述装置的并行数据输出端口,并与第一个运算单元的L路并行数据输入端口分别对应连接;反馈单元的L路并行数据输出端口还与每个运算单元的L路并行反馈端口分别对应连接;反馈单元还包括L路并行原始数据输入端口,作为所述装置的并行数据输入端口,用于输入待编码的L路并行数据;运算单元还包括2×L-1个并行参数输入端口,反馈单元还包括L-1个并行参数输入端口,数据输出单元还包括L个并行参数输入端口;其中,M=mL,]]>m为校验码的bit数、L为并行度。
其中,运算单元包括L个基本单元;L个基本单元的数据输入端口组成运算单元的L路并行数据输入端口,L个基本单元的数据输出端口组成运算单元的L路并行数据输出端口;各基本单元的反馈端口并联,以并联后的各反馈端口作为运算单元相应的并行反馈端口;按输入数据从低位到高位所对应的基本单元,将L个基本单元的参数输入端口移位并联,以获得的2×L-1个移位并联后的参数输入端口作为运算单元相应的并行参数输入端口。
其中,反馈单元包括L个基本单元和L个二输入异或门;按输入数据从低位到高位所对应的基本单元,第i至第L个基本单元的第i-1个参数输入端口并联,i=2、3、......、L-1,以并联后的各参数输入端口和第L个基本单元的第L-1个参数输入端口作为反馈单元相应的L-1个并行参数输入端口,各基本单元的其它参数输入端口都连接到低电平;按输入数据从低位到高位所对应的基本单元,第i个基本单元的数据输出端口与第i+1至第L个基本单元的第i个反馈端口连接,i=1,......,L-1,各基本单元的其它反馈端口都连接到低电平;各基本单元的数据输入端口分别连接到一个二输入异或门的输出端;按输入数据从低位到高位所对应的基本单元,第i个二输入异或门的第一输入端作为第i个原始数据输入端,第二输入端作为第L-i+1个数据输入端,i=1、......、L;以L个基本单元的数据输出端口作为反馈单元相应的数据输出端口。
其中,数据输出单元包括L个基本单元;所有基本单元的数据输入端口都接到低电平,L个基本单元的数据输出端口作为数据输出单元相应的数据输出端口;按输入数据从低位到高位所对应的基本单元,将各基本单元的参数输入端口错位并联,以错位并联后的各参数输入端口和第L个基本单元的第1个参数输入端口作为数据输出单元相应的参数输入端口,各基本单元的其它参数输入端口都连接到低电平;按输入数据从低位到高位所对应的基本单元,将第i至第L个基本单元的第i个反馈端口并联,i=1、......、L-1,以各并联后的反馈端口和第L个基本单元的第L个反馈端口作为数据输出单元相应的数据输入端口,各基本单元的其它反馈端口都连接到低电平。
本发明提供的用于并行BCH编码的电路、编码器和装置都采用模块化的结构,因此结构简单,容易实现。另外,所述电路、编码器和装置独立于具体的编码算法,通过输入不同的参数即可实现不同的编码算法,从而扩展了所述电路、编码器和装置的通用性,使所述电路、编码器和装置具有很强的通用性。所述电路、编码器和装置的应用范围非常广,可以应用到通信、数据传输和数据校验等领域。


图1是现有的串行BCH编码电路的结构示意图;图2是本发明提供的并行BCH编码电路的结构示意图;图3是运算单元电路的一个具体结构示意图;图4是反馈单元电路的一个结构示意图;图5是数据输出单元电路的一个结构示意图;图6是基本单元电路的一个结构示意图;图7是在运算单元电路的各基本单元的输出端分别连接一级寄存器的示意图。
具体实施例方式
为使本领域技术人员更好地理解本发明,下面结合具体的实施例对本发明提供的并行BCH编码电路作具体说明,图2是所述并行BCH编码电路的结构示意图。
在本发明提供的并行BCH编码电路中,包括M个运算单元(pipelinecell)电路S210、1个反馈单元(feedback cell)电路S220和1个数据输出单元(dataout cell)电路S230,其中,M=mL,]]>m为校验码的bit数、L为并行度。
运算单元电路S210用于完成BCH码生成矩阵的功能,编码的过程本质上是利用信息码按照生成矩阵计算出校验码,因此运算单元电路S210是整个编码计算的核心。
反馈单元电路S220用于计算串行计算中的数据反馈,由于串行计算时候,反馈数据就是最后一级输出数据,所以并行计算的时候就需要提前计算L级的反馈数据。
数据输出单元电路S230用于完成并行计算造成数据L级内优先级的补偿问题。
M个运算单元电路S210、反馈单元电路S220和数据输出单元电路S230依次进行串行连接,形成三级功能环路,即,前一个运算单元电路S210的L路并行数据输出端口Dout1[L]、......、Dout1[1]与后一个运算单元电路S210的L路并行数据输入端口Din1[L]、......、Din1[1]分别对应连接,最后一个运算单元电路S210的L路并行数据输出端口Dout1[L]、......、Dout1[1]与反馈单元电路S220的L路并行数据输入端口Din2[L]、......、Din2[1]分别对应连接,反馈单元电路S220的L路并行数据输出端口Dout2[L]、......、Dout2[1]与数据输出单元电路S230的L路并行数据输入端口Din3[L]、......、Din3[1]分别对应连接,数据输出单元电路S230的L路并行数据输出端口Dout3[L]、......、Dout3[1]作为编码电路的并行数据输出端口,并与第一个运算单元电路S210的L路并行数据输入端口Din1[L]、......、Din1[1]分别对应连接。
反馈单元电路S220的L路并行数据输出端口Dout2[L]、......、Dout2[1]还与每个运算单元电路S210的L路并行反馈端口FB[L]、......、FB[1]分别对应连接。反馈单元电路S220还包括L路并行原始数据输入端口Data[L]、......、Data[1],作为编码电路的并行数据输入端口,用于输入待编码的L路并行数据。
其中,运算单元电路S210还包括2×L-1个并行参数输入端口Para1[2×L-1]、......、Para1[1],即,上一级运算单元和当前一级运算单元的系数,反馈单元电路S220还包括L-1个并行参数输入端口Para2[L-1]、......、Para2[1],数据输出单元电路S230还包括L个并行参数输入端口Para3[L]、......、Para3[1],通过并行参数输入端口可以将外部设置的参数传递给各单元电路。
由于待编码的L路并行数据通常是由串行数据经过串-并转换后得到的,因此,可以按串行数据的先后顺序设置并行数据的优先级。相应地,端口xxx[L]、......、xxx[1]依次表示最高位数据端口到最低位数据端口。同理,参数输入端口Para1[2×L-1]、......、Para1[1]依次表示最高位参数输入端口到最低位参数输入端口;参数输入端口Para2[L-1]、......、Para2[1]依次表示最高位参数输入端口到最低位参数输入端口。
采用上述连接方式后,M个运算单元电路S210就可以流水线的方式对并行数据进行BCH编码。
本领域技术人员能够看出,本发明中的运算单元电路、反馈单元电路和数据输出单元电路的电路结构可以有很多种。本发明为使所提供的并行BCH编码电路更容易实现,选择采用了模块化的电路结构,即,基于一个基本单元(base cell)电路设计出运算单元电路、反馈单元电路和数据输出单元电路。下面对运算单元电路、反馈单元电路和数据输出单元电路分别进行更具体的说明。
首先对运算单元电路进行说明,运算单元电路包括L个基本单元电路,分别为第1基本单元电路、......、第L基本单元电路。其中,基本单元电路主要用于一个并行度内数据的处理。
基本单元电路包括一个数据输入端口datain,一个数据输出端口dataout,L个并行反馈端口feedback[L]、......、feedback[1]和L个并行参数输入端口parameter[L]、......、parameter[1]。
由L个数据输入端口datain组成运算单元电路的L路并行数据输入端口Din1[L]、......、Din1[1],由L个数据输出端口dataout组成运算单元电路的L路并行数据输出端口Dout1[L]、......、Dout1[1]。
各基本单元电路的反馈端口feedback[j]进行并联,j=L、......、1,以并联后的各反馈端口作为运算单元电路相应的并行反馈端口FB[L]、......、FB[1]。
外部输入的L路并行数据,每一路数据将被输入到对应的一个基本单元电路。各基本单元电路将根据外部设置的参数和外部反馈的数据对输入的数据进行处理,然后输出处理后的数据。
按输入数据从低位到高位所对应的基本单元电路,将L个基本单元电路的参数输入端口移位并联,获得2×L-1个移位并联后的参数输入端口。以所述2×L-1个参数输入端口作为运算单元电路相应的并行参数输入端口Para1[2×L-1]、......、Para1[1]。
所谓移位并联是指第i个基本单元电路的参数输入端口parameter[j]和第i+1个基本单元电路的参数输入端口parameter[j+1]并联连接,其中,i=1,......,L-1,j=L-1,......,1。
也就是说,第1个基本单元电路的参数输入端口parameter[L-1]、......、parameter[1]与第2个基本单元电路的参数输入端口parameter[L]、......、parameter[2]并联连接;第2个基本单元电路的参数输入端口parameter[L-1]、......、parameter[1]与第3个基本单元电路的参数输入端口parameter[L]、......、parameter[2]并联连接;并依此类推,第L-1个基本单元电路的参数输入端口parameter[L-1]、......、parameter[1]与第L个基本单元电路的参数输入端口parameter[L]、......、parameter[2]并联连接。
图3是运算单元电路的一个具体结构示意图。在图3中,并行度L=4,该运算单元电路包括4个基本单元电路,按输入数据从低位到高位所对应的基本单元电路,分别是基本单元电路S1、S2、S3和S4。每个基本单元电路包括一个数据输入端口datain,一个数据输出端口dataout,4个并行反馈端口feedback[4]、feedback[3]、feedback[2]、feedback[1]和4个并行参数输入端口parameter[4]、parameter[3]、parameter[2]、parameter[1]。
由基本单元电路S1、S2、S3和S4的4个数据输入端口datain组成运算单元电路的并行数据输入端口Din1[1]、Din1[2]、Din1[3]和Din1[4]。
由基本单元电路S1、S2、S3和S4的4个数据输出端口dataout组成运算单元电路的并行数据输出端口Dout1[1]、Dout1[2]、Dout1[3]和Dout1[4]。
将基本单元电路S1、S2、S3和S4的反馈端口feedback[4]并联,以并联后的反馈端口作为运算单元电路的反馈端口FB[4]。同理,将4个基本单元电路的反馈端口feedback[3]并联,将4个基本单元电路的反馈端口feedback[2]并联,将4个基本单元电路的反馈端口feedback[1]并联,以并联后的反馈端口作为运算单元电路的反馈端口FB[3]、FB[2]和FB[1]。
基本单元电路S1、S2、S3和S4的参数输入端口进行移位并联后,获得7个移位并联的端口Para1[7]、Para1[6]、......、Para1[1]。可以看出,通过移位并联,可以等效于将输入的7路数据进行移位后分别输入4个基本单元电路。
对运算单元电路的结构进行说明后,下面对反馈单元电路的结构进行具体说明。反馈单元电路包括L个基本单元电路和相应的L个二输入异或门。
按输入数据从低位到高位所对应的基本单元电路,第i、i+1、......、L个基本单元电路的参数输入端口parameter[i-1]并联,i=2、3、......、L-1。
也就是说,第2、3、......、L个基本单元电路的参数输入端口parameter[1]并联,第3、......、L个基本单元电路的参数输入端口parameter[2]并联,依此类推,第L-1、L个基本单元电路的参数输入端口parameter[L-2]并联。
以并联后的各参数输入端口,以及第L个基本单元电路的参数输入端口parameter[L-1]作为反馈单元电路相应的参数输入端口Para 2[1]、......、Para2[L-1]。各基本单元电路的其它参数输入端口都连接到低电平。
按输入数据从低位到高位所对应的基本单元电路,第i个基本单元电路的数据输出端口dataout与第i+1、......、L个基本单元电路的反馈端口feedback[i]连接,i=1,......,L-1。
也就是说,第1个基本单元电路的数据输出端口dataout与第2、......、L个基本单元电路的反馈端口feedback[1]连接;第2个基本单元电路的数据输出端口dataout与第3、......、L个基本单元电路的反馈端口feedback[2]连接;依此类推,第L-1个基本单元电路的数据输出端口dataout与第L个基本单元电路的反馈端口feedback[L-1]连接。各基本单元电路的其它反馈端口都连接到低电平。
各基本单元电路的数据输入端口datain分别连接到一个异或门的输出端。按输入数据从低位到高位所对应的基本单元电路,第i个异或门的一个输入端作为原始数据输入端data[i],另一个输入端作为数据输入端Din2[L-i+1],i=1、......、L。
以第i个基本单元电路的数据输出端口dataout作为反馈单元电路的数据输出端口Dout2[i],i=1、......、L。
图4是反馈单元电路的一个结构示意图。在图4中,并行度L=4,该反馈单元电路包括4个基本单元电路,按输入数据从低位到高位所对应的基本单元电路,分别是基本单元电路Y1、Y2、Y3和Y4。相应地,该反馈单元电路还包括4个二输入异或门,分别是异或门41、42、43和44。
由基本单元电路Y1、Y2、Y3和Y4的4个数据输入端口dataout组成运算单元电路的并行数据输入端口Dout2[1]、Dout2[2]、Dout2[3]和Dout2[4]。
基本单元电路Y2、Y3和Y4的参数输入端口parameter[1]并联,以并联后的端口作为反馈单元电路的参数输入端口Para 2[1];基本单元电路Y3和Y4的参数输入端口parameter[2]并联,以并联后的端口作为反馈单元电路的参数输入端口Para 2[2];以基本单元电路Y4的参数输入端口parameter[3]作为反馈单元电路的参数输入端口Para 2[3]。
基本单元电路Y1所有的参数输入端口都接到低电平,基本单元电路Y2、Y3和Y4中其它未使用的参数输入端口也都连接到低电平。
基本单元电路Y1的数据输出端口dataout与基本单元电路Y2、Y3、Y4的反馈端口feedback[1]连接;基本单元电路Y2的数据输出端口dataout与基本单元电路Y3、Y4的反馈端口feedback[2]连接;基本单元电路Y3的数据输出端口dataout与基本单元电路Y4的反馈端口feedback[3]连接。
基本单元电路Y1所有的反馈端口都接到低电平,基本单元电路Y2、Y3和Y4中其它未使用的反馈端口也都连接到低电平。
基本单元电路Y1、Y2、Y3、Y4的数据输入端口datain分别连接异或门41、42、43、44的输出端。
异或门41的一个输入端作为原始数据输入端data[1],另一个输入端作为数据输入端Din2[4];异或门42的一个输入端作为原始数据输入端data[2],另一个输入端作为数据输入端Din2[3];异或门43的一个输入端作为原始数据输入端data[3],另一个输入端作为数据输入端Din2[2];异或门44的一个输入端作为原始数据输入端data[4],另一个输入端作为数据输入端Din2[1]。
对反馈单元电路的结构进行说明后,下面对数据输出单元电路的结构进行具体说明。
数据输出单元电路包括L个基本单元电路,所有基本单元电路的数据输入端口datain都接到低电平。
按输入数据从低位到高位所对应的基本单元电路,以第i个基本单元电路的数据输出端口dataout作为数据输出单元电路的数据输出端口Dout3[i],i=1、......、L。
按输入数据从低位到高位所对应的基本单元电路,将各基本单元电路的参数输入端口错位并联,即,将第i个基本单元电路的参数输入端口parameter[1]、第i+1个基本单元电路的参数输入端口parameter[2]、第i+2个基本单元电路的参数输入端口parameter[3]、......、第L个基本单元电路的参数输入端口parameter[L-i+1]并联,i=1、......、L-1。
也就是说,第1个基本单元电路的参数输入端口parameter[1]、第2个基本单元电路的参数输入端口parameter[2]、......、第L个基本单元电路的参数输入端口parameter[L]并联;第2个基本单元电路的参数输入端口parameter[1]、第3个基本单元电路的参数输入端口parameter[2]、......、第L个基本单元电路的参数输入端口parameter[L-1]并联;依此类推,第L-1个基本单元电路的参数输入端口parameter[1]和第L个基本单元电路的参数输入端口parameter[2]并联。
以错位并联后的各参数输入端口,以及第L个基本单元电路的参数输入端口parameter[1]作为数据输出单元电路相应的参数输入端口Para3[L]、......、Para3[1]。
各基本单元电路的其它参数输入端口都连接到低电平。
按输入数据从低位到高位所对应的基本单元电路,第i、i+1、......、L个基本单元电路的反馈端口feedback[i]并联,i=1、......、L-1。
也就是说,第1、2、......、L个基本单元电路的反馈端口feedback[1]并联,第2、3、......、L个基本单元电路的反馈端口feedback[2]并联,依此类推,第L-1、L个基本单元电路的反馈端口feedback[L-1]并联。
以各并联后的反馈端口,以及第L个基本单元电路的反馈端口feedback[L]作为数据输出单元电路相应的数据输入端口Din3[1]、......、Din3[L]。
各基本单元电路的其它反馈端口都连接到低电平。
图5是数据输出单元电路的一个结构示意图,在图5中,并行度L=4,该数据输出单元电路包括4个基本单元电路,按输入数据从低位到高位所对应的基本单元电路,分别是基本单元电路Z1、Z2、Z3和Z4。
基本单元电路Z1、Z2、Z3和Z4的数据输入端口datain都接到低电平,基本单元电路Z1、Z2、Z3和Z4的数据输出端口dataout分别作为数据输出单元电路的数据输出端口Dout3[1]、Dout3[2]、Dout3[3]和Dout3[4]。
将基本单元电路Z1的参数输入端口parameter[1]、基本单元电路Z2的参数输入端口parameter[2]、基本单元电路Z3的参数输入端口parameter[3]和基本单元电路Z4的参数输入端口parameter[4]并联,以并联后的端口作为数据输出单元电路的参数输入端口Para3[4];将基本单元电路Z2的参数输入端口parameter[1]、基本单元电路Z3的参数输入端口parameter[2]和基本单元电路Z4的参数输入端口parameter[3]并联,以并联后的端口作为数据输出单元电路的参数输入端口Para3[3];将基本单元电路Z3的参数输入端口parameter[1]和基本单元电路Z4的参数输入端口parameter[2]并联,以并联后的端口作为数据输出单元电路的参数输入端口Para3[2];以基本单元电路Z4的参数输入端口parameter[1]作为数据输出单元电路的参数输入端口Para3[1]。
基本单元电路Z1、Z2、Z3和Z4的其它参数输入端口都连接到低电平。
将基本单元电路Z1、Z2、Z3和Z4的反馈端口feedback[1]并联,以并联后的端口作为数据输出单元电路的数据输入端口Din3[1];将基本单元电路Z2、Z3和Z4的反馈端口feedback[2]并联,以并联后的端口作为数据输出单元电路的数据输入端口Din3[2];将基本单元电路Z3、Z4的反馈端口feedback[3]并联,以并联后的端口作为数据输出单元电路的数据输入端口Din3[3];以基本单元电路Z4的反馈端口feedback[4]作为数据输出单元电路的数据输入端口Din3[4]。
基本单元电路Z1、Z2、Z3和Z4的其它反馈端口都连接到低电平。
可以看出,本发明中的运算单元电路、反馈单元电路和数据输出单元电路都基于基本单元电路构成,而基本单元电路的结构可以有很多种。一种基本单元电路的结构包括L个二输入与门和一个多输入异或门。
异或门的输出端作为基本单元电路的数据输出端dataout。异或门的输入端的个数为L+1个,异或门的一个输入端作为基本单元的数据输入端datain,其它各输入端分别连接到一个与门的输出端。各与门的一个输入端作为参数输入端口parameter[i],另一个输入端作为相应的反馈端口feedback[i],i=1、......、L。
图6是基本单元电路的一个结构示意图。在图6中,并行度L=4,该基本单元电路包括4个二输入与门(分别是与门61、与门62、与门63和与门64)和1个五输入异或门(异或门65)。
可以看出,基本单元电路用于按下述公式计算中间结果dataout=datain+parameter[1]feedback[1]+...+parameter[L]feedback[L]本领域技术人员应该知道,实现上述公式的具体电路结构还可以有很多,这里不再一一列举。
基本单元是并行BCH编码电路的基础。在串行编码中,对数据的计算单元都是是反馈数据与算法参数进行“与”操作,将本级的计算结果和上一级的输出数据进行“或”操作。但是在并行编码中,每一级计算都需要执行多级的串行计算功能,所以反馈数据和算法参数就需要进行多个“与”操作,操作的次数取决于每次处理的数据宽度,也就是数据的并行度。
为保证各单元电路处理后的数据能更好地同步输出,可以在各单元电路中的各基本运算单元电路的数据输出端分别连接至少一级寄存器。图7是在运算单元电路的各基本单元的输出端分别连接一级寄存器的示意图。对于反馈单元和数据输出单元,同理,这里不再赘述。
通过上述对并行BCH编码电路的说明,可以看出该编码电路采用结构化的设计方法。该编码电路共分为两个层次上层主要包括流水线模式的运算单元电路、反馈单元电路和数据输出单元电路,下层是由逻辑电路组成的基本单元电路。
整个编码电路采用流水线的方式对数据进行BCH编码。待编码的L路并行数据从反馈单元电路的原始数据输入端口Data[L]、......、Data[1]进入反馈单元电路,并进行计算。反馈单元电路输出的数据既作为反馈数据,又被输入给数据输出单元电路进行计算。数据输出单元电路输出的数据即为编码后的数据,同时,该编码后的数据又被回送到流水线的第一级运算单元电路进行计算。在各单元电路中,采用并行的基本单元电路替换现有的串行计算电路。由于采用并行的基本单元电路,因此所有的算法参数都是通过参数输入端口直接输入的,其中,各单元电路所需要的算法参数都需要通过具体的算法确定。
所述编码电路可以并行处理4位、8位、16位、32位等位宽的数据,也可以处理编码长度达到4k、8k等长度的数据。对长码的编码,所述编码电路的结构也没有特别增加某条路径的负载,整个电路的负载比较均衡。即便编码电路的处理速度不能很好地满足实际要求,还可以通过在电路流水线和反馈单元电路之间插入寄存器,达到减小关键路径延迟的目的。
综上所述,由于所述并行BCH编码电路采用标准化的算法结构,因此电路结构简单。另外,所述编码电路独立于具体的编码算法,通过输入不同的参数即可实现不同的编码算法,从而扩展了所述编码电路的通用性,使所述编码电路具有很强的通用性。
所述并行BCH编码电路的应用范围非常广,不仅可以针对flash进行编解码,还可以应用到通信、数据传输和数据校验等领域。
基于上述用于并行BCH编码的电路,本发明还提供一种采用该电路的用于并行BCH编码的编码器。
基于上述用于并行BCH编码的电路,本发明还提供一种用于并行BCH编码的装置,该装置包括M个运算单元、一个反馈单元和一个数据输出单元,M=mL,]]>m为校验码的bit数、L为并行度;所述M个运算单元、反馈单元和数据输出单元串行连接;
数据输出单元的L路并行数据输出端作为所述装置的并行数据输出端口,并与第一个运算单元的L路并行数据输入端口分别对应连接;反馈单元的L路并行数据输出端口还与每个运算单元的L路并行反馈端口分别对应连接;反馈单元还包括L路并行原始数据输入端口,作为所述装置的并行数据输入端口,用于输入待编码的L路并行数据;运算单元还包括2×L-1个并行参数输入端口,反馈单元还包括L-1个并行参数输入端口,数据输出单元还包括L个并行参数输入端口;其中,运算单元包括L个基本单元L个基本单元的数据输入端口组成运算单元的L路并行数据输入端口,L个基本单元的数据输出端口组成运算单元的L路并行数据输出端口;各基本单元的反馈端口并联,以并联后的各反馈端口作为运算单元相应的并行反馈端口;按输入数据从低位到高位所对应的基本单元,将L个基本单元的参数输入端口移位并联,以获得的2×L-1个移位并联后的参数输入端口作为运算单元相应的并行参数输入端口。
其中,反馈单元包括L个基本单元和L个二输入异或门按输入数据从低位到高位所对应的基本单元,第i至第L个基本单元的第i-1个参数输入端口并联,i=2、3、......、L-1,以并联后的各参数输入端口和第L个基本单元的第L-1个参数输入端口作为反馈单元相应的L-1个并行参数输入端口,各基本单元的其它参数输入端口都连接到低电平;按输入数据从低位到高位所对应的基本单元,第i个基本单元的数据输出端口与第i+1至第L个基本单元的第i个反馈端口连接,i=1,......,L-1,各基本单元的其它反馈端口都连接到低电平;各基本单元的数据输入端口分别连接到一个二输入异或门的输出端;按输入数据从低位到高位所对应的基本单元,第i个二输入异或门的第一输入端作为第i个原始数据输入端,第二输入端作为第L-i+1个数据输入端,i=1、......、L;
以L个基本单元的数据输出端口作为反馈单元相应的数据输出端口。
其中,数据输出单元包括L个基本单元所有基本单元的数据输入端口都接到低电平,L个基本单元的数据输出端口作为数据输出单元相应的数据输出端口;按输入数据从低位到高位所对应的基本单元,将各基本单元的参数输入端口错位并联,以错位并联后的各参数输入端口和第L个基本单元的第1个参数输入端口作为数据输出单元相应的参数输入端口,各基本单元的其它参数输入端口都连接到低电平;按输入数据从低位到高位所对应的基本单元,将第i至第L个基本单元的第i个反馈端口并联,i=1、......、L-1,以各并联后的反馈端口和第L个基本单元的第L个反馈端口作为数据输出单元相应的数据输入端口,各基本单元的其它反馈端口都连接到低电平。
根据所述公开的实施例,可以使得本领域技术人员能够实现或者使用本发明。对于本领域技术人员来说,这些实施例的各种修改是显而易见的,并且这里定义的总体原理也可以在不脱离本发明的范围和主旨的基础上应用于其他实施例。以上所述的实施例仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种用于并行BCH编码的电路,其特征在于,包括M个运算单元电路、一个反馈单元电路和一个数据输出单元电路;所述M个运算单元电路、反馈单元电路和数据输出单元电路串行连接;数据输出单元电路的L路并行数据输出端作为所述电路的并行数据输出端口,并与第一个运算单元电路的L路并行数据输入端口分别对应连接;反馈单元电路的L路并行数据输出端口还与每个运算单元电路的L路并行反馈端口分别对应连接;反馈单元电路还包括L路并行原始数据输入端口,作为所述电路的并行数据输入端口,用于输入待编码的L路并行数据;运算单元电路还包括2×L-1个并行参数输入端口,反馈单元电路还包括L-1个并行参数输入端口,数据输出单元电路还包括L个并行参数输入端口;其中,M=mL,]]>m为校验码的比特数、L为并行度。
2.如权利要求1所述的电路,其特征在于,运算单元电路包括L个基本单元电路;L个基本单元电路的数据输入端口组成运算单元电路的L路并行数据输入端口,L个基本单元电路的数据输出端口组成运算单元电路的L路并行数据输出端口;各基本单元电路的反馈端口并联,以并联后的各反馈端口作为运算单元电路相应的并行反馈端口;按输入数据从低位到高位所对应的基本单元电路,将L个基本单元电路的参数输入端口移位并联,以获得的2×L-1个移位并联后的参数输入端口作为运算单元电路相应的并行参数输入端口。
3.如权利要求1所述的电路,其特征在于,反馈单元电路包括L个基本单元电路和L个二输入异或门;按输入数据从低位到高位所对应的基本单元电路,第i至第L个基本单元电路的第i-1个参数输入端口并联,i=2、3、......、L-1,以并联后的各参数输入端口和第L个基本单元电路的第L-1个参数输入端口作为反馈单元电路相应的L-1个并行参数输入端口,各基本单元电路的其它参数输入端口都连接到低电平;按输入数据从低位到高位所对应的基本单元电路,第i个基本单元电路的数据输出端口与第i+1至第L个基本单元电路的第i个反馈端口连接,i=1,......,L-1,各基本单元电路的其它反馈端口都连接到低电平;各基本单元电路的数据输入端口分别连接到一个二输入异或门的输出端;按输入数据从低位到高位所对应的基本单元电路,第i个二输入异或门的第一输入端作为第i个原始数据输入端,第二输入端作为第L-i+1个数据输入端,i=1、......、L;以L个基本单元电路的数据输出端口作为反馈单元电路相应的数据输出端口。
4.如权利要求1所述的电路,其特征在于,数据输出单元电路包括L个基本单元电路;所有基本单元电路的数据输入端口都接到低电平,L个基本单元电路的数据输出端口作为数据输出单元电路相应的数据输出端口;按输入数据从低位到高位所对应的基本单元电路,将各基本单元电路的参数输入端口错位并联,以错位并联后的各参数输入端口和第L个基本单元电路的第1个参数输入端口作为数据输出单元电路相应的参数输入端口,各基本单元电路的其它参数输入端口都连接到低电平;按输入数据从低位到高位所对应的基本单元电路,将第i至第L个基本单元电路的第i个反馈端口并联,i=1、......、L-1,以各并联后的反馈端口和第L个基本单元电路的第L个反馈端口作为数据输出单元电路相应的数据输入端口,各基本单元电路的其它反馈端口都连接到低电平。
5.如权利要求2、3或4所述的电路,其特征在于,所述基本单元电路包括L个二输入与门和一个多输入异或门;所述多输入异或门的输出端作为基本单元电路的数据输出端,所述多输入异或门的一个输入端作为基本单元的数据输入端,其它每个输入端分别连接到一个二输入与门的输出端;各二输入与门的第一输入端作为参数输入端口,第二输入端作为相应的反馈端口。
6.如权利要求2、3或4所述的电路,其特征在于,各基本运算单元电路的数据输出端还连接至少一级寄存器。
7.一种用于并行BCH编码的编码器,其特征在于,该编码器采用权利要求1所述的电路。
8.一种用于并行BCH编码的装置,其特征在于,包括M个运算单元、一个反馈单元和一个数据输出单元;所述M个运算单元、反馈单元和数据输出单元串行连接;数据输出单元的L路并行数据输出端作为所述装置的并行数据输出端口,并与第一个运算单元的L路并行数据输入端口分别对应连接;反馈单元的L路并行数据输出端口还与每个运算单元的L路并行反馈端口分别对应连接;反馈单元还包括L路并行原始数据输入端口,作为所述装置的并行数据输入端口,用于输入待编码的L路并行数据;运算单元还包括2×L-1个并行参数输入端口,反馈单元还包括L-1个并行参数输入端口,数据输出单元还包括L个并行参数输入端口;其中,M=mL,]]>m为校验码的bit数、L为并行度。
9.如权利要求8所述的装置,其特征在于,运算单元包括L个基本单元;L个基本单元的数据输入端口组成运算单元的L路并行数据输入端口,L个基本单元的数据输出端口组成运算单元的L路并行数据输出端口;各基本单元的反馈端口并联,以并联后的各反馈端口作为运算单元相应的并行反馈端口;按输入数据从低位到高位所对应的基本单元,将L个基本单元的参数输入端口移位并联,以获得的2×L-1个移位并联后的参数输入端口作为运算单元相应的并行参数输入端口。
10.如权利要求8所述的装置,其特征在于,反馈单元包括L个基本单元和L个二输入异或门;按输入数据从低位到高位所对应的基本单元,第i至第L个基本单元的第i-1个参数输入端口并联,i=2、3、......、L-1,以并联后的各参数输入端口和第L个基本单元的第L-1个参数输入端口作为反馈单元相应的L-1个并行参数输入端口,各基本单元的其它参数输入端口都连接到低电平;按输入数据从低位到高位所对应的基本单元,第i个基本单元的数据输出端口与第i+1至第L个基本单元的第i个反馈端口连接,i=1,......,L-1,各基本单元的其它反馈端口都连接到低电平;各基本单元的数据输入端口分别连接到一个二输入异或门的输出端;按输入数据从低位到高位所对应的基本单元,第i个二输入异或门的第一输入端作为第i个原始数据输入端,第二输入端作为第L-i+1个数据输入端,i=1、......、L;以L个基本单元的数据输出端口作为反馈单元相应的数据输出端口。
11.如权利要求8所述的装置,其特征在于,数据输出单元包括L个基本单元;所有基本单元的数据输入端口都接到低电平,L个基本单元的数据输出端口作为数据输出单元相应的数据输出端口;按输入数据从低位到高位所对应的基本单元,将各基本单元的参数输入端口错位并联,以错位并联后的各参数输入端口和第L个基本单元的第1个参数输入端口作为数据输出单元相应的参数输入端口,各基本单元的其它参数输入端口都连接到低电平;按输入数据从低位到高位所对应的基本单元,将第i至第L个基本单元的第i个反馈端口并联,i=1、......、L-1,以各并联后的反馈端口和第L个基本单元的第L个反馈端口作为数据输出单元相应的数据输入端口,各基本单元的其它反馈端口都连接到低电平。
全文摘要
本发明公开一种用于并行BCH编码的电路,包括多个运算单元电路、一个反馈单元电路和一个数据输出单元电路;所述多个运算单元电路、反馈单元电路和数据输出单元电路串行连接;采用流水线的方式对输入的并行数据进行BCH编码。由于本发明提供的电路采用模块化的结构,因此电路的结构简单容易实现。另外,该电路独立于具体的编码算法,通过输入不同的参数即可实现不同的编码算法,从而扩展了所述电路的通用性,使所述电路具有很强的通用性。所述的应用范围非常广,可以应用到通信、数据传输和数据校验等领域。本发明还公开一种用于并行BCH编码的编码器和装置。
文档编号H03M13/15GK101068113SQ200710109450
公开日2007年11月7日 申请日期2007年6月21日 优先权日2007年6月21日
发明者汤江逊 申请人:炬力集成电路设计有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1