CN102158316A - 一种64bit位宽的并行CRC32校验方法及装置 - Google Patents
一种64bit位宽的并行CRC32校验方法及装置 Download PDFInfo
- Publication number
- CN102158316A CN102158316A CN2011101039202A CN201110103920A CN102158316A CN 102158316 A CN102158316 A CN 102158316A CN 2011101039202 A CN2011101039202 A CN 2011101039202A CN 201110103920 A CN201110103920 A CN 201110103920A CN 102158316 A CN102158316 A CN 102158316A
- Authority
- CN
- China
- Prior art keywords
- data
- bit
- 64bit
- crc
- crc check
- 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
Landscapes
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
64bit位宽的并行CRC32校验方法及装置,所述方法包括:对输入数据以64bit进行位宽匹配,若判断出输入数据不足64bit,则将预设的56比特数据中低8i比特数据作为填充比特添加到所述输入数据的尾部,得到64bit的数据;其中,i=1、2、...、7;对所述64bit的数据进行CRC32-D64校验,然后将得到的校验结果与所述填充比特对应的CRC校验值进行比较,若两者相同,则判定CRC校验正确;若两者不同,则判定CRC校验错误;所述填充比特对应的CRC校验值是利用校验矩阵Fi32计算得到并预先存储的。采用本发明后,使得对连续数据的校验在不损失性能的前提下,极大的缩减了资源,提升Fmax的频率。
Description
技术领域
本发明涉及数据通信领域,尤其涉及一种64bit位宽的并行CRC32校验方法及装置。
背景技术
在数据通信系统中,由于外界干扰等原因,可能会因为线路接收端接收到的数据报文与发送端发出的数据报文不一致而导致数据报文发生错误。这些错误的报文传入系统中可能会对系统用户造成冲击,影响用户使用网络的质量。
通讯系统中一般采用循环冗余校验算法(Cyclic Redundancy Check,简称为CRC)对数据进行编码校验。CRC校验算法以具有高性能、简单、易于实现等优点在通讯系统中得到了广泛的应用。
随着通讯系统性能的不断提升,一些高速通讯接口的出现,如3.125/6.25Gbps的SERDES(并串行与串并行转换器)或XAUI(10Gbps的以太网附件单元接口)接口,使得原来并行的CRC32算法面临位宽提升以及运行速率大幅提升的问题。当位宽增加至64bit时,传统的CRC校验算法在资源消耗上将大幅增加,而资源消耗的增加将导致Fmax(可达最大的时钟频率)进一步下降。
如图1所示,传统的CRC32校验装置包括:CRC32_D8模块、CRC32_D16模块、CRC32_D24模块、CRC32_D32模块、CRC32_D40模块、CRC32_D48模块、CRC32_D56模块及CRC32_D64模块。相应地,如图2所示,传统的CRC32校验流程包括:校验数据输入后,若判断出该校验数据只有高8bit有效,则进入CRC32_D8模块进行计算,得到当前的CRC校验值;若判断出输入的数据只有高16bit数据有效,则进入CRC32_D16模块进行计算,得到当前的CRC校验值;若判断出输入的数据只有高24bit数据有效,则进入CRC32_D24模块进行计算,得到当前CRC校验值;若判断出输入的数据只有高32bit数据有效,则进入CRC32_D32模块进行计算,得到当前的CRC校验值;若判断出输入的数据只有高40bit数据有效,则进入CRC32_D40模块进行计算,得到当前的CRC校验值;若判断出输入的数据只有高48bit数据有效,则进入CRC32_D48模块进行计算,得到当前的CRC校验值;若判断出输入的数据只有高56bit数据有效,则进入CRC32_D56模块进行计算,得到当前的CRC校验值;若判断出输入的数据64bit数据有效,则进入CRC32_D64模块进行计算,得到当前的CRC校验值。该校验方法的优点是在单周期内即可完成CRC的校验计算,CRC计算的效率高;缺点是要实现该方法需要用到8个子模块,资源的消耗大幅增加,而资源的增加将导致Fmax进一步下降,系统的性能也会因此受到影响。
如图3所示,基于传统算法的改进型C32校验装置,包括:CRC32_D8模块、CRC32_D16模块、CRC32_D24模块、CRC32_D32模块及CRC32_D64模块。相应地,如图4所示,改进型的CRC32校验流程包括:校验数据输入后,若判断出该校验数据只有高8bit有效,则进入CRC32_D8模块进行计算,得到当前的CRC校验值;若判断出输入的数据只有高16bit数据有效,则进入CRC32_D16模块进行计算,得到当前的CRC校验值;若输入的数据只有高24bit数据有效,则进入CRC32_D24模块进行计算,得到当前的CRC校验值;若输入的数据只有高32bit数据有效,则进入CRC32_D32模块进行计算,得到当前的CRC校验值;若输入的数据只有高40bit数据有效,则先进入CRC32_D32模块进行计算,将得到的CRC值作为中间数据,再进入CRC32_D8模块进行计算,得到最终的CRC校验值;若输入的数据只有高48bit数据有效,则首先进入CRC32_D32模块进行计算,将得到的CRC值作为中间数据,再进入CRC32_D16模块进行计算,得到最终的CRC校验值;若输入的数据只有高56bit数据有效,则首先进入CRC32_D32模块进行计算,将得到的CRC值作为中间数据,再进入CRC32_D24模块进行计算,得到最终的CRC校验值;若输入的数据64bit数据有效,则进入CRC32_D64模块进行计算,得到当前的CRC校验值。该方法的优点是用5个子模块即可实现CRC32的计算,但缺点是在计算40bit、48bit、56bit数据位宽的CRC校验值时,消耗的时钟周期会增加一倍。虽然资源的消耗有一定的减少,当系统要求的性能比较高时,如对于XAUI接口,Fmax需要最小156.25MHz,低端芯片就无法满足该要求。如对于FPGA(Field-Programmable Gate Array,现场可编程门阵列)系统来讲,一般比较低端的FPGA很难达到这一要求;而若选用高端的FPGA,势必会造成成本的上升。因此采用该方法时对于低端器件的使用会受到一定的限制。
发明内容
本发明要解决的技术问题是提供一种64bit位宽的并行CRC32校验方法及装置,以克服传统CRC以及基于传统CRC的改进型校验方法不能满足高速通讯接口要求的缺陷。
为解决上述问题,本发明提供了一种64bit位宽的并行CRC32校验方法,包括:
对输入数据以64bit进行位宽匹配,若判断出输入数据不足64bit,则将预设的56比特数据中低8i比特数据作为填充比特添加到所述输入数据的尾部,得到64bit的数据;其中,i=1、2、...、7;
对所述64bit的数据进行CRC32-D64校验,然后将得到的校验结果与所述填充比特对应的CRC校验值进行比较,若两者相同,则判定CRC校验正确;若两者不同,则判定CRC校验错误;所述填充比特对应的CRC校验值是利用校验矩阵Fi32计算得到并预先存储的。
进一步地,
所述填充比特对应的CRC校验值是利用校验矩阵Fi32计算得到并预先存储是指:利用校验矩阵Fi32计算出预设的56比特数据中低8n比特数据对应的CRC校验值,并存储所述56比特数据中低8n比特数据对应的CRC校验值,计算的步骤具体包括:
利用下式计算所述56比特数据中低8i比特数据对应的校验值C′8i:
其中,×表示按位进行逻辑与运算,表示按位进行逻辑异或运算;Fd8表示8bit位宽的数据生成矩阵;Fi32为32bit位宽数据对应的CRC32校验矩阵;C′0值为0xc704dd7b;D′8i为所述56比特数据中低8i比特数据中的高8bit数据。
进一步地,
对所述64bit的数据进行CRC32-D64校验,具体包括:
采用下式计算所述64bit的数据的CRC校验值:
其中,Fi64为64bit位宽数据对应的CRC32校验矩阵;Fd64为64bit位宽的数据校验矩阵;C为CRC校验正确的CRC特征值,其值为0xc704dd7b;D为所述64bit的数据。
进一步地,
所述存储所述56比特数据中低8n比特数据对应的CRC校验值,具体包括:将计算得到的所述56比特数据中低8i比特数据对应的校验值C′8i存储在以8i为特征值的地址索引的只读内存中。
相应地,本发明还提供了一种64bit位宽的并行CRC32校验装置,包括:
数据补足对齐模块,用于对输入数据以64bit进行位宽匹配,若判断出输入数据不足64bit,则将预设的56比特数据中低8i比特数据作为填充比特添加到所述输入数据的尾部,得到64bit的数据;其中,i=1、2、...、7;
CRC32-D64生成模块,用于对所述64bit的数据进行CRC32-D64校验;
CRC32数据校验比对模块,用于将CRC32-D64生成模块得到的校验结果与所述填充比特对应的CRC校验值进行比较,若两者相同,则判定CRC校验正确;若两者不同,则判定CRC校验错误;所述填充比特对应的CRC校验值是利用校验矩阵Fi32计算得到并预先存储的。
进一步地,所述装置还包括:CRC校验值生成模块;
所述填充比特对应的CRC校验值是利用校验矩阵Fi32计算得到并预先存储是指:所述CRC校验值生成模块用于利用校验矩阵Fi32计算出预设的56比特数据中低8n比特数据对应的CRC校验值,并存储所述56比特数据中低8n比特数据对应的CRC校验值,计算的步骤具体包括:
所述CRC校验值生成模块用于利用下式计算所述56比特数据中低8i比特数据对应的校验值C′8i:
其中,×表示按位进行逻辑与运算,表示按位进行逻辑异或运算;Fd8表示8bit位宽的数据生成矩阵;Fi32为32bit位宽数据对应的CRC32校验矩阵;C′0值为0xc704dd7b;D′8i为所述56比特数据中低8i比特数据中的高8bit数据。
进一步地,
所述CRC32-D64生成模块用于对所述64bit的数据进行CRC32-D64校验,具体包括:
所述CRC32-D64生成模块用于采用下式计算所述64bit的数据的CRC校验值:
其中,Fi64为64bit位宽数据对应的CRC32校验矩阵;Fd64为64bit位宽的数据校验矩阵;C为CRC校验正确的CRC特征值,其值为0xc704dd7b;D为所述64bit的数据。
进一步地,
所述CRC校验值生成模块用于存储所述56比特数据中低8n比特数据对应的CRC校验值,具体包括:所述CRC校验值生成模块用于将计算得到的所述56比特数据中低8i比特数据对应的校验值C′8i存储在以8i为特征值的地址索引的只读内存中。
采用本发明后,消耗的资源大量减少,占用的模块由改进型的5个缩减为1个,消耗的资源约缩减为原来的40%,且校验周期缩减为与传统算法一致的单个周期,使得连续数据的校验在不损失性能的前提下,极大的缩减了资源,提升Fmax的频率,使得CRC校验算法应用的范围更广。
附图说明
图1为传统并行CRC32的64bit数据输入的计算框图;
图2为传统并行CRC32的64bit数据输入的计算流程;
图3为改进型并行CRC32的输入数据64bit计算框图;
图4为改进型并行CRC32的输入数据64bit计算流程;
图5为本发明并行CRC32的输入数据64bit计算框图;
图6为本发明并行CRC32的输入数据64bit数据对齐过程;
图7为本发明并行CRC32的输入数据64bit计算框图。
具体实施方式
下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在本实施例中,64bit位宽的并行CRC32校验方法,包括:
1、对输入数据以64bit进行位宽匹配,若判断出输入数据尾部不足64bit,则将上述预设的56比特数据中低8i比特数据作为填充比特添加到该输入数据的尾部,得到64bit的数据;其中,i=1、2、...、7;
2、利用校验矩阵Fi64对该64bit的数据进行CRC32-D64校验,然后将得到的校验结果与上述填充比特对应的CRC校验值进行比较,若两者相同则判定CRC校验正确;否则,判定CRC校验错误。其中,填充比特对应的CRC校验值是利用校验矩阵Fi32计算得到并预先存储的。
下面对上述方法进行进一步说明。
具体地,首先,获取待校验的输入数据,将待校验的输入数据以64bit进行位宽的匹配,即:对于尾部不足64bit的输入数据,在预设的56bit的2进制常数中选取相应位数的低位数据作为填充进行补足,补足后的数据D=[D0,D1,D2,......,D62,D63]T;其中:Dm=0或1,m=0,1,...,63。同时记录填充数据的长度L,L的取值为0bit(表示无需补足对齐)、8bit、16bit、24bit、32bit、40bit、48bit、56bit。填充数据d′=[D0,D1,D2,......,DL-2,DL-1]。
然后,根据CRC校验值的迭代计算公式得到上述预设的2进制常数中,低8bit、低16bit、低24bit、低32bit、低40bit、低48bit及低56bit数据的校验值C’,即:
其中,i=1、2、...、7;×表示按位进行逻辑与运算,表示按位进行逻辑异或运算;Fd8表示8bit位宽的数据生成矩阵,其值如式(2)所示;Fi32为32bit位宽数据对应的CRC32校验矩阵,其值如式(3)所示;C′8i为上述预设的2进制常数中低8ibit数据的CRC校验值,C′0为CRC校验正确的CRC特征值,其值为0xc704dd7b;D′8i为上述预设的2进制常数中低8ibit数据中的高8bit数据。
对式(1)经过迭代简化后得到如下计算公式:
其中,C′k表示C′8i中按照从低位到高位的顺序位于第k+1位的数据,Ck表示C′8(i-1)中按照从低位到高位的顺序位于第k+1位的数据,其中,k=1,2,......,31;D′j表示D′8i中按照从低位到高位的顺序位于第j+1位的数据,其中,j=1,2,......,7。
按照上述公式(4)经过7轮迭代得到8组CRC校验值。因为所选的填充数据为定值,因此计算出的8组CRC校验值亦为定值。因此在计算过程中一旦选定56比特的填充数据,C′8i的数据亦随即固定。
为减少资源的占用将C′L的数据存储在以L为特征值的地址索引的ROM(Read-Only Memory,只读内存)中,如表1所示。
表1填充数据长度、存储地址及CRC校验值之间的关系表
填充数据长度 | 存储地址 | CRC校验值 |
0bit | 0x0 | C′0 |
8bit | 0x1 | C′8 |
16bit | 0x2 | C′16 |
24bit | 0x3 | C′24 |
32bit | 0x4 | C′32 |
40bit | 0x5 | C′40 |
48bit | 0x6 | C′48 |
56bit | 0x7 | C′56 |
其次,对经过填充数据填充的64bit数据进行CRC得到CRC当前校验值ci,即采用下述公式:
其中,Fi64为64bit位宽数据对应的CRC32校验矩阵,其值如式(6)所示;Fd64为64bit位宽的数据校验矩阵,其值如式(7)所示;C为CRC校验正确的CRC特征值,其值为0xc704dd7b;D为经过填充数据填充的64bit数据。
对式(5)经过迭代简化后得到如下计算公式:
其中,ci表示c中按照从低位到高位的顺序位于第i+1位的数据,Ci表示CRC特征值中按照从低位到高位的顺序位于第i+1位的数据,其中,i=1,2,......,31;Dj表示经过填充数据填充的64bit数据D中按照从低位到高位的顺序位于第j+1位的数据,其中,j=1,2,......,63。
将最后计算出的CRC值c与相应的填充数据的位宽L对应的地址空间的数据进行比较。若数据输入为64bit,则选择表项对应地址数据C′0进行数据比较;若输入的数据为56bit,需要填充8bit数据,则选择表项对应的地址数据C′8进行数据比较;若输入的数据为48bit,需要填充16bit数据,则选择表项对应的地址数据C′16进行数据比较;若输入的数据为40bit,需要填充24bit数据,则选择表项对应的地址数据C′24进行数据比较;若输入的数据为32bit,需要填充32bit数据,则选择表项对应的地址数据C′32进行数据比较;若输入的数据为24bit,需要填充40bit数据,则选择表项对应的地址数据C′40进行数据比较;若输入的数据为16bit,需要填充48bit数据,则选择表项对应的地址数据C′48进行数据比较;若输入的数据为8bit,需要填充56bit数据,则选择表项对应的地址数据C′56进行数据比较。若两个进行比较的数据相等,则表示CRC校验值正确,若不相等则表示CRC校验值错误。此时完成全部数据的CRC校验。
本发明还提供了一种64bit位宽的并行CRC32校验装置,包括:
数据补足对齐模块,用于对输入数据以64bit进行位宽匹配,若判断出输入数据不足64bit,则将预设的56比特数据中低8i比特数据作为填充比特添加到所述输入数据的尾部,得到64bit的数据;其中,i=1、2、...、7;
CRC32-D64生成模块,用于对所述64bit的数据进行CRC32-D64校验;
CRC32数据校验比对模块,用于将CRC32-D64生成模块得到的校验结果与所述填充比特对应的CRC校验值进行比较,若两者相同,则判定CRC校验正确;若两者不同,则判定CRC校验错误;所述填充比特对应的CRC校验值是利用校验矩阵Fi32计算得到并预先存储的。
较优地,所述装置还包括:CRC校验值生成模块;
所述填充比特对应的CRC校验值是利用校验矩阵Fi32计算得到并预先存储是指:所述CRC校验值生成模块用于利用校验矩阵Fi32计算出预设的56比特数据中低8n比特数据对应的CRC校验值,并存储所述56比特数据中低8n比特数据对应的CRC校验值,计算的步骤具体包括:
所述CRC校验值生成模块用于利用下式计算所述56比特数据中低8i比特数据对应的校验值C′8i:
其中,×表示按位进行逻辑与运算,表示按位进行逻辑异或运算;Fd8表示8bit位宽的数据生成矩阵;Fi32为32bit位宽数据对应的CRC32校验矩阵;C′0值为0xc704dd7b;D′8i为所述56比特数据中低8i比特数据中的高8bit数据。
较优地,
所述CRC32-D64生成模块用于对所述64bit的数据进行CRC32-D64校验,具体包括:
所述CRC32-D64生成模块用于采用下式计算所述64bit的数据的CRC校验值:
其中,Fi64为64bit位宽数据对应的CRC32校验矩阵;Fd64为64bit位宽的数据校验矩阵;C为CRC校验正确的CRC特征值,其值为0xc704dd7b;D为所述64bit的数据。
较优地,
所述CRC校验值生成模块用于存储所述56比特数据中低8n比特数据对应的CRC校验值,具体包括:所述CRC校验值生成模块用于将计算得到的所述56比特数据中低8i比特数据对应的校验值C′8i存储在以8i为特征值的地址索引的只读内存中。
下面用本发明的一个示例进行进一步说明。
本示例公开的64bit并行输入的CRC32的校验算法如图6所示。
不失一般性,以填充数据为0为例,说明输入数据尾部为8bit的CRC32的计算流程。根据上述公式(1):将D′8i=0带入方程得到如下方程式,第一轮计算令C’={C31,C30,C29,C28,C27,C26......C3,C2,C1,C0}
则
C′0={0xc704dd7b}={1,1,0,0,0,1,1,1,0,0,0,0,0,1,0,0,1,1,0,1,1,1,0,1,0,1,1,1,1,0,1,1},则经过第一轮计算得到C′8=0xc8721e29,第二轮计算得到C′16=0x91e9a138,第三轮计算得到C′24=0x8ad76f98,第四轮计算得到C′32=0x6904bb59,第五轮计算得到C′40=0x8104c946,第六轮计算得到C′48=0x3a7abc72,第七轮计算得到C′56=0x4710bb9c。将上述计算得到的C′L各CRC校验值存储在以L为特征值的地址索引的ROM中,如表2所示。
表2CRC校验值及存储地址的对应关系
地址 | CRC校验值 |
0bit填充,地址0x0 | 0xc704dd7b |
8bit填充,地址0x1 | 0xc8721e29 |
16bit填充,地址0x2 | 0x91e9a138 |
24bit填充,地址0x3 | 0x8ad76f98 |
32bit填充,地址0x4 | 0x6904bb59 |
40bit填充,地址0x5 | 0x8104c946 |
48bit填充,地址0x6 | 0x3a7abc72 |
56bit填充,地址0x7 | 0x4710bb9c |
根据上述CRC校验值的计算公式(5)计算得到CRC当前的校验值。将最后计算出的当前校验值与填充比特位数L对应的地址空间的数据C′L进行比较。在本示例中,输入的数据为8bit则需要填充56bit的数据0,则选择表项中对应的地址保存的数据0x4710bb9c进行数据比较;若两个数据相等则表示CRC校验值正确,若不等则表示CRC校验值错误。此时完成全部数据的CRC校验。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
Claims (8)
1.一种64bit位宽的并行CRC32校验方法,包括:
对输入数据以64bit进行位宽匹配,若判断出输入数据不足64bit,则将预设的56比特数据中低8i比特数据作为填充比特添加到所述输入数据的尾部,得到64bit的数据;其中,i=1、2、...、7;
对所述64bit的数据进行CRC32-D64校验,然后将得到的校验结果与所述填充比特对应的CRC校验值进行比较,若两者相同,则判定CRC校验正确;若两者不同,则判定CRC校验错误;所述填充比特对应的CRC校验值是利用校验矩阵Fi32计算得到并预先存储的。
3.如权利要求1或2所述的方法,其特征在于,
对所述64bit的数据进行CRC32-D64校验,具体包括:
采用下式计算所述64bit的数据的CRC校验值:
其中,Fi64为64bit位宽数据对应的CRC32校验矩阵;Fd64为64bit位宽的数据校验矩阵;C为CRC校验正确的CRC特征值,其值为0xc704dd7b;D为所述64bit的数据。
4.如权利要求2所述的方法,其特征在于:
所述存储所述56比特数据中低8n比特数据对应的CRC校验值,具体包括:将计算得到的所述56比特数据中低8i比特数据对应的校验值C′8i存储在以8i为特征值的地址索引的只读内存中。
5.一种64bit位宽的并行CRC32校验装置,包括:
数据补足对齐模块,用于对输入数据以64bit进行位宽匹配,若判断出输入数据不足64bit,则将预设的56比特数据中低8i比特数据作为填充比特添加到所述输入数据的尾部,得到64bit的数据;其中,i=1、2、...、7;
CRC32-D64生成模块,用于对所述64bit的数据进行CRC32-D64校验;
CRC32数据校验比对模块,用于将CRC32-D64生成模块得到的校验结果与所述填充比特对应的CRC校验值进行比较,若两者相同,则判定CRC校验正确;若两者不同,则判定CRC校验错误;所述填充比特对应的CRC校验值是利用校验矩阵Fi32计算得到并预先存储的。
6.如权利要求5所述的装置,其特征在于,还包括:CRC校验值生成模块;
所述填充比特对应的CRC校验值是利用校验矩阵Fi32计算得到并预先存储是指:所述CRC校验值生成模块用于利用校验矩阵Fi32计算出预设的56比特数据中低8n比特数据对应的CRC校验值,并存储所述56比特数据中低8n比特数据对应的CRC校验值,计算的步骤具体包括:
所述CRC校验值生成模块用于利用下式计算所述56比特数据中低8i比特数据对应的校验值C′8i:
7.如权利要求5或6所述的装置,其特征在于,
所述CRC32-D64生成模块用于对所述64bit的数据进行CRC32-D64校验,具体包括:
所述CRC32-D64生成模块用于采用下式计算所述64bit的数据的CRC校验值:
其中,Fi64为64bit位宽数据对应的CRC32校验矩阵;Fd64为64bit位宽的数据校验矩阵;C为CRC校验正确的CRC特征值,其值为0xc704dd7b;D为所述64bit的数据。
8.如权利要求6所述的装置,其特征在于:
所述CRC校验值生成模块用于存储所述56比特数据中低8n比特数据对应的CRC校验值,具体包括:所述CRC校验值生成模块用于将计算得到的所述56比特数据中低8i比特数据对应的校验值C′8i存储在以8i为特征值的地址索引的只读内存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110103920.2A CN102158316B (zh) | 2011-04-25 | 2011-04-25 | 一种64bit位宽的并行CRC32校验方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110103920.2A CN102158316B (zh) | 2011-04-25 | 2011-04-25 | 一种64bit位宽的并行CRC32校验方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102158316A true CN102158316A (zh) | 2011-08-17 |
CN102158316B CN102158316B (zh) | 2015-06-17 |
Family
ID=44439524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110103920.2A Active CN102158316B (zh) | 2011-04-25 | 2011-04-25 | 一种64bit位宽的并行CRC32校验方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102158316B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752081A (zh) * | 2012-07-03 | 2012-10-24 | Ut斯达康通讯有限公司 | 一种高速以太网中并行循环冗余校验方法及装置 |
CN103970692A (zh) * | 2013-01-25 | 2014-08-06 | 北京旋极信息技术股份有限公司 | RapidIO串行数据处理方法 |
CN104461764A (zh) * | 2014-12-16 | 2015-03-25 | 北京控制工程研究所 | 一种内置crc校验码的fpga配置文件生成方法 |
CN104639294A (zh) * | 2015-02-10 | 2015-05-20 | 浪潮电子信息产业股份有限公司 | 一种改进的crc校验实现方法 |
CN105022001A (zh) * | 2014-04-25 | 2015-11-04 | 深圳创动科技有限公司 | 光伏逆变器并网前的检查方法及装置 |
CN107733568A (zh) * | 2017-09-22 | 2018-02-23 | 烽火通信科技股份有限公司 | 基于fpga实现crc并行计算的方法及装置 |
CN109992892A (zh) * | 2019-04-02 | 2019-07-09 | 苏州中晟宏芯信息科技有限公司 | 一种参考模型校验方法、装置、电子设备及可读存储介质 |
CN112306741A (zh) * | 2020-11-19 | 2021-02-02 | 山东云海国创云计算装备产业创新中心有限公司 | 一种crc校验方法及相关装置 |
CN113904754A (zh) * | 2021-09-29 | 2022-01-07 | 山东云海国创云计算装备产业创新中心有限公司 | 一种crc纠错方法及相关装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020124226A1 (en) * | 2001-03-05 | 2002-09-05 | Nec Corporation | Arithmetic operation method for cyclic redundancy check and arithmetic operation circuit for cyclic redundancy check |
CN101478369A (zh) * | 2009-01-05 | 2009-07-08 | 深圳华为通信技术有限公司 | 一种crc校验的方法和系统及crc初值影响矩阵 |
CN101702639A (zh) * | 2009-11-23 | 2010-05-05 | 成都市华为赛门铁克科技有限公司 | 循环冗余校验的校验值计算方法及装置 |
-
2011
- 2011-04-25 CN CN201110103920.2A patent/CN102158316B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020124226A1 (en) * | 2001-03-05 | 2002-09-05 | Nec Corporation | Arithmetic operation method for cyclic redundancy check and arithmetic operation circuit for cyclic redundancy check |
CN101478369A (zh) * | 2009-01-05 | 2009-07-08 | 深圳华为通信技术有限公司 | 一种crc校验的方法和系统及crc初值影响矩阵 |
CN101702639A (zh) * | 2009-11-23 | 2010-05-05 | 成都市华为赛门铁克科技有限公司 | 循环冗余校验的校验值计算方法及装置 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752081B (zh) * | 2012-07-03 | 2014-11-26 | Ut斯达康通讯有限公司 | 一种高速以太网中并行循环冗余校验方法及装置 |
CN102752081A (zh) * | 2012-07-03 | 2012-10-24 | Ut斯达康通讯有限公司 | 一种高速以太网中并行循环冗余校验方法及装置 |
CN103970692A (zh) * | 2013-01-25 | 2014-08-06 | 北京旋极信息技术股份有限公司 | RapidIO串行数据处理方法 |
CN103970692B (zh) * | 2013-01-25 | 2017-08-25 | 北京旋极信息技术股份有限公司 | RapidIO串行数据处理方法 |
CN105022001A (zh) * | 2014-04-25 | 2015-11-04 | 深圳创动科技有限公司 | 光伏逆变器并网前的检查方法及装置 |
CN104461764B (zh) * | 2014-12-16 | 2015-12-30 | 北京控制工程研究所 | 一种内置crc校验码的fpga配置文件生成方法 |
CN104461764A (zh) * | 2014-12-16 | 2015-03-25 | 北京控制工程研究所 | 一种内置crc校验码的fpga配置文件生成方法 |
CN104639294A (zh) * | 2015-02-10 | 2015-05-20 | 浪潮电子信息产业股份有限公司 | 一种改进的crc校验实现方法 |
CN107733568A (zh) * | 2017-09-22 | 2018-02-23 | 烽火通信科技股份有限公司 | 基于fpga实现crc并行计算的方法及装置 |
CN107733568B (zh) * | 2017-09-22 | 2020-05-12 | 烽火通信科技股份有限公司 | 基于fpga实现crc并行计算的方法及装置 |
CN109992892A (zh) * | 2019-04-02 | 2019-07-09 | 苏州中晟宏芯信息科技有限公司 | 一种参考模型校验方法、装置、电子设备及可读存储介质 |
CN109992892B (zh) * | 2019-04-02 | 2023-12-26 | 合芯科技(苏州)有限公司 | 一种参考模型校验方法、装置、电子设备及可读存储介质 |
CN112306741A (zh) * | 2020-11-19 | 2021-02-02 | 山东云海国创云计算装备产业创新中心有限公司 | 一种crc校验方法及相关装置 |
CN113904754A (zh) * | 2021-09-29 | 2022-01-07 | 山东云海国创云计算装备产业创新中心有限公司 | 一种crc纠错方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102158316B (zh) | 2015-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102158316A (zh) | 一种64bit位宽的并行CRC32校验方法及装置 | |
CN111143107B (zh) | 一种fpga单粒子反转校验电路和方法 | |
CN104484238B (zh) | 一种用于sram型fpga配置刷新的crc校验方法 | |
JP2019533345A (ja) | ポーラー符号を使用してデータを符号化するための方法及び装置 | |
CN110326221A (zh) | 一种用于为极化码生成有序序列的方法 | |
KR101773490B1 (ko) | 데이터-의존 회로 경로 응답들을 이용하는 고유하고 복제불가한 플랫폼 식별자들 | |
CN103701566A (zh) | 一种校验方法和装置 | |
US20220368356A1 (en) | Systems for error reduction of encoded data using neural networks | |
CN103795502A (zh) | 一种数据帧校验码生成方法和装置 | |
TW201517045A (zh) | 在固態記憶體系統中基於延遲的資料再利用的系統及方法 | |
CN109392100A (zh) | 一种确定传输块大小的方法、装置及设备 | |
CN115116530A (zh) | 存储器的校验管脚处理方法、装置、设备和存储介质 | |
CN107293330B (zh) | 对随机存取存储器ram进行仿真验证的方法和仿真验证系统 | |
CN112306741A (zh) | 一种crc校验方法及相关装置 | |
CN108270508B (zh) | 一种循环冗余校验crc实现方法、装置及网络设备 | |
CN104240747A (zh) | 一种多媒体数据获取的方法及装置 | |
US8683291B2 (en) | High throughput frame check sequence module architecture | |
CN107770239A (zh) | 用于通过网络通信的方法和设备 | |
US9246491B2 (en) | Method and apparatus for performing pipelined operations on parallel input data with feedback | |
CN110750945B (zh) | 一种芯片的仿真方法、装置、仿真芯片以及相关产品 | |
CN103260154B (zh) | 一种基于128-eia3的完整性保护增强方法 | |
JP6567754B2 (ja) | イーサネット(登録商標)フレーム検知回路 | |
CN103763064A (zh) | 适用于超高速通讯系统的循环冗余校验码生成方法与电路 | |
CN105356966B (zh) | 循环冗余校验实现方法、装置和网络设备 | |
CN105790887A (zh) | 用于为分组生成并行crc值的方法和设备 |
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 |