适用于超高速通讯系统的循环冗余校验码生成方法与电路的制作方法

文档序号:7796310阅读:136来源:国知局
适用于超高速通讯系统的循环冗余校验码生成方法与电路的制作方法
【专利摘要】本发明涉及一种适用于超高速通讯系统的循环冗余校验码生成方法与电路,属于超高速通讯系统的【技术领域】。按照本发明提供的技术方案,一种适用于超高速通讯系统的循环冗余校验码生成方法,所述循环冗余校验码生成方法包括如下步骤:a、接收一个周期内的n比特数据M,并将所述数据M进行任意分块,每个分块的数据宽度同样为n,且每个分块的有效数据位置与数据M中的数据位置相同;b、对每个分块并行进行CRC计算,并将所有分块的CRC计算得到的循环冗余校验码进行相加计算,并将相加后的计算值全部取反,以输出所需的循环冗余校验码值。本发明结构简单,生成效率高,成本低,能满足超高速系统对高并行数据进行循环冗余校验的要求。
【专利说明】适用于超高速通讯系统的循环冗余校验码生成方法与电路
【技术领域】
[0001]本发明涉及一种方法与电路,尤其是一种适用于超高速通讯系统的循环冗余校验码生成方法与电路,属于超高速通讯系统的【技术领域】。
【背景技术】
[0002]循环冗余校验技术在网络通讯中是非常常用的一种校验技术,能方便而快速的检查传输数据是否正确。但随着网络通讯的速率越来越高,要在越来越短的时间内完成高并行度的循环冗余校验计算越来越困难。
[0003]已有的关于提高CRC (Cyclic Redundancy Check)计算效率的方法有:直接对多位数据进行并行运算,然后根据最后一拍有多种可能的情形下,选择正确的数据输出;或者针对最后一拍有多种可能的情形下,进行以字节为单位的逆运算。
[0004]以40Gbps以太网标准为例,内部并行总线为64位,并行总线时钟频率为625MHz。要在一个时钟周期1.6ns内完成对64位数据的CRC-32校验计算,无论是直接对64位数据进行CRC运算,或者是对最后一拍的字节数进行多次逆运算的方法,都很难完成。其电路设计难度极大,很难满足电路的实时时序要求。所以上述现有方法虽然在一定程度上解决了电路面积与时序的平衡问题,但没有解决如何在一个时钟周期内完成多比特的高并行度CRC计算的问题。因此需要提供一种新的,高效的,能以较低的成本运用于超高速通讯系统的循环冗余校验计算方法和电路,从而满足超高速系统对高并行度数据进行循环冗余校验的要求。

【发明内容】

