CN113821370B - 一种用于数据传输错误校验的高速crc产生方法和装置 - Google Patents
一种用于数据传输错误校验的高速crc产生方法和装置 Download PDFInfo
- Publication number
- CN113821370B CN113821370B CN202110093764.XA CN202110093764A CN113821370B CN 113821370 B CN113821370 B CN 113821370B CN 202110093764 A CN202110093764 A CN 202110093764A CN 113821370 B CN113821370 B CN 113821370B
- Authority
- CN
- China
- Prior art keywords
- data
- crc
- result data
- processing
- exclusive
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 36
- 238000000034 method Methods 0.000 title claims abstract description 35
- 125000004122 cyclic group Chemical group 0.000 title description 5
- 238000004364 calculation method Methods 0.000 claims abstract description 73
- 238000012545 processing Methods 0.000 claims abstract description 73
- 230000001360 synchronised effect Effects 0.000 claims abstract description 16
- 238000012937 correction Methods 0.000 claims description 3
- 238000004148 unit process Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 5
- 238000004891 communication Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明涉及一种用于数据传输错误校验的高速CRC产生方法和装置,属于数据传输错误校验领域,包括:M周期余值计算单元,用于对输入数据进行余值计算处理,得到第一结果数据;第一异或单元,用于将第一结果数据与前一笔输入数据的CRC值进行异或,得到第二结果数据;数据移位单元,用于将第二结果数据左移,得到第三结果数据;同步余值计算单元,用于对第三结果数据进行余值计算处理,得到第四结果数据;第二异或单元,用于将第四结果数据与第一结果数据进行异或,得到输入数据的CRC值。本发明以流水线作业的方式处理数据,避免了逻辑门延迟效应对系统时钟周期的约束,突破了系统时钟频率限制,从而满足了高速率及大数据量数据传输中的错误校验需求。
Description
技术领域
本发明属于数据通信技术领域,尤其涉及一种用于数据传输错误校验的高速CRC产生方法和装置。
背景技术
随着通信技术发展,高速率、大数据的信息传输趋于普遍。现有通信协议中,通常会使用CRC对数据进行错误检测。CRC(Cyclic Redundancy Check),即循环纠错校验码,是数据通信领域中常用的校验纠错码。
依据现有技术CRC值的产生过程,数据Dn-1和Dn需按照时钟周期依次输入进CRC产生系统,而前一次输入数据Dn-1的CRC值En-1要参与后一次输入数据Dn的CRC值产生过程,因此要求整个CRC处理步骤需要在一个时钟周期内完成。
数据传输速率越高,每次需要计算校验码的数据Dn的长度L越长。根据现有CRC的技术实现原理,CRC处理的主要环节在于对数据进行异或操作,因此输入的数据量越大、数据长度越长,需要进行的异或操作次数越多,在硬件实现时需要越多的组合逻辑实现,而组合逻辑的延时是由各个异或门累加得到,因此CRC处理过程的延时也越大。而高速率通信要求的时钟频率越来越高,希望CRC处理的时钟周期越短越好。但当时钟频率快、周期小时,一个时钟周期内能容许的延迟也就小,因此当CRC的延迟大时,导致时序紧张甚至超出时序范围要求,这就只能限制系统时钟频率的提高。
这就是高速的、大数据量的CRC处理需求与提高系统时钟频率二者之间的矛盾,现有CRC硬件实现方法难以满足当前及今后的高速率及大数据量的错误校验需求。
发明内容
鉴于以上现有技术的不足,本发明旨在提供一种用于数据传输错误校验的高速CRC产生方法和装置,用以突破系统时钟频率限制,满足当前及今后的高速率及大数据量的错误校验需求。
本发明实施例一方面提供了一种用于数据传输错误校验的高速CRC产生方法,包括如下步骤:
将数据流中各笔输入数据顺次与CRC多项式进行异或处理,各笔输入数据经过处理后得到第一结果数据;
将所述第一结果数据与前一笔所述输入数据的CRC值进行异或处理,得到第二结果数据;其中,所述前一笔输入数据的CRC值若不存在,则由CRC初始值代替;
将所述第二结果数据进行左移处理,得到第三结果数据;
将所述第三结果数据与所述CRC多项式进行异或处理,得到第四结果数据;
将所述第四结果数据与所述第一结果数据进行异或处理,得到所述每笔输入数据的CRC值;
将每笔输入数据的CRC值用于数据传输错误校验。
进一步地,所述输入数据、第三结果数据和第四结果数据,具有L比特长度;
所述第一结果数据、第二结果数据、CRC值和CRC初始值,具有R比特长度;其中,R为所述CRC多项式的长度。
进一步地,所述左移处理,是将所述第二结果数据左移L-R比特位。
本发明实施例的另一方面提供了一种用于数据传输错误校验的高速CRC产生装置,包括:
M周期余值计算单元,用于将一笔输入数据与CRC多项式进行异或处理,得到第一结果数据;
第一异或单元,用于将所述第一结果数据与前一笔所述输入数据的CRC值进行异或处理,得到第二结果数据;其中,所述前一笔输入数据的CRC值若不存在,则由CRC初始值代替;
数据移位单元,用于将所述第二结果数据进行左移处理,得到第三结果数据;
同步余值计单元,用于将所述第三结果数据与所述CRC多项式进行异或处理,得到第四结果数据;
第二异或单元,用于将所述第四结果数据与所述第一结果数据进行异或处理,得到所述每笔输入数据的CRC值。
进一步地,所述输入数据、第三结果数据和第四结果数据,具有L比特长度;
所述第一结果数据、第二结果数据、CRC值和CRC初始值,具有R比特长度;其中,R为所述CRC多项式的长度;
进一步地,所述左移处理,是将所述第二结果数据左移L-R比特位。
进一步地,所述M周期余值计算单元,采用流水线作业方式,依次在每个系统时钟周期接收一笔所述输入数据进行处理。
进一步地,所述M周期余值计算单元,采用流水线作业方式处理数据:
所述M周期余值计算单元将一笔输入数据与CRC多项式进行异或处理,是拆分在M个系统时钟周期完成,每个系统时钟周期内完成一部分处理操作。
进一步地,所述M周期余值计算单元,用M个系统时钟周期输出一笔输入数据的处理结果。
进一步地,所述第一结果数据经过所述第一异或单元、数据移位单元、同步余值计算单元和第二异或单元的处理,得到所述CRC值的过程花费1个系统时钟周期。
进一步地,所述CRC产生装置在处理待处理数据时,从第1周期开始,按系统时钟周期顺次接收所述待处理数据,从第M+1个周期开始顺次输出所述待处理数据的CRC值。
与现有技术相比,本发明至少可以实现下述之一有益效果:
1、传统技术需要将前一次的CRC值用于当前的数据处理过程,导致CRC值的产生必须在一个系统时钟周期内完成,而在此时钟周期内,若处理的数据量较大,逻辑门延迟会很大,从而迫使时钟周期不能太短,以至于最终难以提高系统时钟频率和数据处理速度;本发明中M周期余值计算单元通过流水线作业的方式将余值计算过程拆分在M个时钟周期内完成,每个周期内完成一部分余值计算操作,从而将过长的组合逻辑路径拆分,避免了逻辑门延迟效应的影响,解决了时序紧张和数据等待的问题,突破了系统时钟频率的限制。
2、本发明中的同步余值计算单元处理的数据虽然长度为Lbit,但其有效数据仅为高Rbit,低(L-R)bit全为0,因此同步余值计算单元进行余值计算在效果上只相当于处理了一个Rbit的短数据,在硬件上不会出现过长的和多级的组合逻辑路径,进而解除了本次余值操作对整个CRC值产生过程的时序限制,能够满足高速率、大数据量的CRC处理需求。
3、本发明在处理大量数据时,由于采用了流水线作业方式处理数据,以系统时钟周期为单位,M周期余值计算单元可在M个系统时钟周期依次接收数据M个数据在流水线上进行余值计算处理,因此数据可源源不断的输入进所述CRC产生装置,并从第M+1个周期开始源源不断的输出CRC值,从而实现了对大量数据的高速处理。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例提供的用于数据传输错误校验的高速CRC产生装置系统结构图;
图2为本发明一个实施例提供的用于数据传输错误校验的高速CRC产生装置工作原理图;
图3为本发明一个实施例提供的用于数据传输错误校验的高速CRC产生方法流程图。
具体实施方式
为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
装置实施例
数据通信中,需要将信息字段作为发送数据,利用CRC多项式P对发送数据进行处理,产生CRC值,将CRC值作为校验字段拼接到发送数据后,将生成新的发送数据传输出去;接收端将收到的数据再除以CRC多项式P,若所得到的余数为0,则认为接收到的数据正确,以此来检测所传输的数据是否存在错误。显然,产生CRC值的过程是数据通信中的一个关键过程,影响着数据传输的速度。
数据长度过大,进行CRC处理需要多级组合逻辑,会产生较大的门延迟;时钟频率越高,时钟周期越短,对CRC处理的时延要求越高;时钟频率和一次CRC所处理的数据量存在竞争关系,难以达到某些高速通信接口所要求的高速率、大数据量的处理要求。
为解决上述问题,本发明的一个具体实施例,公开了一种用于数据传输错误校验的高速CRC产生装置,主要包括:M周期余值计算单元、第一异或单元、数据移位单元、同步余值计算单元和第二异或单元。图1为本发明实施例提供的用于数据传输错误校验的高速CRC产生装置系统结构,图2为本实施例工作原理图。
所述M周期余值计算单元,通过流水线作业的方式对输入的长度为Lbit的数据Dn,进行余值计算处理,经过M个系统时钟周期得到数据处理结果Kn,将Kn输出到第一异或单元和第二异或单元。
具体地,所述余值计算处理,即将输入数据Dn与CRC多项式P进行异或,得到异或后的结果Kn。
所述Kn的数据长度为Rbit,R为所述CRC多项式P的长度,如使用CRC-32算法,则R等于32。
由于不需要像传统技术所采用的将前一步计算所得的余值反馈结果用于下一步数据的余值计算,因此本单元在处理长数据时的余值计算操作不必要求在单时钟周期内完成。
M周期余值计算单元通过流水线作业的方式将余值计算拆分在M个时钟周期内完成,每个周期内完成一部分余值计算操作,即将过长的组合逻辑路径拆分,以解决时序紧张和数据等待的问题。M的大小由L的大小、时钟周期大小以及电路的延迟决定。
由于采用了流水线作业方式处理数据,M周期余值计算单元可在M个系统时钟周期依次接收数据Dn、Dn+1、Dn+2、Dn+3……Dn+M在流水线上进行余值计算处理,从而为快速处理大量数据构建了硬件基础。
所述第一异或单元,将所述M周期余值计算单元的输出结果Kn,与前一笔数据Dn-1经本实例CRC产生装置输出的CRC值En-1进行异或,将得到的结果Xn输出到数据移位单元;若不存在前一笔数据的CRC值,则将Kn与CRC初始值异或作为结果Xn输出到数据移位单元。
所述数据移位单元,将来自第一异或单元的数据Xn左移(L-R)位,将得到的长度为L的数据Fn输出到同步余值计算单元。
Fn实际上仅高R位为有效数据,低(L-R)位为全0。
所述同步余值计算单元,将来自数据移位单元的数据Fn进行余值计算得到结果Tn,将Tn输出到第二异或单元。
具体地,所述余值计算处理,即将输入数据Fn与CRC多项式P进行异或,得到异或后的结果Tn。
虽然输入数据Fn的长度为L,且L可以很大,但由于Fn实际有效数据仅为高R位,Fn的低(L-R)位全为0,因此同步余值计算单元进行余值计算在效果上只相当于处理了一个R位的短数据,简化了硬件的计算量,在硬件上不会出现过长的和多级的组合逻辑路径,进而不会产生大的时延,从而在单周期内即可完成处理工作,不会有时序紧张的风险,从而能够满足高速率、大数据量的CRC处理需求。
所述第二异或单元:将来自M周期余值计算单元的数据Kn与来自同步余值计算单元的数据Tn进行异或,得到数据Dn的CRC产生装置的输出值En。若还有后续数据需要本实施例所述CRC产生装置处理,则将En输出到所述第一异或单元。
本实施例所示的CRC产生装置,数据Dn经M周期余值计算单元处理得到Kn,需要经过M个系统时钟周期;
数据Kn经过第一异或单元、数据移位单元、同步余值计算单元和第二异或单元处理,得到CRC产生装置的输出值En,需要1个系统时钟周期。
CRC产生装置在处理大量待处理数据时,因为M周期余值计算单元可以进行流水线作业,因此可以从第1周期开始,按系统时钟周期依次接收待处理数据,从第M+1个周期开始按依次输出待处理数据的CRC值。
示例性地,前述CRC多项式P及CRC初始值可遵照具体的应用场景的要求进行配置。例如,在以太网802.3协议中对MAC进行CRC计算时规定选用CRC-32算法和CRC初始值0xffff_ffff;在Broadcast公司的私有串行总线互联方案Higig中,规定使用CRC-8、初始值0x00对Higig header进行错误校验。
方法实施例
在本发明的另一实施例中,公开了一种用于数据传输错误校验的高速CRC产生方法,所述方法基于上述的用于数据传输错误校验的高速CRC产生装置实现,如图3所示为本发明实施例提供的用于数据传输错误校验的高速CRC产生方法流程图,包括如下步骤:
步骤S1:进行M周期余值计算
对需要获取CRC值的数据流,按系统时钟周期依次输入M周期余值计算单元进行余值处理,从第M个系统时钟周期开始依次获得余值计算结果,将余值计算结果输入第一异或单元和第二异或单元。
其中,对长度为Lbit的数据Dn,输入M周期余值计算单元进行余值计算处理,经过M个系统时钟周期得到数据处理结果Kn,将Kn输出到第一异或单元和第二异或单元。
所述余值计算处理,即将输入数据Dn与CRC多项式P进行异或,得到异或后的结果数据Kn。
所述Kn的长度为Rbit,R为所述CRC多项式P的长度,如使用CRC-32算法,则R等于32。
所述M周期余值计算单元通过流水线作业的方式将余值计算拆分在M个时钟周期内完成,每个周期内完成一部分余值计算操作,即将过长的组合逻辑路径拆分,以解决时序紧张和数据等待的问题。M的大小由L的大小、时钟周期大小以及电路的延迟决定。
由于采用了流水线作业方式处理数据,本步骤可按系统时钟周期依次向M周期余值计算单元输入数据,从而在流水线上进行余值计算处理,因此从第M个周期开始根据输入数据的数量开始按周期输出余值计算结果。
步骤S2:进行第一级数据异或计算
将所述M周期余值计算单元的结果数据Kn,与前一笔数据Dn-1的CRC值En-1进行异或,在第一异或单元中进行异或处理,得到结果数据Xn;若不存在前一笔数据的CRC值,则将Kn与CRC初始值异或作为结果Xn。
步骤S3:进行数据位移计算
基于所述数据移位单元,将来自第一异或单元的数据Xn左移(L-R)位,得到的长度为Lbit的结果数据Fn。
其中,Fn实际上仅高R位为有效数据,低(L-R)位为全0。
步骤S4:进行同步余值计算
基于所述同步余值计算单元,将所述结果数据Fn进行余值计算得到结果数据Tn。
步骤S5:进行第二级数据异或计算
将来自所述M周期余值计算单元的数据Kn与来自所述同步余值计算单元的数据Tn进行异或,得到所述数据Dn的CRC值En。
效果实施例
下面以处理一组数据流为例,结合表1来具体描述本发明中CRC值的获取过程。
表1 CRC值获取周期表
在CRC装置工作时,按系统时钟周期,依次向CRC装置输入数据流D0、D1、……Dn-M、……、Dn、……、Dn+M+1,这些数据在CRC装置里按时钟周期进行迭代处理,处理流程如下:
第C1周期:见表1中C1列所示,输入数据Dn进行余值计算处理,同时得到M个周期前输入的数据Dn-M的余值Kn-M和数据Dn-M-1的CRC值En-M-1;
第C2周期:见表1中C2列所示,输入数据Dn+1进行余值计算处理,同时得到Kn-M+1和En-M;
第C3至第CM-1周期的效果描述省略;
第CM周期:见表1中CM列所示,输入数据Dn+M进行余值计算处理,同时得到Dn的余值Kn和Dn-1的CRC值En-1;
第CM+1周期:见表1中CM+1列所示,输入数据Dn+M+1进行余值计算处理,同时得到Dn+1的余值Kn+1和Dn的CRC值En。
由于采用了流水线作业方式处理数据,因此从第M+1个周期开始根据输入数据的数量开始按周期输出CRC值。
本实例所述CRC装置可按系统时钟周期依次向CRC装置输入数据,从而在流水线上进行余值计算处理,所述余值计算是拆分在M个时钟周期内完成,每个周期内完成一部分余值计算操作,解决了时序紧张和数据等待的问题,也因此可以提高系统的时钟频率,加快数据处理速度。
本领域技术人员可以理解,实现上述实施例的全部或部分流程,可以通过执行计算机程序产品的电子设备来完成。
其中,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,其中,当所述程序指令被电子设备执行时,使所述电子设备执行上述任意方法实施例中的用于数据传输错误校验的高速CRC产生方法。
所述电子设备包括但不限于数据处理器、数据存储器、数据输入端和CRC值输出端。
上述本发明实施例可以作为其中一个软件或者硬件功能单元,独立设置在上述电子设备中,也可以作为整合在数据处理器中的其中一个功能模块,执行本发明实施例的用于数据传输错误校验的高速CRC产生方法。
数据存储器作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的所述用于数据传输错误校验的高速CRC产生方法对应的程序指令及模块。
数据处理器通过运行存储在数据存储器中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现所述用于数据传输错误校验的高速CRC产生方法。
数据存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据本发明实施例提供的用于数据传输错误校验的高速CRC产生装置的使用所创建的数据等。此外,数据存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
数据输入端和CRC值输出端用于所述数据处理器与其它外部电路或设备之间数据接口。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,所述计算机可读记录介质包括用于以计算机(例如计算机)可读的形式存储或传送信息的任何机制。例如,机器可读介质包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪速存储介质、电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)等,该计算机软件产品包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (5)
1.一种用于数据传输错误校验的高速CRC产生方法,其特征在于,包括如下步骤:
将数据流中各笔输入数据按系统时钟周期依次输入M周期余值计算单元与CRC多项式进行异或处理,各笔输入数据经过处理后从第M个系统时钟周期开始依次得到第一结果数据;
将所述第一结果数据与前一笔输入数据的CRC值进行异或处理,得到第二结果数据;其中,所述前一笔输入数据的CRC值若不存在,则由CRC初始值代替;
将所述第二结果数据进行左移处理,得到第三结果数据;
将所述第三结果数据与所述CRC多项式进行异或处理,得到第四结果数据;
将所述第四结果数据与所述第一结果数据进行异或处理,得到所述每笔输入数据的CRC值;
将每笔输入数据的CRC值用于数据传输错误校验;
所述输入数据、第三结果数据和第四结果数据,具有L比特长度;
所述第一结果数据、第二结果数据、CRC值和CRC初始值,具有R比特长度;其中,R为所述CRC多项式的长度;
所述左移处理,是将所述第二结果数据左移L-R比特位;
所述M周期余值计算单元,采用流水线作业方式处理数据:
所述M周期余值计算单元将一笔输入数据与CRC多项式进行异或处理,是拆分在M个系统时钟周期完成,每个系统时钟周期内完成一部分处理操作。
2.一种用于数据传输错误校验的高速CRC产生装置,其特征在于,包括:
M周期余值计算单元,用于将一笔输入数据与CRC多项式进行异或处理,得到第一结果数据;
第一异或单元,用于将所述第一结果数据与前一笔输入数据的CRC值进行异或处理,得到第二结果数据;其中,所述前一笔输入数据的CRC值若不存在,则由CRC初始值代替;
数据移位单元,用于将所述第二结果数据进行左移处理,得到第三结果数据;
同步余值计算单元,用于将所述第三结果数据与所述CRC多项式进行异或处理,得到第四结果数据;
第二异或单元,用于将所述第四结果数据与所述第一结果数据进行异或处理,得到所述每笔输入数据的CRC值;
所述输入数据、第三结果数据和第四结果数据,具有L比特长度;
所述第一结果数据、第二结果数据、CRC值和CRC初始值,具有R比特长度;其中,R为所述CRC多项式的长度;
所述左移处理,是将所述第二结果数据左移L-R比特位;
所述M周期余值计算单元,采用流水线作业方式,依次在每个系统时钟周期接收一笔所述输入数据进行处理。
3.根据权利要求2所述的一种用于数据传输错误校验的高速CRC产生装置,其特征在于,所述M周期余值计算单元,用M个系统时钟周期输出一笔输入数据的处理结果。
4.根据权利要求3所述的一种用于数据传输错误校验的高速CRC产生装置,其特征在于,所述第一结果数据经过所述第一异或单元、数据移位单元、同步余值计算单元和第二异或单元的处理,得到所述CRC值的过程花费1个系统时钟周期。
5.根据权利要求4所述的一种用于数据传输错误校验的高速CRC产生装置,其特征在于,所述CRC产生装置在处理待处理数据时,从第1周期开始,按系统时钟周期顺次接收所述待处理数据,从第M+1个周期开始顺次输出所述待处理数据的CRC值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110093764.XA CN113821370B (zh) | 2021-01-22 | 2021-01-22 | 一种用于数据传输错误校验的高速crc产生方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110093764.XA CN113821370B (zh) | 2021-01-22 | 2021-01-22 | 一种用于数据传输错误校验的高速crc产生方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113821370A CN113821370A (zh) | 2021-12-21 |
CN113821370B true CN113821370B (zh) | 2024-04-19 |
Family
ID=78912349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110093764.XA Active CN113821370B (zh) | 2021-01-22 | 2021-01-22 | 一种用于数据传输错误校验的高速crc产生方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113821370B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117220833B (zh) * | 2023-11-09 | 2024-01-26 | 新华三网络信息安全软件有限公司 | Crc计算电路、芯片、报文处理方法及网络安全设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006185090A (ja) * | 2004-12-27 | 2006-07-13 | Matsushita Electric Ind Co Ltd | Crc演算装置及びcrc演算方法 |
CN201153259Y (zh) * | 2007-12-19 | 2008-11-19 | 深圳市同洲电子股份有限公司 | 并行数据循环冗余校验装置及双向数据传输系统 |
CN101527615A (zh) * | 2009-04-07 | 2009-09-09 | 华为技术有限公司 | 一种循环冗余校验crc码的实现方法和装置 |
CN102761394A (zh) * | 2012-07-05 | 2012-10-31 | 中兴通讯股份有限公司 | 数据的处理方法及装置 |
CN103684655A (zh) * | 2012-08-31 | 2014-03-26 | 展讯通信(天津)有限公司 | 译码校验装置和方法、译码装置和方法以及接收端 |
CN105721107A (zh) * | 2016-02-03 | 2016-06-29 | 华信塞姆(成都)科技有限公司 | 一种分块计算crc以提高时钟频率的装置和方法 |
-
2021
- 2021-01-22 CN CN202110093764.XA patent/CN113821370B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006185090A (ja) * | 2004-12-27 | 2006-07-13 | Matsushita Electric Ind Co Ltd | Crc演算装置及びcrc演算方法 |
CN201153259Y (zh) * | 2007-12-19 | 2008-11-19 | 深圳市同洲电子股份有限公司 | 并行数据循环冗余校验装置及双向数据传输系统 |
CN101527615A (zh) * | 2009-04-07 | 2009-09-09 | 华为技术有限公司 | 一种循环冗余校验crc码的实现方法和装置 |
CN102761394A (zh) * | 2012-07-05 | 2012-10-31 | 中兴通讯股份有限公司 | 数据的处理方法及装置 |
CN103684655A (zh) * | 2012-08-31 | 2014-03-26 | 展讯通信(天津)有限公司 | 译码校验装置和方法、译码装置和方法以及接收端 |
CN105721107A (zh) * | 2016-02-03 | 2016-06-29 | 华信塞姆(成都)科技有限公司 | 一种分块计算crc以提高时钟频率的装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113821370A (zh) | 2021-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9071275B2 (en) | Method and device for implementing cyclic redundancy check codes | |
US8468439B2 (en) | Speed-optimized computation of cyclic redundancy check codes | |
US5440570A (en) | Real-time binary BCH decoder | |
US7590916B2 (en) | Cyclic redundancy checking value calculator | |
CN107154836B (zh) | 一种基于fpga的并行循环冗余crc校验方法 | |
US8667373B2 (en) | Frame boundary detection and synchronization system for data stream received by ethernet forward error correction layer | |
US10248498B2 (en) | Cyclic redundancy check calculation for multiple blocks of a message | |
US9344117B2 (en) | Methods and systems for error-correction decoding | |
US7539918B2 (en) | System and method for generating cyclic codes for error control in digital communications | |
US9471416B2 (en) | Partitioned error code computation | |
US7886210B2 (en) | Apparatus for pipelined cyclic redundancy check circuit with multiple intermediate outputs | |
CN113821370B (zh) | 一种用于数据传输错误校验的高速crc产生方法和装置 | |
EP3713096B1 (en) | Method and device for decoding staircase code, and storage medium | |
US7266760B1 (en) | Method and apparatus for calculating cyclic redundancy checks for variable length packets | |
US11804855B2 (en) | Pipelined forward error correction for vector signaling code channel | |
US20180006664A1 (en) | Methods and apparatus for performing reed-solomon encoding by lagrangian polynomial fitting | |
Wu et al. | The 8-bit parallel crc-32 research and implementation in usb 3.0 | |
Lee | A VLSI design of a high-speed Reed-Solomon decoder | |
Juan et al. | Utilization of High-Speed DSP Algorithms of Cyclic Redundancy Checking (CRC-15) Encoder and Decoder for Controller Area Network | |
Juan et al. | Utilization of DSP algorithms for Cyclic Redundancy Checking (CRC) in Controller Area Network (CAN) controller | |
Juan et al. | Using DSP Algorithms for CRC in a CAN Controller | |
US8095848B1 (en) | Multi-byte cyclic redundancy check calculation circuit and method of operating the same | |
Hajare et al. | A Paper on Parallel CRC Generation for High Speed Application | |
Hajare et al. | Design and Implementation of Parallel CRC Generation for High Speed Application | |
WO2008157591A1 (en) | Generating crc syndromes with data extracted from syndrome loop |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |