CN103731239A - 一种适用于向量处理器的通用crc并行计算部件及方法 - Google Patents

一种适用于向量处理器的通用crc并行计算部件及方法 Download PDF

Info

Publication number
CN103731239A
CN103731239A CN201310750101.6A CN201310750101A CN103731239A CN 103731239 A CN103731239 A CN 103731239A CN 201310750101 A CN201310750101 A CN 201310750101A CN 103731239 A CN103731239 A CN 103731239A
Authority
CN
China
Prior art keywords
crc
sub
coding
block
centerdot
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
Application number
CN201310750101.6A
Other languages
English (en)
Other versions
CN103731239B (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.)
Institute of Automation of Chinese Academy of Science
Original Assignee
Institute of Automation of Chinese Academy of Science
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 Institute of Automation of Chinese Academy of Science filed Critical Institute of Automation of Chinese Academy of Science
Priority to CN201310750101.6A priority Critical patent/CN103731239B/zh
Publication of CN103731239A publication Critical patent/CN103731239A/zh
Application granted granted Critical
Publication of CN103731239B publication Critical patent/CN103731239B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种向量处理器的通用CRC并行计算部件及方法。其中所述计算部件包括:16个子数据块CRC编码器和一个子块编码合并模块,其中每个子数据块CRC编码器接收将待编码信息等分成16个子数据块后的其中一个子数据块,并通过所述编码系数矩阵对其进行编码,所述子块编码合并模块将16个子数据块CRC编码器输出的编码结果进行合并后输出编码数据,其输出反馈至第一个子数据块CRC编码器,与第一个子数据块进行异或后参与编码。本发明提出的上述方案具有结构简单、计算并行度高、通用性强、适用于向量处理器实现的优点,可用于光通信、超宽带移动无线通信等高速通信领域中的CRC编码。

Description