[0005]本发明的目的是克服现有技术中存在的不足,提供一种适用于超高速通讯系统的循环冗余校验码生成方法与电路,其结构简单,生成效率高,成本低,能满足超高速系统对高并行数据进行循环冗余校验的要求。
[0006]按照本发明提供的技术方案,一种适用于超高速通讯系统的循环冗余校验码生成方法,所述循环冗余校验码生成方法包括如下步骤:
[0007]a、接收一个周期内的η比特数据Μ,并将所述数据M进行任意分块,每个分块的数据宽度同样为η,且每个分块的有效数据位置与数据M中的数据位置相同;
[0008]b、对每个分块并行进行CRC计算,并将所有分块的CRC计算得到的循环冗余校验码进行相加计算,并将相加后的计算值全部取反,以输出所需的循环冗余校验码值。
[0009]所述步骤a中,对η比特数据M的分块包括均匀分块或非均匀分块;每个分块中有效数据外的数据位置全部置零。
[0010]将η比特数据M进行均匀分成K块时,每个分块的有效数据宽度为η/Κ位,且K个分块中有效数据处于最高位的分块的循环冗余校验码初始值为全0,K个分块中其余分块的循环冗余校验码初始值为全I。
[0011]将η比特数据M进行非均匀分成i块时,i个分块中有效数据处于最高位的分块的循环冗余校验码初始值为全O,i个分块中其余分块的循环冗余校验码初始值为全I。
[0012]所述适用于超高速通讯系统的循环冗余校验码生成电路,包括数据分块电路及与所述数据分块电路连接的CRC计算电路,所述CRC计算电路的输出端与加法器连接,加法器的输出端与反相器连接;
[0013]数据分块电路接收一个周期内的η比特数据Μ,并将所述数据M进行任意分块,每个分块的数据宽度同样为η,且每个分块的有效数据位置与数据M中的数据位置相同;
[0014]CRC计算电路对每个分块并行进行CRC计算,并将所有分块的CRC计算得到的循环冗余校验码通过加法器进行相加计算,并将相加后的计算值通过反相器全部取反,以通过反相器输出所需的循环冗余校验码值。
[0015]所述数据分块电路对接收的η比特数据M的分块包括均匀分块或非均匀分块;每个分块中有效数据外的数据位置全部置零。
[0016]所述数据分块电路将η比特数据M进行均匀分成K块时,每个分块的有效数据宽度为η/Κ位,且K个分块中有效数据处于最高位的分块的循环冗余校验码初始值为全0,K个分块中其余分块的循环冗余校验码初始值为全I。
[0017]所述数据分块电路将η比特数据M进行非均匀分成i块时,i个分块中有效数据处于最高位的分块的循环冗余校验码初始值为全0,i个分块中其余分块的循环冗余校验码初始值为全I。
[0018]本发明的优点:通过对数据进行分块,并对多个分块并行同时进行CRC计算,得到的循环冗余校验码再进行累加以及累加值取反后得到所需的循环冗余校验码值,结构简单,生成效率高,成本低,能满足超高速系统对高并行数据进行循环冗余校验的要求。
【专利附图】

