CN102130744B - 计算循环冗余校验码的方法和装置 - Google Patents

计算循环冗余校验码的方法和装置 Download PDF

Info

Publication number
CN102130744B
CN102130744B CN201110073462.2A CN201110073462A CN102130744B CN 102130744 B CN102130744 B CN 102130744B CN 201110073462 A CN201110073462 A CN 201110073462A CN 102130744 B CN102130744 B CN 102130744B
Authority
CN
China
Prior art keywords
data
cyclic redundancy
beat
redundancy value
flowing water
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.)
Active
Application number
CN201110073462.2A
Other languages
English (en)
Other versions
CN102130744A (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.)
Sanechips Technology Co Ltd
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201110073462.2A priority Critical patent/CN102130744B/zh
Publication of CN102130744A publication Critical patent/CN102130744A/zh
Application granted granted Critical
Publication of CN102130744B publication Critical patent/CN102130744B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明涉及一种计算循环冗余校验码的方法和装置,该方法包括:通过一级流水或者多级流水计算整拍数据的循环冗余值;通过多级流水的分布计算方式计算出最后一拍数据的循环冗余值;根据所述整拍数据的循环冗余值和最后一拍数据的循环冗余值得到所述数据帧的循环冗余值。本发明提供的方法和装置即使在数据位宽较大的情况下计算数据帧的CRC值,也可以实现较高的频率数据帧的CRC值的计算,突破了高速以太网应用中CRC值计算的频率瓶颈。占用资源较少,而且可以推广到任意位宽的数据。

Description

计算循环冗余校验码的方法和装置
技术领域
本发明涉及通信技术领域,具体是计算循环冗余(Cyclic RedundancyCheck,CRC)校验码的方法和装置。
背景技术
在数据通信***内部,由于数据帧较大,往往分成多拍并行传输。除最后一拍以外,其他节拍都传输最大数据宽度。最后一拍的有效数据宽度在1字节到最大字节间变化。如果数据帧只有一个节拍,等同于多拍数据的最后一拍。由于数据帧最后一拍的数据长度不固定,使得计算数据帧CRC码的过程中,数据帧最后一拍的CRC计算存在多种可能,CRC校验码的计算往往成为高速以太网电路设计中的频率瓶颈。数据帧的传输如图1所示,最大数据宽度为M字节,最后一拍有效数据宽度为N字节。同时,在数据通信***中,数据帧的数据传输往往伴随着其他数据帧信息一起传输。
常用的CRC值的算法有串行法和并行法两种。串行方法每个时钟周期只能处理1比特数据,无法满足大数据量,高频率电路的计算要求。
通常采用并行的CRC算法来提高CRC值校验码的计算的速度。大部分并行CRC值校验码的算法的推导是从串行编码电路出发,推出编码器前一个状态与下一个状态的矩阵运算关系,通过递推可以得到第N个状态和第零个状态的矩阵运算关系,用异或门实现此矩阵,即可在一个时钟周期算出N位数据的CRC值。
如果数据的宽度很宽,即使采用并行算法,芯片或者FPGA(Field-Programmable Gate Array,现场可编程门阵列)也无法达到要求的频率。此时可采用流水线式的CRC算法:设r=32,即要计算CRC32;设m=64,为每次并行计算的数据宽度;设C为前一级CRC32的输入;设{A,B}为现在要并行计算的数据,A、B的位宽都是64。可以采用64位CRC32并行计算电路,计算出A,B的CRC32的值;采用32位CRC32并行计算电路,计算C的CRC32的值;将所得结果异或即可获得{A,B,C}的CRC32的值。
数据帧最后一拍数据的CRC计算:在高速以太网100Gbps应用环境下,数据宽度往往要采用较宽的256bit,512bit或者1024bit才能达到数据处理的速度要求。此时计算数据帧CRC值,由于数据位宽较大,即使整拍数据的CRC计算也经常要采用流水线算法才能达到频率要求;最关键的是,数据帧的最后一拍,有效数据的位宽可能从1byte到最大位宽,有多种情况,数据帧最后一拍CRC计算需要用掉很多资源,而且难以达到频率要求。
考虑需要计算的数据帧数据宽度为256bit,则对于最后一拍数据的CRC计算,可能处理的情况达到32种。考虑这最后一拍数据的CRC计算在一个时钟周期内完成,现有技术中,需要实现32个CRC运算模块,消耗较多的资源,而且由于输入信号的负载较大,该方式无法达到较高的频率。
较大的数据宽度和最后一拍数据的CRC值处理难题,使得CRC运算模块计算往往成为高速以太网电路设计中的频率瓶颈。
发明内容
本发明的主要目的是提供一种计算循环冗余校验码的方法和装置,可以获得较高的工作频率数据帧的计算,占用资源较少,而且可以推广到任意位宽的数据。
本发明解决其技术问题所采用的技术方案是:
一种计算循环冗余校验码的方法,其包括:
通过一级流水或者多级流水计算整拍数据的循环冗余值;
通过多级流水的分布计算方式计算出最后一拍数据的循环冗余值;
根据所述整拍数据的循环冗余值和最后一拍数据的循环冗余值得到所述数据帧的循环冗余值。
优选地,所述通过一级流水或者多级流水计算所述整拍数据的循环冗余值后,进一步包括:保存所述整拍数据的循环冗余值。
优选地,所述通过多级流水的分布计算方式计算出最后一拍数据的循环冗余值,具体包括:
每一级流水只计算输入数据固定宽度的循环冗余值,如果输入数据的有效宽度小于要计算的宽度,则将所述数据透传至下一级流水。
优选地,在多级流水计算过程中,根据输入数据的宽度确定所述流水的级数。
本发明还提供一种计算循环冗余校验码的装置,包括:
整拍数据计算单元,用于通过一级流水或者多级流水计算整拍数据的循环冗余值;
最后一拍数据计算单元,用于通过多级流水的分布计算方式计算出最后一拍数据的循环冗余值;
循环冗余计算单元,用于根据所述整拍数据的循环冗余值和最后一拍数据的循环冗余值得到所述数据帧的循环冗余值。
优选地,所述整拍数据计算单元,还用于保存所述整拍数据的循环冗余值。
优选地,所述最后一拍数据计算单元,还用于在计算过程中,每一级流水只计算输入数据固定宽度的循环冗余值,如果输入数据的有效宽度小于要计算的宽度,则将所述数据透传至下一级流水。
优选地,所述最后一拍数据计算单元或整拍数据计算单元,还用于在多级流水计算过程中,根据输入数据的宽度确定所述流水的级数。
实施本发明的技术方案,具有以下有益效果:本发明提供的方法和装置即使在数据位宽较大的情况下计算数据帧的CRC值,也可以实现较高频率的数据帧的CRC值的计算,突破了高速以太网应用中CRC值计算的频率瓶颈。占用资源较少,而且可以推广到任意位宽的数据。
附图说明
图1为本发明实施例提供的方法流程图;
图2为图1的步骤S110采用一级流水的步骤S110的流程图;
图3为图1的步骤S110采用一级流水时的第一级流水的实现结构图;
图4为图1的步骤S110采用一级流水时的第二级流水的实现结构图;
图5为图1的步骤S110采用多级流水时的步骤S110的流程图;
图6为图1的步骤S110采用多级流水时的步骤S120的流程图
图7为图1的步骤S110采用多级流水时的第一级流水的实现结构图
图8为图1的步骤S110采用多级流水时的第二级流水的实现结构图;
图9为本发明实施例提供的装置的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供一种计算循环冗余校验码的方法,如图1所示,该方法包括步骤:
S110、通过一级流水或者多级流水计算所述整拍数据的循环冗余(CRC)值;
该步骤S110中,如果满足频率要求,可以采用一级流水计算整拍数据的CRC值;如果频率不满足要求,也可以采用多级流水算法,分几级计算整拍数据的CRC值。整拍数据的实现方式灵活,可以根据器件性能进行选择。另外,在其他的实施例中,更进一步的,如果采用多级流水计算过程,则根据输入数据的宽度确定所述流水的级数。如果采用多级流水算法,分几级流水计算整拍数据的CRC值,则最后一拍数据在该步骤S110中,也会有部分的最后一拍数据被计算。该步骤S110输出至步骤S110中的数据的宽度也将减少,这样可以减少步骤S120中流水的级数。在此情况下,该步骤S110的最后一级流水不仅需要保存并计算整拍数据的CRC值,还需要在最后一拍数据到达时,把最后一拍数据在该步骤110中参与计算的数据的CRC值与之前整拍数据的CRC值一起计算,算出新的CRC值,并连同最后一拍未计算的数据一起输出至步骤S120中。
在其他的实施例中,进一步的,该步骤S110还包括:保存所述整拍数据的循环冗余值。对于该步骤,需要保留上一拍整拍数据的CRC值,用于与当前输入的整拍数据一起计算出新的CRC值。直至数据帧的最后一拍数据到达,把之前的CRC值与最后一拍数据都送入步骤S120中。如果数据帧的最后一拍数据为整拍数据,则在步骤S110就可以完成整个数据帧的CRC值的计算,步骤S120的各级流水把输入的CRC值直接输出即可。
S120、通过多级流水的分布计算方式计算出最后一拍数据的循环冗余值;
在步骤S120的每级流水(最后一级除外),输入数据的宽度可以表示成(2n-8)bit,只取输入数据高位的2n-1位数据与输入的CRC值计算出新的CRC值,把输入数据低位的(2n-1-8)位数据和新的CRC值输出至下一级流水;如果输入数据的有效数据宽度小于2n-1,则本级流水不计算,把输入数据高位的(2n-1-8)位数据和输入的CRC值直接输出至下一级流水。
在步骤S120中,输入数据每经过一级流水,数据位宽就会减少。数据输入至最后一级只有1byte数据位宽,此1byte数据若无效,则最后一级将输入的CRC值直接输出,得到数据帧的CRC值;此1byte数据若有效,则与输入的CRC值一起计算出数据帧的CRC值。
S130、根据所述整拍数据的循环冗余值和最后一拍数据的循环冗余值得到所述数据帧的循环冗余值。每一级流水只计算输入数据固定宽度的循环冗余值,如果输入数据的有效宽度小于要计算的宽度,则将所述数据透传至下一级流水,直至计算出该最后一拍数据的循环冗余值。
上述实施例提供的方法在数据位宽较大的情况下计算数据帧的CRC值,可以实现较高的频率数据帧的CRC值的计算,突破了高速以太网应用中CRC值计算的频率瓶颈。占用资源较少,而且可以推广到任意位宽的数据。
下面提供上述方法的具体应用的实施例:
如图2所示,步骤S110采用一级流水计算出整拍数据的CRC值,则数据帧的CRC值计算电路实现如图2所示,包括第一级流水处理(输入256bit数据)、第二级流水处理(输入248bit数据和CRC值)、第三级流水处理(输入120bit数据和CRC值)、第四级流水处理(输入56bit数据和CRC值)、第五级流水处理(输入24bit数据和CRC值)、第六级流水处理(输入8bit数据和CRC值)。图2中,第一个虚框表示上述实施例提供的步骤S120,计算数据帧整拍数据;第二个虚框表示上述实施例提供的步骤S130,计算数据帧最后一拍数据。
步骤S110的第一级流水处理256bit的实现过程如图3所示。图3中,ena表示数据帧数据有效,sop表示数据帧的开始,eop表示数据帧的结束,vldbyte表示数据帧最后一拍数据的有效数据数目,后缀in,out表示相应信号是模块的输入或者输出;crc_pre表示数据帧已经参与CRC计算的若干拍数据计算出的CRC值,crc_init表示数据帧第一拍数据开始计算CRC值时,输入CRC计算电路的初始值,crc256并行运算电路301表示:256位CRC并行运算电路。对于数据帧的第一拍数据,CRC值的计算取初值32’hffff_ffff;对于数据帧的其他整拍,则取上一拍计算得到的CRC值crc_pre;对于数据帧的最后一拍,如果有效数据宽度为256bit,则在此部分crc256并行运算电路301和寄存器303即可完成对数据帧CRC值的计算;如果最后一拍有效数据宽度小于256bit,则将最后一拍数据和此前得到的CRC值crc_pre直接输出至下一级流水(选择器304),因此步骤S110对步骤S120输出数据的位宽,为248bit即可。如果数据帧为单拍(即sopin与eopin在同一周期出现),且有效数据宽度小于256bit,则本级流水输出的CRC值(CRC_OUT)为32’hffff_ffff。
图4中,ena表示数据帧数据有效,sop表示数据帧的开始,eop表示数据帧的结束,vldbyte表示数据帧最后一拍数据的有效数据数目,后缀in、out表示相应信号是模块的输入或者输出;CRC_IN表示上一级流水计算出的CRC值,CRC_OUT表示本级流水计算出的CRC值输出至下一级,crc128并行运算电路401表示128位CRC并行运算电路。在步骤S120中,第二级流水“处理128bit”的实现过程如图4所示。如果输入数据的有效位宽大于等于128bit,则输入数据的高128bit数据到crc128并行运算电路401参与CRC值计算,把输入数据的低120bit和算出的CRC值输出至下一级流水(选择器402);否则把输入数据的高120bit和输入的CRC值直接输出至下一级流水(选择器403)。图2中的步骤S120中,每级流水的实现都与图4的实现方式一致,即输入数据的宽度为(2n-8)bit,如果输入数据的有效宽度大于2n-1,则高位的2n-1位数据参与CRC运算,把算出的CRC值和低位的(2n-1-8)位数据输出;如果输入数据的有效宽度小于2n-1,则把输入的CRC值和输入数据的高(2n-1-8)位数据直接输出。
如果步骤S110采用多级流水方式实现数据帧的整拍数据的CRC值计算,则步骤S110的实现过程如图5所示,此时最后一拍会有部分数据在步骤S110就算出了CRC值,所以步骤S120的实现过程如图6所示。
图5中,步骤S120的第一级流水的实现如图7所示。图7中,ena表示数据帧数据有效,sop表示数据帧的开始,eop表示数据帧的结束,vldbyte表示数据帧最后一拍数据的有效数据数目,后缀in,out表示相应信号是模块的输入或者输出;crc128并行运算电路701表示128位CRC并行计算电路。第一级流水(选择器703)只计算输入数据中高128位的CRC值。如果输入数据的有效数据宽度小于128bit,则选择器703将输入数据的高128位直接输出,同时输出的CRC值为0。最后一拍数据经过此级流水,如果输入数据的有效数据宽度大于128bit,则高128bit的数据也会被计算CRC值。
图5中,步骤S110的第二级流水要完成整拍数据的CRC值的计算,其实现方式如图8所示。图8中,ena表示数据帧数据有效,sop表示数据帧的开始,eop表示数据帧的结束,vldbyte表示数据帧最后一拍数据的有效数据数目,后缀in,out表示相应信号是模块的输入或者输出;CRC_IN表示上一级流水计算出的CRC值,CRC_OUT表示本级流水计算出的CRC值输出至下一级,crc128并行运算电路801表示128位CRC并行计算电路,crc256并行运算电路805表示256位CRC并行计算电路;crc_pre表示数据帧已经参与CRC计算的若干拍数据计算出的CRC值,crc_data表示128位输入数据与CRC_IN通过crc128并行计算电路(即:运算电路803)计算出的CRC值,crc_pre128表示crc_pre经过crc128并行运算电路801计算出的CRC值,crc_pre256表示crc_pre经过crc256并行运算电路805计算出的CRC值。由流水线算法可知,对于数据帧的第一拍数据(假设数据帧有多拍数据组成),用上级流水输入的数据和CRC_IN(CRC的输入值)算出这拍数据的CRC值,先通过选择器808选择crc_pre的值为32’hffff_ffff,然后用crc_pre,CRC_IN和输入数据算出第一拍数据的CRC_OUT(选择器806中对应的“其他情况”),并存于寄存器807;对于之后的每个整拍数据,crc_pre即为上一拍数据算出的CRC_OUT(通过选择器808选择),先算出数据的CRC值crc_data(运算电路803),同时算出crc_pre的计算结果crc_pre256(通过运算电路805运算),然后两者异或(通过运算电路804异或),即可得到新的CRC_OUT(通过选择器806中对应的“其他情况”得到的),存于寄存器807。当最后一拍数据到达本级流水时,如果最后一拍数据也为整拍数据,则处理方式与其他整拍数据相同;如果最后一拍数据有效宽度小于128bit,则最后一拍数据在第一级流水中未做处理,直接输出crc_pre至寄存器807(对应选择器806中的“3’b110”情况)即可;如果最后一拍数据的有效宽度大于等于128bit且小于256bit,则最后一拍数据有128bit在第一级流水中被计算过CRC值,此时要先把crc_pre通过crc128并行运算电路801得到crc_pre128,然后把crc_pre128与CRC_IN异或(通过运算电路802进行异或),才能得到新的CRC值(对应选择器806中的“3’b101”情况),存于寄存器807。
图6中各级流水的实现方式与图4中描述的实现方式类似。
本发明实施例还提供一种计算循环冗余校验码的装置,如图9所示,该装置包括:
整拍数据计算单元210,用于通过一级流水或者多级流水计算所述整拍数据的循环冗余值;
最后一拍数据计算单元220,用于通过多级流水的分布计算方式计算出最后一拍数据的循环冗余值;
循环冗余计算单元230,用于根据所述整拍数据的循环冗余值和最后一拍数据的循环冗余值得到所述数据帧的循环冗余值。
在其他的实施例中,进一步的,所述整拍数据计算单元210,还用于保存所述整拍数据的循环冗余值。
在其他的实施例中,进一步的,所述最后一拍数据计算单元220,还用于在计算过程中,每一级流水只计算输入数据固定宽度的循环冗余值,如果输入数据的有效宽度小于要计算的宽度,则将所述数据透传至下一级流水。
在其他的实施例中,进一步的,所述最后一拍数据计算单元220或整拍数据计算单元210,还用于在多级流水计算过程中,根据输入数据的宽度确定所述流水的级数。
上述实施例提供的装置在数据位宽较大的情况下计算数据帧的CRC值,可以实现较高的频率数据帧的CRC值的计算,突破了高速以太网应用中CRC值计算的频率瓶颈。占用资源较少,而且可以推广到任意位宽的数据。
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种计算循环冗余校验码的方法,其特征在于,包括:
通过一级流水或者多级流水计算整拍数据的循环冗余值;保存所述整拍数据的循环冗余值并作为上一拍整拍数据的循环冗余值;根据上一拍整拍数据的循环冗余值与当前输入的整拍数据一起计算出新的循环冗余值,并作为新的上一拍整拍数据的循环冗余值,依次循环计算得出最后一拍数据前一拍整拍数据的循环冗余值;
根据最后一拍数据前一拍整拍数据的循环冗余值和最后一拍数据,通过多级流水的分布计算方式计算出最后一拍数据的循环冗余值;
根据所述整拍数据的循环冗余值和最后一拍数据的循环冗余值得到所述数据帧的循环冗余值;如果数据帧的最后一拍数据为整拍数据,则通过一级流水或者多级流水完成整个数据帧的循环冗余值的计算,通过多级流水的分布计算方式把输入的循环冗余值直接输出。
2.如权利要求1所述方法,其特征在于,所述通过多级流水的分布计算方式计算出最后一拍数据的循环冗余值,具体包括:
每一级流水只计算输入数据固定宽度的循环冗余值,如果输入数据的有效宽度小于要计算的宽度,则将所述数据透传至下一级流水。
3.如权利要求1所述方法,其特征在于,在多级流水计算过程中,根据输入数据的宽度确定所述流水的级数。
4.一种计算循环冗余校验码的装置,其特征在于,包括:
整拍数据计算单元,用于通过一级流水或者多级流水计算所述整拍数据的循环冗余值;还用于保存所述整拍数据的循环冗余值并作为上一拍整拍数据的循环冗余值;根据上一拍整拍数据的循环冗余值与当前输入的整拍数据一起计算出新的循环冗余值,并作为新的上一拍整拍数据的循环冗余值,依次循环计算得出最后一拍数据前一拍整拍数据的循环冗余值;
最后一拍数据计算单元,用于根据最后一拍数据前一拍整拍数据的循环冗余值和最后一拍数据,通过多级流水的分布计算方式计算出最后一拍数据的循环冗余值;
循环冗余计算单元,用于根据所述整拍数据的循环冗余值和最后一拍数据的循环冗余值得到所述数据帧的循环冗余值,如果数据帧的最后一拍数据为整拍数据,则通过一级流水或者多级流水完成整个数据帧的循环冗余值的计算,通过多级流水的分布计算方式把输入的循环冗余值直接输出。
5.如权利要求4所述装置,其特征在于,所述最后一拍数据计算单元,还用于在计算过程中,每一级流水只计算输入数据固定宽度的循环冗余值,如果输入数据的有效宽度小于要计算的宽度,则将所述数据透传至下一级流水。
6.如权利要求4所述装置,其特征在于,所述最后一拍数据计算单元或整拍数据计算单元,还用于在多级流水计算过程中,根据输入数据的宽度确定所述流水的级数。
CN201110073462.2A 2011-03-25 2011-03-25 计算循环冗余校验码的方法和装置 Active CN102130744B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110073462.2A CN102130744B (zh) 2011-03-25 2011-03-25 计算循环冗余校验码的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110073462.2A CN102130744B (zh) 2011-03-25 2011-03-25 计算循环冗余校验码的方法和装置