一种适用于向量处理器的通用CRC并行计算部件及方法
技术领域
本发明涉及计算机向量处理器技术领域,具体涉及一种适用于向量处理器的通用CRC并行计算部件及方法。 
背景技术
在通信系统中,由于存在各种各样的干扰信号,会导致通信过程中出现误码。为了有效检测误码存在,发送端在信息数据后增加CRC校验码,接收端对接收到的信息数据进行同样的CRC计算,通过与附加CRC校验码进行比较,可以判断出数据传输是否有误码。 
经典的CRC校验方法一般采用线性反馈移位寄存器(LFSR)实现,该方法按位计算数据CRC编码,速度极慢;为提高CRC编码计算速度,有人又提出采取查表法实现数据CRC编码,该方法按照CRC生成多项式长度将信息数据分为多个子数据块,然后将上次结果与当前子数据块相异或后查表得到当前子数据块CRC编码,该方法前后两个子数据块间存在数据相关,子数据块之间只能顺序计算,速度仍然较慢。 
在光通信、超宽带移动无线通信等高速通信领域,由于数据传输量大,查表法也无法满足需求,同时一套通信系统中存在几种CRC编码方法,如在LTE中就存在CRC24A、CRC24B、CRC16、CRC8四种编码方法,这就要求采用一种针对各种CRC生成多项式的并行度更高的计算方法实现CRC编码过程。 
向量处理器是一种典型的SIMD指令集,可以一次对一维数组进行并行计算,如果能针对向量处理器设计一种CRC并行计算部件,即将CRC编码过程分解适合宽度的数据同时计算,则可以成倍提高CRC编码效率。 
发明内容
为解决现有技术中存在的上述缺陷,本发明公开了一种向量处理器的CRC并行计算部件和方法。 
根据本发明一方面,其提供了一种向量处理器的通用CRC并行计算部件,其包括:16个子数据块CRC编码器和一个子块编码合并模块,其中每个CRC编码器接收将待编码信息等分成16个子数据块后的其中一个子数据块,并通过所述编码系数矩阵对其进行编码,所述子块编码合并模块将16个子数据块CRC编码器输出的编码结果进行合并后输出编码数据,其输出反馈至第一个子数据块CRC编码器,与第一个子数据块进行异或后参与编码。 
根据本发明另一方面,其还提供了一种适用于向量处理器的通用CRC并行计算方法,其包括: 
步骤1、根据CRC生成多项式生成各子数据块对应的编码系数矩阵,并配置到CRC并行计算部件中; 
步骤2、将待编码数据按照512比特长度分割为N个预备数据块; 
步骤3、将预备数据块按照32比特长度分割为16个子数据块,并通过16个独立的子数据块编码器同时计算出16个子数据块CRC编码结果; 
步骤4、将16个子数据块CRC编码进行合并,得到预备数据块编码结果; 
步骤5、将预备数据块编码结果与下一个预备数据块低32位子数据块进行异或; 
步骤6、重复步骤3-5,直到将所有预备数据块计算完毕,即得到待编码数据的CRC编码结果。 
上述CRC编码计算方法和部件可同时并行计算512位CRC编码,与传统的线性反馈移位寄存器方法相比,计算速度可提高512倍。 
附图说明
图1示出了本发明中向量处理器的通用CRC并行计算部件框图; 
图2示出了本发明中全部数据块CRC编码流程图; 
图3示出了本发明中预备数据块分割示意图; 
图4示出了本发明中线性反馈移位寄存器CRC编码电路图; 
图5示出了本发明中预备数据块CRC编码框图; 
图6示出了本发明中子数据块CRC编码框图; 
图7示出了本发明中子数据块编码合并模块框图; 
图8示出了本发明中CRC码长适配模块框图; 
图9示出了本发明中不同码长编码系数矩阵组成图。 
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。 
图1示出了本发明提出的一种向量处理器的通用CRC并行计算部件结构图。如图1所示,其包括:16个子数据块CRC编码器和一个子块编码合并模块,其中每个CRC编码器接收将待编码信息等分成16个子数据块后的其中一个子数据块,并通过所述编码系数矩阵对其进行编码,所述子块编码合并模块将16个子数据块CRC编码器输出的编码结果进行合并后输出编码数据,其输出反馈至第一个子数据块CRC编码器,与第一个子数据块进行异或后参与编码。 
名词解释: 
CRC生成多项式G:是接受方和发送方的一个约定多项式,在发送方,利用生成多项式对信息多项式做模2除生成校验码,在接受方利用生成多项式对收到的编码多项式做模2除检测错误,生成多项式长度N等于生成多项式最高次幂。 
预备数据块:为方便向量处理器进行计算,将待编码数据分割为N个512比特长度的预备数据块。 
子数据块Dn:为提高CRC的并行计算能力,将预备数据块分割为16个32比特长度的子数据块。 
编码特征矩阵A:由CRC生成多项式组成和单位矩阵按照下式组成的矩阵: 
A = g n - 1 100 . . . 0 g n - 2 0100 . . . 00 . . . g 1 0000 . . . 01 g 0 0000 . . . 0 ;
编码系数矩阵M:编码系数矩阵M可由特征矩阵A的N次幂提前计算出,代表不同子数据块所对应的CRC的编码系数,因编码系数为矩阵形式,称为编码系数矩阵。 
本发明还提出了一种适用于向量处理器的通用CRC并行计算方法,其包括: 
步骤1、根据CRC生成多项式生成各子数据块对应的编码系数矩阵,并配置到CRC计算部件中; 
步骤2、将待编码数据按照512比特长度分割为N个预备数据块(注:如无法被512整除,在数据前增加适当长度的‘0’数据以满足整除要求); 
步骤3、将预备数据块按照32比特长度分割为16个子数据块,并通过16个独立的子数据块编码器同时计算出16个子数据块CRC编码结果; 
步骤4、将16个子数据块CRC编码进行合并,得到预备数据块编码结果; 
步骤5、将预备数据块编码结果与下一个预备编码数据低32位子数据块进行异或。 
步骤6、重复步骤3-5,直到将所有预备数据块计算完毕,即得到整块数据CRC编码结果。 
参照图1,本发明提出的适用于向量处理器的通用CRC并行计算部件由16个子数据块CRC编码器和一个子块编码合并模块组成,其中存在一条反馈通路,其将子块编码合并模块输出的编码数据反馈至第一子数据块编码器,与第一子数据块进行异或后输入至第一子数据块编码器参与编码运算,该通用CRC并行计算部件对外总线接口如下: 
1、数据输入总线(512比特) 
2、编码系数矩阵配置总线(512比特) 
3、编码数据输出总线(32比特) 
参照图2,本发明提出的通用CRC并行编码器的编码流程步骤如下: 
步骤1、计算并配置编码系数矩阵,矩阵形式为32乘32的比特阵; 
步骤2、初始化CRC编码; 
步骤3、读入一块预备数据块; 
步骤4、将CRC编码与预备数据块的第一子数据块异或; 
步骤5、通过16个子数据块编码器进行编码; 
步骤6、判断是否为最后一块预备数据,如是则结束计算,得到CRC编码,反之重复上述过程直至计算完成。 
参照图3,本发明提出的编码部件在进行编码之前需要进行数据分割,即将需要编码数据按照512比特大小分割为N个预备编码数据块,如果不能被512整除,则在数据前端添加适当长度的“0”比特以满足分割要求。 
参照图4,本发明提出的线性反馈移位寄存器CRC编码电路由移位寄存器、反馈网络、异或逻辑组成。其中移位寄存器存储当前时刻的CRC编码,其长度由生成多项式长度决定,反馈网络由生成多项式决定。输入数据按照时钟依次输入,输入数据经过反馈网络与当前CRC数据进行异或并更新至寄存器。其编码原理如下: 
CRC编码过程可以等效为待编码信息D对CRC生成多项式G的取模运算。采用公式表示如下: 
CRC=D%G 
其中CRC生成多项式表示形式如下所示,gn为生成多项式系数,下标n代表第n个多项式系数: 
G = g N ⊗ 2 N ⊕ g N - 1 ⊗ 2 N - 1 ⊕ . . . ⊕ g 1 ⊗ 2 g 0
待编码信息表示形式如下所示,DN为第N为输入信息: 
D ( N ) = D N ⊗ 2 N ⊕ D N - 1 ⊗ 2 N - 1 ⊕ . . . ⊕ D 0
参照图4线性反馈移位寄存器编码电路所示,其中,输入数据为的d,寄存器值为当前CRC编码,g为生成多项式系数,i+1表示下一时刻,i表示当前时刻。可以看到下一时刻CRCi+1编码与当前时刻CRCi编码、输入数据di、生成多项式G之间关系可以采用如下所示: 
CRC ( n - 1 ) i + 1 = CRC ( n - 2 ) i ⊕ g ( n - 1 ) ⊗ CRC ( n - 1 ) i ⊕ g ( n - 1 ) ⊗ d i CRC ( n - 2 ) i + 1 = CRC ( n - 3 ) i ⊕ g ( n - 2 ) ⊗ CRC ( n - 1 ) i ⊕ g ( n - 2 ) ⊗ d i . . . CRC ( 1 ) i + 1 = CRC ( 0 ) i ⊕ g ( 1 ) ⊗ CRC ( 1 ) i ⊕ g ( 1 ) ⊕ d i CRC ( 0 ) i + 1 = g ( 0 ) ⊗ CRC ( 1 ) i ⊕ g ( 0 ) ⊗ d i
整理为矩阵乘形式后如下所示: 
CRC ( n - 1 ) i + 1 CRC ( n - 2 ) i + 1 . . . CRC ( 1 ) i + 1 CRC ( 0 ) i + 1 = 01000 . . . 00 00100 . . . 00 . . . 00000 . . . 01 00000 . . . 00 CRC ( n - 1 ) i CRC ( n - 2 ) i . . . CRC ( 1 ) i CRC ( 0 ) i ⊕ g n - 1 0000 . . . 00 g n - 2 0000 . . . 00 . . . g 1 0000 . . . 00 g 0 0000 . . . 00 CRC ( n - 1 ) i CRC ( n - 2 ) i . . . CRC ( 1 ) i CRC ( 0 ) i ⊕ g n - 1 1000 . . . 00 g n - 2 0100 . . . 00 . . . g 1 0000 . . . 01 g 0 0000 . . . 00 d i 0 . . . 0 0
将同项合并后,可得到如下结果: 
CRC ( n - 1 ) i + 1 CRC ( n - 2 ) i + 1 . . . CRC ( 1 ) i + 1 CRC ( 0 ) i + 1 = g n - 1 1000 . . . 00 g n - 2 0100 . . . 00 . . . g 1 0000 . . . 01 g 0 0000 . . . 00 CRC ( n - 1 ) i CRC ( n - 2 ) i . . . CRC ( 1 ) i CRC ( 0 ) i ⊕ g n - 1 1000 . . . 00 g n - 2 0100 . . . 00 . . . g 1 0000 . . . 01 g 0 0000 . . . 00 d i 0 . . . 0 0
简写为 CR C i + 1 = A ⊗ CR C i ⊕ A ⊗ D i ;
其中A、CRC和D分别如下所示,A定义为编码特征矩阵,该矩阵大小为N乘N的矩阵,N为CRC生成多项式长度,其中第一列为生成多项式,右上部分为单位矩阵,剩余位置为0; 
A = g n - 1 1000 . . . 00 g n - 2 0100 . . . 00 . . . g 1 0000 . . . 01 g 0 0000 . . . 00 ; CRC = CRC ( n - 1 ) CRC ( n - 2 ) . . . CRC ( 1 ) CRC ( 0 ) ; D = d 0 . . . 0 0 ;
参照图5,本发明提出的通用CRC并行编码器内部结构是由16个子数据块编码器组成,每个子块编码器输入为子数据块和编码系数矩阵,其中编码系数矩阵是由生成多项式预先计算得到。针对于512位的预备数据块,需要分割为16个32比特的子数据块,随后利用16个独立的子数据块CRC编码器同时进行编码。子数据块编码器进行编码时,需要预先计算出编码系数矩阵。 
进行递推则可以得到下述公式: 
CR C i + 2 = A ⊗ CR C i + 1 ⊕ A ⊗ D i + 1 = A ⊗ ( A ⊗ CRC i ⊕ A ⊗ D i ) ⊕ A ⊗ D = A 2 ⊗ CR C i ⊕ A 2 ⊗ D i ⊕ A ⊗ D i + 1 考虑到 
A ⊗ D i + 1 = g n - 1 1000 . . . 00 g n - 2 0100 . . . 00 . . . g 1 0000 . . . 01 g 0 0000 . . . 00 d i + 1 0 . . . 0 0 = g n - 1 1000 . . . 00 g n - 2 0100 . . . 00 . . . g 1 0000 . . . 01 g 0 0000 . . . 00 g n - 1 1000 . . . 00 g n - 2 0100 . . . 00 . . . g 1 0000 . . . 01 g 0 0000 . . . 00 0 d i + 1 . . . 0 0 = A 2 ⊗ 0 d i + 1 . . . 0 0
因此得到下述公式: 
CR C i + 2 = A 2 ⊗ CR C i ⊕ A 2 ⊗ D i ⊕ A ⊗ D i + 1 = A 2 ⊗ CR C i - 1 ⊕ A 2 ⊗ d i d i + 1 . . . 0 0
以CRC32为例,则可以计算出 
CR C i + 32 = A N ⊗ CR C i ⊕ A N ⊗ d i d i + 1 . . . d i + 30 d i + 31
其中N为CRC生成多项式的长度,此处为N=32,递推得到: 
CR C i + 512 = A 16 N ⊗ CR C i ⊕ A 16 N ⊗ D 1 ⊕ A 15 N ⊗ D 2 ⊕ . . . ⊕ A N ⊗ D 16
为适应向量处理器总线宽度,将预备数据宽度定位512比特,则从上述公式可以看出,如果将512位CRC预备数据分为多个子数据块后,每个子数据块编码计算相互独立。采用编码系数矩阵Mi7-n代替AnN,上述公式可修改为: 
CR C i + 512 = M 1 ⊗ CR C i ⊕ M 1 ⊗ D 1 ⊕ M 2 ⊗ D 2 ⊕ . . . ⊕ M 16 ⊗ D 16
其中编码系数矩阵Mn仅与编码特征矩阵A和子块数据顺序相关,因此可以通过计算编码特征矩阵A的n*N次幂提前计算出编码系数矩阵Mn。 
此时编码系数矩阵Mn和子块数据Dn都已经确定,因此可以同时并行计算出512比特的编码结果,预备数据块之间通过中间CRC码进行编码信息传递。 
同理针对于CRC4、CRC16、CRC24、CRC32都可以得出相同的公式,区别仅在编码系数矩阵大小有所区别。 
参照图6,本发明提出的子数据块编码器结构由32个位乘规约异或单元组成,每个位乘异或单元输入为子数据块(32比特)和编码系数矩阵对应的一行(比特)。按对应位进行乘法后得到32个比特数据,再规约异或得到1位输出结果。32个位乘异或单元产生32个比特,合并组成一个32比特输出结果。 
参照图7,本发明提出的子块编码数据合并单元共由15个32比特位异或单元组成,15个位异或单元由4级组成,其中第一级8个、第二级4个、第三级2个、第四级1个,经过4级的位异或单元运算,可将16个子数据块编码结果合并为1个32比特的数据。最后通过判断CRC的码长,将编码结果缩减到指定码长。 
参照图8,本发明提出的编码方法适用于32、16、8、4码长的CRC编码,因此在子数据块编码合并模块中增加了码长适配模块,该模块由3级位异或单元组成,第一级可将输入的32比特数据按照前后分割为2段16比特数据,通过异或后得到16比特结果;第二级可将第一级产生的16比特数据按照前后分割为2段8比特数据,通过异或后得到8比特结果;第三级可将输入的8比特数据按照前后分割为2段4比特数据,通过异或后得到4比特结果;待所有数据生成完毕后,通过选择电路将对应码长的编码数据输出,此数据即为预备数据块编码数据。 
参照图9,本发明提出的编码方法需要将预备数据块分割为16个32比特的子数据块,为适应码长32、16、8、4的所有CRC编码,需要对编码系数矩阵进行设置。 
针对于码长为32比特的CRC编码,512比特的预备数据块可以分解为16个矩阵向量乘法,如下所示的表达形式。 
CRC ( 32 ) i + 512 = A 16 N ⊗ CR C i ⊕ A 16 N ⊗ d i d i + 1 . . . d i + 30 d i + 31 ⊕ A 15 N ⊗ d i + 32 d i + 33 . . . d i + 62 d i + 63 ⊕ . . . ⊕ A N ⊗ d i + 480 d i + 481 . . . d i + 510 d i + 511
其中,将编码特征矩阵A的n*N次幂作为编码系数矩阵,该系数矩阵大小为32乘32的比特阵,向量大小为32乘1,每个矩阵向量乘法可以对 应一个子数据块编码器。因此如图9第一行所示,CRC32的编码系数矩阵Mn即为编码特征矩阵A的n*N次幂。 
针对于码长为16比特的CRC编码,512比特的预备数据块可以分解为32个矩阵向量乘法,如下式所示: 
CRC ( 16 ) i + 512 = A 32 N ⊗ CR C i ⊕ A 32 N ⊗ d i d i + 1 . . . d i + 14 d i + 15 ⊕ A 31 N ⊗ d i + 15 d i + 17 . . . d i + 30 d i + 31 ⊕ . . . ⊕ A N ⊗ d i + 196 d i + 197 . . . d i + 510 d i + 511
其中生成多项式N的大小为16,因此An*N次幂为16乘16的比特矩阵,向量D为16乘1大小的向量,此时无法将矩阵向量乘直接映射到子数据块编码器上。为此将上述公式中矩阵和向量扩展为32比特的方阵和向量,扩展位添“0”元素,其中偶数的序列向左下扩展,奇数序列向右扩展,如下式中所示,合并后得到新的公式。此时矩阵向量乘法数量和位宽与子数据块编码器参数一致,因此针对于码长为16比特的编码系数矩阵可由相邻的编码系数矩阵合并并补“0”后生成,其形式如图9第二行所示。 
Figure DEST_PATH_GDA0000467099740000092
同理可得码长为8比特的编码系数矩阵可由相邻的4个编码系数矩阵合并后补“0”生成,其形式如图9第三行所示。 
同理可得码长为4比特的编码系数矩阵可由相邻的8个编码系数矩阵合并后补“0”生成,其形式如图9第四行所示。 
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。 