【附图说明】
[0019]图1为本发明的结构框图。
[0020]图2为本发明均匀分块的示意图。
[0021]图3为本发明非均匀分块的示意图。
[0022]附图标记说明:100-数据分块电路、110-CRC计算电路及120-加法器。
【具体实施方式】
[0023]下面结合具体附图和实施例对本发明作进一步说明。
[0024]为了能够高效的,低成本地进行超高速通讯系统的循环冗余校验码生成,本发明所述循环冗余校验码生成方法包括如下步骤:
[0025]a、接收一个周期内的η比特数据Μ,并将所述数据M进行任意分块,每个分块的数据宽度同样为η,且每个分块的有效数据位置与数据M中的数据位置相同;
[0026]其中,对η比特数据M的分块包括均匀分块或非均匀分块;每个分块中有效数据外的数据位置全部置零。本发明实施例中,所述有效数据是指对η比特数据M分块时,η比特数据M中对应的数据。为了使得每个分块中的数据宽度同样为η,且保持每个分块中有效数据位置与η比特数据M的数据位置相同,在具体实施时,在每个分块中将有效数据外的数据位置全部置零,即用数据O来填充有效数据两侧的数据位置。
[0027]将η比特数据M进行均匀分成K块时,每个分块的有效数据宽度为η/Κ位,且K个分块中有效数据处于最高位的分块的循环冗余校验码初始值为全O,K个分块中其余分块的循环冗余校验码初始值为全I。本发明实施例中,在分成K个分块后,K个分块分别为分块1、分块2,……,分块K ;一般地,分块K中有效数据的位置处于η比特数据M中的最高位。
[0028]在对η比特数据M进行均匀划分时,根据CRC生成多项式G(X)进行循环冗余检验,每个分块的有效数据宽度为η/Κ位,通过对每个分块中有效数据外的数据位置进行补零,使得每个分块的数据宽度均达到η比特。本发明实施例中,K个分块中有效数据处于最高位的分块是指分块的有效数据处于η比特数据M中的最高位,如η为64的数据Μ,有效数据处于最高位的分块是指包含第63位(所述第63位是整个数据M的最高位,数据位的最低位为O位)的分块。
[0029]将η比特数据M进行非均匀分成i块时,i个分块中有效数据处于最高位的分块的循环冗余校验码初始值为全0,i个分块中其余分块的循环冗余校验码初始值为全I。本
发明实施例中,在分成i个分块后,i个分块分别为分块1、分块2,......,分块i ;一般地,分 块i中有效数据的位置处于η比特数据M中的最高位。
[0030]具体地,对于一个周期内接收到的η比特数据Μ,任意分成i块,每个分块有效数据
的数量为任意比特数r(i), r (1-1)......r (I), Hi)表示分块i中有效数据的数量,r (i_l)
表示分块(1-Ι)中有效数据的数量,r(l)表示分块I中有效数据的数量,则输入的η比特数据 M 可以表示为
【权利要求】
1.一种适用于超高速通讯系统的循环冗余校验码生成方法,其特征是,所述循环冗余校验码生成方法包括如下步骤: (a)、接收一个周期内的η比特数据Μ,并将所述数据M进行任意分块,每个分块的数据宽度同样为η,且每个分块的有效数据位置与数据M中的数据位置相同; (b)、对每个分块并行进行CRC计算,并将所有分块的CRC计算得到的循环冗余校验码进行相加计算,并将相加后的计算值全部取反,以输出所需的循环冗余校验码值。
2.根据权利要求1所述的适用于超高速通讯系统的循环冗余校验码生成方法,其特征是:所述步骤(a)中,对η比特数据M的分块包括均匀分块或非均匀分块;每个分块中有效数据外的数据位置全部置零。
3.根据权利要求2所述的适用于超高速通讯系统的循环冗余校验码生成方法,其特征是:将η比特数据M进行均匀分成K块时,每个分块的有效数据宽度为η/Κ位,且K个分块中有效数据处于最高位的分块的循环冗余校验码初始值为全O,K个分块中其余分块的循环冗余校验码初始值为全I。
4.根据权利要求2所述的适用于超高速通讯系统的循环冗余校验码生成方法,其特征是:将η比特数据M进行非均匀分成i块时,i个分块中有效数据处于最高位的分块的循环冗余校验码初始值为全O,i个分块中其余分块的循环冗余校验码初始值为全I。
5.一种适用于超高速通讯系统的循环冗余校验码生成电路,其特征是,包括数据分块电路(100)及与所述数据分块电路(100)连接的CRC计算电路(I 10),所述CRC计算电路(110)的输出端与加法器(120)连接,加法器(120)的输出端与反相器连接; 数据分块电路(100)接收一个周期内的η比特数据Μ,并将所述数据M进行任意分块,每个分块的数据宽度同样为η,且每个分块的有效数据位置与数据M中的数据位置相同; CRC计算电路(110)对每个分块并行进行CRC计算,并将所有分块的CRC计算得到的循环冗余校验码通过加法器(120)进行相加计算,并将相加后的计算值通过反相器全部取反,以通过反相器输出所需的循环冗余校验码值。
6.根据权利要求5所述适用于超高速通讯系统的循环冗余校验码生成电路,其特征是:所述数据分块电路(100)对接收的η比特数据M的分块包括均匀分块或非均匀分块;每个分块中有效数据外的数据位置全部置零。
7.根据权利要求6所述适用于超高速通讯系统的循环冗余校验码生成电路,其特征是:所述数据分块电路(100)将η比特数据M进行均匀分成K块时,每个分块的有效数据宽度为η/Κ位,且K个分块中有效数据处于最高位的分块的循环冗余校验码初始值为全0,K个分块中其余分块的循环冗余校验码初始值为全I。
8.根据权利要求6所述适用于超高速通讯系统的循环冗余校验码生成电路,其特征是:所述数据分块电路(100)将η比特数据M进行非均匀分成i块时,i个分块中有效数据处于最高位的分块的循环冗余校验码初始值为全0,i个分块中其余分块的循环冗余校验码初始值为全I。
【文档编号】H04L1/00GK103763064SQ201410038714
【公开日】2014年4月30日 申请日期:2014年1月26日 优先权日:2014年1月26日
【发明者】周昱, 雷淑岚 申请人:中国电子科技集团公司第五十八研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1