Publications (2)

Publication Number Publication Date
CN102130744A CN102130744A (zh) 2011-07-20
CN102130744B true CN102130744B (zh) 2014-12-31

Family

ID=44268645

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110073462.2A Active CN102130744B (zh) 2011-03-25 2011-03-25 计算循环冗余校验码的方法和装置

Country Status (1)

Country Link
CN (1) CN102130744B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103701566B (zh) * 2013-12-18 2017-09-12 华为技术有限公司 一种校验方法和装置
CN105049057B (zh) * 2015-08-17 2018-04-20 中国航天科技集团公司第九研究院第七七一研究所 一种面向128位并行输入的crc‑32校验电路
CN109462458B (zh) * 2019-01-11 2021-04-16 深圳市常茂信科技开发有限公司 一种多级流水电路实现并行crc的方法
CN112306741B (zh) * 2020-11-19 2022-12-23 山东云海国创云计算装备产业创新中心有限公司 一种crc校验方法及相关装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101702639A (zh) * 2009-11-23 2010-05-05 成都市华为赛门铁克科技有限公司 循环冗余校验的校验值计算方法及装置
CN101803265A (zh) * 2007-09-18 2010-08-11 三星电子株式会社 产生多个循环冗余校验的方法和设备
CN101847999A (zh) * 2010-05-28 2010-09-29 清华大学 一种用循环冗余校验码进行并行校验的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050257117A1 (en) * 2004-05-12 2005-11-17 Weirong Chiang Method and circuit for determining an ending of an ethernet frame

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101803265A (zh) * 2007-09-18 2010-08-11 三星电子株式会社 产生多个循环冗余校验的方法和设备
CN101702639A (zh) * 2009-11-23 2010-05-05 成都市华为赛门铁克科技有限公司 循环冗余校验的校验值计算方法及装置
CN101847999A (zh) * 2010-05-28 2010-09-29 清华大学 一种用循环冗余校验码进行并行校验的方法

Also Published As

Publication number Publication date
CN102130744A (zh) 2011-07-20

Similar Documents

Publication Publication Date Title
Sprachmann Automatic generation of parallel CRC circuits
CN105264778B (zh) 一种crc计算方法及装置
US9071275B2 (en) Method and device for implementing cyclic redundancy check codes
US8726124B2 (en) Cyclic redundancy check generation via distributed time multiplexed linear feedback shift registers
CN102130744B (zh) 计算循环冗余校验码的方法和装置
CN102546089B (zh) 循环冗余校验crc码的实现方法及装置
US8738990B2 (en) Cyclic redundancy check generation via distributed time multiplexed linear feedback shift registers
US20100070839A1 (en) Cyclic code processing circuit, network interface card, and cyclic code processing method
US20120102382A1 (en) Method and Device for Fast Cyclic Redundancy Check Coding
US7886210B2 (en) Apparatus for pipelined cyclic redundancy check circuit with multiple intermediate outputs
CN103701566A (zh) 一种校验方法和装置
CN105322973A (zh) 一种rs码编码器及编码方法
CN101296053A (zh) 计算循环冗余校验码之方法及***
CN107733568B (zh) 基于fpga实现crc并行计算的方法及装置
CN105721107B (zh) 一种分块计算crc以提高时钟频率的装置和方法
CN104123431A (zh) 一种元素的模逆计算方法及装置
CN105356966A (zh) 循环冗余校验实现方法、装置和网络设备
US20200381072A1 (en) Cyclic redundancy check circuit, corresponding device and method
CN102902510A (zh) 一种有限域求逆器
Li et al. Implementation of CRC in 10-gigabit Ethernet based on FPGA
Reddy et al. High-Performance and Energy-Efficient Fault Tolerance FPGA-to-FPGA Communication
Juan et al. Utilization of High-Speed DSP Algorithms of Cyclic Redundancy Checking (CRC-15) Encoder and Decoder for Controller Area Network
Sheidaeian et al. Parallel Computation of CRC Using Special Generator Polynomials
Liu et al. Low-Cost and Programmable CRC Implementation based on FPGA (Extended Version)
US20210314088A1 (en) Highly parallel and scalable cyclic redundancy check

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C53 Correction of patent of invention or patent application
CB03 Change of inventor or designer information

Inventor after: Jiang Aipeng

Inventor after: Miao Zhonglin

Inventor after: Yuan Chun

Inventor after: Tong Xiaojiu

Inventor before: Jiang Aipeng

Inventor before: Miao Zhonglin

Inventor before: Yuan Chun

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: JIANG AIPENG MIU ZHONGLIN YUAN CHUN TO: JIANG AIPENG MIU ZHONGLIN YUAN CHUN TONG XIAOJIU

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20151125

Address after: 518057 Nanshan District Guangdong high tech Industrial Park, South Road, science and technology, ZTE building, Ministry of Justice

Patentee after: ZTE Corp.

Patentee after: SANECHIPS TECHNOLOGY Co.,Ltd.

Address before: 518057 Nanshan District Guangdong high tech Industrial Park, South Road, science and technology, ZTE building, Ministry of Justice

Patentee before: ZTE Corp.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221201

Address after: 518055 Zhongxing Industrial Park, Liuxian Avenue, Xili street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: SANECHIPS TECHNOLOGY Co.,Ltd.

Address before: 518057 Ministry of justice, Zhongxing building, South Science and technology road, Nanshan District hi tech Industrial Park, Shenzhen, Guangdong

Patentee before: ZTE Corp.

Patentee before: SANECHIPS TECHNOLOGY Co.,Ltd.