Claims (9)

1.一种向量处理器的通用CRC并行计算部件,其包括:16个子数据块CRC编码器和一个子块编码合并模块,其中每个子数据块CRC编码器接收将待编码信息等分成16个子数据块后的其中一个子数据块,并通过所述编码系数矩阵对其进行编码,所述子块编码合并模块将16个子数据块CRC编码器输出的编码结果进行合并后输出编码数据,其输出反馈至第一个子数据块CRC编码器,与第一个子数据块进行异或后参与编码。
2.如权利要求1所述的向量处理器的通用CRC并行计算部件,其中,所述子数据块编码器由32个位乘异或单元组成,,每个位乘异或单元输入为子数据块和编码系数矩阵对应的一行,其按对应位进行乘法后得到32个比特数据,再规约异或得到1位输出结果,32个位乘异或单元产生32个比特,合并组成一个32比特输出结果。
3.如权利要求1所述的向量处理器的通用CRC并行计算部件,其中,子块编码数据合并单元共由15个32比特位异或单元组成,15个位异或单元由4级组成,其中第一级8个、第二级4个、第三级2个、第四级1个,经过4级的位异或单元运算,将16个子数据块编码结果合并为1个32比特的数据,最后通过判断CRC的码长,将编码结果缩减到指定码长。
4.如权利要求3所述的向量处理器的通用CRC并行计算部件,其中,所述子块编码数据合并单元还包括码长适配模块,其由3级位异或单元组成,第一级可将输入的32比特数据按照前后分割为2段16比特数据,通过异或后得到16比特结果;第二级可将第一级产生的16比特数据按照前后分割为2段8比特数据,通过异或后得到8比特结果;第三级可将输入的8比特数据按照前后分割为2段4比特数据,通过异或后得到4比特结果;待所有数据生成完毕后,通过选择电路将对应码长的编码数据输出,此数据即为预备数据块编码数据。
5.如权利要求1所述的向量处理器的通用CRC并行计算部件,其适用于32、16、8、4码长的CRC编码。
6.一种适用于向量处理器的通用CRC并行计算方法,其包括:
步骤1、根据CRC生成多项式生成各子数据块对应的编码系数矩阵,并配置到CRC并行计算部件中;
步骤2、将待编码数据按照512比特长度分割为N个预备数据块;
步骤3、将预备数据块按照32比特长度分割为16个子数据块,并通过16个独立的子数据块编码器同时计算出16个子数据块CRC编码结果;
步骤4、将16个子数据块CRC编码进行合并,得到预备数据块编码结果;
步骤5、将预备数据块编码结果与下一个预备数据块低32位子数据块进行异或;
步骤6、重复步骤3-5,直到将所有预备数据块计算完毕,即得到待编码数据的CRC编码结果。
7.如权利要求6所述的方法,其中,步骤1中编码系数矩阵由生成多项式预先计算得到。
8.如权利要求6所述的方法,其中,预备数据块CRC编码等效公式如下所示:
CRC i + 512 = M 1 ⊗ CRC i ⊕ M 1 ⊗ D 1 ⊕ M 2 ⊗ D 2 ⊕ · · · ⊕ M 16 ⊗ D 16
其中,向量CRC对应CRC编码结果;向量D为子数据块,每块数据为32比特;矩阵M为子数据块对应的编码系数矩阵,其中i表示当前时刻。
9.如权利要求8所述的方法,其中,编码系数矩阵为编码特征矩阵的n*N次幂,其中,N为CRC编码的码长,n表示第n个子数据块的编码系数矩阵,其中编码特征矩阵如下所示:
g n - 1 1000 · · · 00 g n - 2 0100 · · · 00 · · · g 1 0000 · · · 01 g 0 0000 · · · 00 ;
其中,g为CRC生成多项式系数。
CN201310750101.6A 2013-12-31 2013-12-31 一种适用于向量处理器的通用crc并行计算部件及方法 Active CN103731239B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310750101.6A CN103731239B (zh) 2013-12-31 2013-12-31 一种适用于向量处理器的通用crc并行计算部件及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310750101.6A CN103731239B (zh) 2013-12-31 2013-12-31 一种适用于向量处理器的通用crc并行计算部件及方法

Publications (2)

Publication Number Publication Date
CN103731239A true CN103731239A (zh) 2014-04-16
CN103731239B CN103731239B (zh) 2017-01-18

Family

ID=50455180

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310750101.6A Active CN103731239B (zh) 2013-12-31 2013-12-31 一种适用于向量处理器的通用crc并行计算部件及方法

Country Status (1)

Country Link
CN (1) CN103731239B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104133736A (zh) * 2014-07-29 2014-11-05 江苏宏云技术有限公司 一种矢量crc校验指令的设计方法
CN105119694A (zh) * 2015-09-11 2015-12-02 烽火通信科技股份有限公司 一种计算高速网络中crc值的方法及系统
CN106921395A (zh) * 2015-12-28 2017-07-04 北京忆芯科技有限公司 Ldpc编码方法及其装置
CN107104940A (zh) * 2017-02-27 2017-08-29 深圳先进技术研究院 一种基于simd技术的加速fec操作的方法及装置、用户设备
CN107239362A (zh) * 2017-02-20 2017-10-10 中国科学院微电子研究所 一种并行crc校验码的计算方法及系统
CN108880562A (zh) * 2017-05-11 2018-11-23 珠海格力电器股份有限公司 循环冗余校验电路及其方法、装置以及芯片、电子设备
CN113110954A (zh) * 2021-04-23 2021-07-13 合肥恒烁半导体有限公司 一种crc码并行计算方法、装置及其应用
CN114168901A (zh) * 2021-12-08 2022-03-11 江苏华创微系统有限公司 一种矩阵类乘法向量化计算方法
CN114443348A (zh) * 2021-12-23 2022-05-06 湖南毂梁微电子有限公司 一种可配置crc码计算系统
CN114443347A (zh) * 2021-12-23 2022-05-06 湖南毂梁微电子有限公司 一种可配置crc码计算方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7320101B1 (en) * 2003-08-19 2008-01-15 Altera Corporation Fast parallel calculation of cyclic redundancy checks
CN101478369B (zh) * 2009-01-05 2012-05-23 华为终端有限公司 一种crc校验的方法和系统
CN102318250B (zh) * 2011-08-02 2014-03-05 华为技术有限公司 通信系统中的循环冗余校验处理方法、装置和lte终端

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104133736A (zh) * 2014-07-29 2014-11-05 江苏宏云技术有限公司 一种矢量crc校验指令的设计方法
CN105119694A (zh) * 2015-09-11 2015-12-02 烽火通信科技股份有限公司 一种计算高速网络中crc值的方法及系统
CN105119694B (zh) * 2015-09-11 2018-06-12 烽火通信科技股份有限公司 一种计算高速网络中crc值的方法及系统
CN106921395A (zh) * 2015-12-28 2017-07-04 北京忆芯科技有限公司 Ldpc编码方法及其装置
CN107239362B (zh) * 2017-02-20 2020-06-05 中国科学院微电子研究所 一种并行crc校验码的计算方法及系统
CN107239362A (zh) * 2017-02-20 2017-10-10 中国科学院微电子研究所 一种并行crc校验码的计算方法及系统
CN107104940A (zh) * 2017-02-27 2017-08-29 深圳先进技术研究院 一种基于simd技术的加速fec操作的方法及装置、用户设备
CN108880562B (zh) * 2017-05-11 2020-06-19 珠海零边界集成电路有限公司 循环冗余校验电路及其方法、装置以及芯片、电子设备
CN108880562A (zh) * 2017-05-11 2018-11-23 珠海格力电器股份有限公司 循环冗余校验电路及其方法、装置以及芯片、电子设备
US11403166B2 (en) 2017-05-11 2022-08-02 Gree Electric Appliances (Wuhan) Co., Ltd. Cyclic redundancy check circuit and method and apparatus thereof, chip and electronic device
CN113110954A (zh) * 2021-04-23 2021-07-13 合肥恒烁半导体有限公司 一种crc码并行计算方法、装置及其应用
CN113110954B (zh) * 2021-04-23 2023-10-24 恒烁半导体(合肥)股份有限公司 一种crc码并行计算方法、装置及其应用
CN114168901A (zh) * 2021-12-08 2022-03-11 江苏华创微系统有限公司 一种矩阵类乘法向量化计算方法
CN114443348A (zh) * 2021-12-23 2022-05-06 湖南毂梁微电子有限公司 一种可配置crc码计算系统
CN114443347A (zh) * 2021-12-23 2022-05-06 湖南毂梁微电子有限公司 一种可配置crc码计算方法
CN114443347B (zh) * 2021-12-23 2022-11-22 湖南毂梁微电子有限公司 一种可配置crc码计算方法
CN114443348B (zh) * 2021-12-23 2023-02-10 湖南毂梁微电子有限公司 一种可配置crc码的计算系统

Also Published As

Publication number Publication date
CN103731239B (zh) 2017-01-18

Similar Documents

Publication Publication Date Title
CN103731239A (zh) 一种适用于向量处理器的通用crc并行计算部件及方法
CN101836387B (zh) 具有速率匹配的高计算效率的卷积编码
CN1836394B (zh) 在移动通信系统中编码/解码分块低密度奇偶校验码的装置和方法
CN107017892B (zh) 一种校验级联极化码编码方法及系统
CN101553990B (zh) Turbo码交织器尺寸的确定
MX2008003922A (es) Conjunto de codigos irregulares de comprobacion de de paridad de baja densidad (ldpc) con escritura aleatoria codificacion.de baja complejidad.
CN104219019A (zh) 编码方法及编码设备
CN107786211B (zh) 一种ira-qc-ldpc码的代数结构获取方法、编码方法和编码器
CN108650057A (zh) 一种编译码的方法、装置及系统
CN201153259Y (zh) 并行数据循环冗余校验装置及双向数据传输系统
CN102546089B (zh) 循环冗余校验crc码的实现方法及装置
CN107239362B (zh) 一种并行crc校验码的计算方法及系统
CN105322973B (zh) 一种rs码编码器及编码方法
US20130198583A1 (en) Systematic Rate-Independent Reed-Solomon Erasure Codes
CN112468161B (zh) 一种rs高速编码电路
CN108282265A (zh) 纠错编码方法、装置、设备及计算机可读存储介质
CN101371448B (zh) 快速编码和解码方法及相关设备
CN100508442C (zh) 一种编译码方法及编译码装置
CN107124251A (zh) 一种基于任意内核的极化码编码方法
CN112688780A (zh) 一种基于离散变量的qkd密钥协商方法
CN101296053A (zh) 计算循环冗余校验码之方法及系统
CN104734815A (zh) Otn系统中高吞吐量fec编码器的硬件实现方法及系统
CN102195743B (zh) 动态实时喷泉码编码方案
CN103986557A (zh) 低路径延迟的LTE Turbo码并行分块译码方法
CN101764668A (zh) 一种网络低密度校验码的编码方法及其编码器

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