CN202906879U - 基于fpga的并行循环冗余校验运算电路 - Google Patents

基于fpga的并行循环冗余校验运算电路 Download PDF

Info

Publication number
CN202906879U
CN202906879U CN201220479771XU CN201220479771U CN202906879U CN 202906879 U CN202906879 U CN 202906879U CN 201220479771X U CN201220479771X U CN 201220479771XU CN 201220479771 U CN201220479771 U CN 201220479771U CN 202906879 U CN202906879 U CN 202906879U
Authority
CN
China
Prior art keywords
matrix
input
output
sequence
polynomial
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.)
Withdrawn - After Issue
Application number
CN201220479771XU
Other languages
English (en)
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.)
State Nuclear Power Automation System Engineering Co Ltd
Original Assignee
State Nuclear Power Automation System Engineering Co Ltd
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 State Nuclear Power Automation System Engineering Co Ltd filed Critical State Nuclear Power Automation System Engineering Co Ltd
Priority to CN201220479771XU priority Critical patent/CN202906879U/zh
Application granted granted Critical
Publication of CN202906879U publication Critical patent/CN202906879U/zh
Anticipated expiration legal-status Critical
Withdrawn - After Issue legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

一种基于FPGA的并行循环冗余校验运算电路,涉及数据校验技术领域,所解决的是提高计算灵活性的技术问题。该电路包括多项式矩阵计算模块、单位矩阵输出模块、系统矩阵计算模块、并行CRC运算模块;将生成多项式输入多项式矩阵计算模块,通过多项式矩阵计算模块高效地计算出生成多项式矩阵的m次幂运算结果,利用系统矩阵计算模块中的二输入选择器件在线选择两种阶数的生成多项式阶数,利用系统矩阵计算模块输出的系统矩阵,使得并行CRC运算模块能在实现两种输入位宽的CRC运算。本实用新型提供的电路,改变生成多项式时,不需要重新计算CRC运算所需的系统矩阵。

Description

基于FPGA的并行循环冗余校验运算电路
技术领域
本实用新型涉及数据校验技术,特别是涉及一种基于FPGA的并行循环冗余校验运算电路的技术。
背景技术
工业仪控系统中的数据在通信线路上串行传送时,由于线路噪音等因素的影响,可能导致多位传输数据发生错误。在这种情况下,奇偶校验和汉明校验的作用就不大了,此时需要采用循环冗余检查(即CRC)运算对所传输的数据进行校验。CRC运算简单但具有很强的检错能力,能够检查3位以上的错误,而且易于用编码器及检测电路实现。从性能上和开销上考虑,均远远优于奇偶校验及汉明校验等方式。
现有的CRC运算电路构架分为两类,一类是串行CRC运算电路,另一类是并行CRC运算电路。由于串行CRC运算电路的数据处理能力较低,不能满足高速数据传输场合下的数据校验要求,因此在需要高速数据传输的场合,都采用并行CRC运算电路来实现CRC运算。
现有的并行CRC运算电路的缺陷在于:只能针对特定的生成多项式和数据位宽进行数据校验,在改变生成多项式时,都需要重新计算CRC运算所需的系统矩阵Fw,给CRC运算实时运行带来极大的困难,存在灵活性低的缺陷,不能满足构建CRC运算的IP核等场合的要求。
实用新型内容
针对上述现有技术中存在的缺陷,本实用新型所要解决的技术问题是提供一种改变生成多项式时,不需要重新计算CRC运算所需的系统矩阵,灵活性高的基于FPGA的并行循环冗余校验运算电路。
为了解决上述技术问题,本实用新型所提供的一种基于FPGA的并行循环冗余校验运算电路,其特征在于,该电路包括以下四个模块:
1)多项式矩阵计算模块
多项式矩阵计算模块是用于计算多项式m次幂矩阵的模块,m是一大于1的整数,多项式m次幂矩阵是由m2个阵元组成的m行m列的矩阵,多项式矩阵计算模块中设有与多项式m次幂矩阵中各阵元一一对应的m2个多项式计算单元,设多项式m次幂矩阵的起始行号为0行,起始列号为0列,该矩阵第i行第j列的阵元为fij,则多项式矩阵计算模块的结构为:
满足条件0≤i≤m-1且j=0的fij为多项式向量赋值阵元,该fij对应的多项式计算单元为多项式矩阵计算模块的第i行多项式向量输入端,记为qi,该多项式计算单元的输出端即为qi
满足条件i=0且1≤j≤m-1的fij对应的多项式计算单元由一个二输入与门构成,该二输入与门的输出端即为本单元的输出端,该二输入与门的两个输入端分别接到qi及对应fm-1,j-1的多项式计算单元的输出端;
满足条件1≤i≤m-1且1≤j≤m-1的fij对应的多项式计算单元由一个二输入异或门和一个二输入与门构成,其中的二输入与门的两个输入端分别接到qi和对应fm-1,j-1的多项式计算单元的输出端,其中的二输入异或门的一个输入端接到对应fi-1,j-1的多项式计算单元的输出端,另一个输入端接到本单元的二输入与门的输出端,该二输入异或门的输出端构成本单元的输出端;
2)单位矩阵输出模块
单位矩阵输出模块是用于输出m行m列单位矩阵向量的模块,单位矩阵输出模块中设有与单位矩阵中的m2个阵元一一对应的m2个单位矩阵向量输出单元,每个单位矩阵向量输出单元均设有一向量输出端;
3)系统矩阵计算模块
系统矩阵计算模块是用于输出系统矩阵的模块,系统矩阵计算模块包括一个选择器件序列,一个多项式输入器件序列,一个输出器件序列,一个单位矩阵输入器件序列;
所述选择器件序列由m个二输入选择器件组成,所述多项式输入器件序列由m个多项式矩阵输入端口器件组成,所述输出器件序列由m个输出端口器件组成,所述单位矩阵输入器件序列由n个单位矩阵输入端口器件组成,且有1<n<m;
所述多项式矩阵输入端口器件、输出端口器件、单位矩阵输入端口器件各有一个输出端口、一个输入端口,且每个端口均有m个端脚;
所述二输入选择器件有一个选择信号输入端脚,及一个输出端口、两个输入端口,且二输入选择器件的每个端口均有m个端脚,二输入选择器件的两个输入端口分别为第一输入端口、第二输入端口;
设各器件序列的起始序号均为0,0≤i≤m-1,0≤j≤m-1,0≤s≤n-1,n≤t≤m-1,则有如下连接关系:
多项式矩阵计算模块中,多项式m次幂矩阵第j列各阵元对应的各多项式计算单元的输出端构成多项式矩阵计算模块的第j个输出端口;
单位矩阵输出模块中,单位矩阵第j列各阵元对应的各单位矩阵向量输出单元的向量输出端构成单位矩阵输出模块的第j个输出端口;
多项式输入器件序列中,第j个多项式矩阵输入端口器件的输入端口接到多项式矩阵计算模块的第j个输出端口,第j个多项式矩阵输入端口器件的输出端口接到选择器件序列中第j个二输入选择器件的第一输入端口;
单位矩阵输入器件序列中,第s个单位矩阵输入端口器件的输入端口接到单位矩阵输出模块的第s个输出端口,第s个单位矩阵输入端口器件的输出端口接到选择器件序列中第s个二输入选择器件的第二输入端口;
选择器件序列中,第t个二输入选择器件的第二输入端口接到多项式输入器件序列中第t-n个多项式矩阵输入端口器件的输出端口,第j个二输入选择器件的输出端口接到输出器件序列中第j个输出端口器件的输入端,各二输入选择器件的选择信号输入端脚相互串接构成系统矩阵计算模块的多项式选择端;
输出器件序列中,第j个输出端口器件的输出端口构成系统矩阵计算模块的第j个系统矩阵列输出端口,第j个系统矩阵列输出端口中的第i个端脚构成系统矩阵计算模块的第i行第j列系统矩阵元素输出端;
4)并行CRC运算模块
并行CRC运算模块包括一个寄存器序列,一个与门序列,两个异或门序列;
所述与门序列由m个与门子序列组成,所述与门子序列由m个二输入与门组成,与门子序列中每个二输入与门的两个输入端分别为第一输入端、第二输入端;
所述寄存器序列由m个寄存器组成,所述异或门序列由m个异或门组成;
所述两个异或门序列分别为第一异或门序列、第二异或门序列;
第一异或门序列中的每个异或门均有两个输入端,分别为第一输入端、第二输入端;
第二异或门序列中的每个异或门均有m个输入端;
设寄存器序列、异或门序列、与门序列,及与门序列中各个与门子序列的起始序号均为0,0≤i≤m-1,则有如下连接关系:
寄存器序列中,第i个寄存器的输出端构成并行CRC运算模块的校验码第i位输出端,第i个寄存器的输入端接到第二异或门序列中第i个异或门的输出端;
第一异或门序列中,第i个异或门的第一输入端接到寄存器序列中第i个寄存器的输出端,第i个异或门的第二输入端构成并行CRC运算模块的校验数据第i位输入端;
与门序列中,第i个与门子序列中各二输入与门的输出端分别接到第二异或门序列中第i个异或门的各个输入端,第i个与门子序列中第j个二输入与门的第一输入端接到系统矩阵计算模块的第i行第j列系统矩阵元素输出端,每个与门子序列中的第j个二输入与门的第二输入端均接到第一异或门序列中的第j个异或门的输出端。
本实用新型提供的基于FPGA的并行循环冗余校验运算电路,将生成多项式输入多项式矩阵计算模块,通过多项式矩阵计算模块高效地计算出生成多项式矩阵的m次幂运算结果,利用系统矩阵计算模块中的二输入选择器件能在线选择两种阶数的生成多项式阶数,利用系统矩阵计算模块输出的系统矩阵,使得并行CRC运算模块能在实现两种输入位宽的CRC运算,在改变生成多项式时,不需要重新计算CRC运算所需的系统矩阵,具有灵活性高的特点。
附图说明
图1是本实用新型实施例的基于FPGA的并行循环冗余校验运算电路的结构框图;
图2是本实用新型实施例的基于FPGA的并行循环冗余校验运算电路中的多项式矩阵计算模块的电路结构示意图;
图3是本实用新型实施例的基于FPGA的并行循环冗余校验运算电路中的系统矩阵计算模块的电路结构示意图;
图4是本实用新型实施例的基于FPGA的并行循环冗余校验运算电路中的并行CRC运算模块的电路结构示意图。
具体实施方式
以下结合附图说明对本实用新型的实施例作进一步详细描述,但本实施例并不用于限制本实用新型,凡是采用本实用新型的相似结构及其相似变化,均应列入本实用新型的保护范围。
如图1-图4所示,本实用新型实施例所提供的一种基于FPGA的并行循环冗余校验运算电路,其特征在于,该电路包括以下四个模块:
1)多项式矩阵计算模块
如图2所示,多项式矩阵计算模块是用于计算多项式m次幂矩阵的模块,m是一大于1的整数,多项式m次幂矩阵是由m2个阵元组成的m行m列的矩阵,多项式矩阵计算模块中设有与多项式m次幂矩阵中各阵元一一对应的m2个多项式计算单元,设多项式m次幂矩阵的起始行号为0行,起始列号为0列,该矩阵第i行第j列的阵元为fij,则多项式矩阵计算模块的结构为:
满足条件0≤i≤m-1且j=0的fij为多项式向量赋值阵元,该fij对应的多项式计算单元为多项式矩阵计算模块的第i行多项式向量输入端,记为qi,该多项式计算单元的输出端即为qi
满足条件i=0且1≤j≤m-1的fij对应的多项式计算单元由一个二输入与门A构成,该二输入与门的输出端即为本单元的输出端,该二输入与门的两个输入端分别接到qi及对应fm-1,j-1的多项式计算单元的输出端;
满足条件1≤i≤m-1且1≤j≤m-1的fij对应的多项式计算单元由一个二输入异或门X和一个二输入与门A构成,其中的二输入与门的两个输入端分别接到qi和对应fm-1,j-1的多项式计算单元的输出端,其中的二输入异或门的一个输入端接到对应fi-1,j-1的多项式计算单元的输出端,另一个输入端接到本单元的二输入与门的输出端,该二输入异或门的输出端构成本单元的输出端;
2)单位矩阵输出模块
单位矩阵输出模块为现有技术,是用于输出m行m列单位矩阵向量的模块,单位矩阵输出模块中设有与单位矩阵中的m2个阵元一一对应的m2个单位矩阵向量输出单元,每个单位矩阵向量输出单元均设有一向量输出端;
3)系统矩阵计算模块
如图3所示,系统矩阵计算模块是用于输出系统矩阵的模块,系统矩阵计算模块包括一个选择器件序列,一个多项式输入器件序列,一个输出器件序列,一个单位矩阵输入器件序列;
所述选择器件序列由m个二输入选择器件Z3组成,所述多项式输入器件序列由m个多项式矩阵输入端口器件Z1组成,所述输出器件序列由m个输出端口器件Z4组成,所述单位矩阵输入器件序列由n个单位矩阵输入端口器件Z2组成,且有1<n<m;
所述多项式矩阵输入端口器件、输出端口器件、单位矩阵输入端口器件各有一个输出端口、一个输入端口,且每个端口均有m个端脚;
所述二输入选择器件有一个选择信号输入端脚,及一个输出端口、两个输入端口,且二输入选择器件的每个端口均有m个端脚,二输入选择器件的两个输入端口分别为第一输入端口、第二输入端口;
设各器件序列的起始序号均为0,0≤i≤m-1,0≤j≤m-1,0≤s≤n-1,n≤t≤m-1,则有如下连接关系:
多项式矩阵计算模块中,多项式m次幂矩阵第j列各阵元对应的各多项式计算单元的输出端构成多项式矩阵计算模块的第j个输出端口;
单位矩阵输出模块中,单位矩阵第j列各阵元对应的各单位矩阵向量输出单元的向量输出端构成单位矩阵输出模块的第j个输出端口;
多项式输入器件序列中,第j个多项式矩阵输入端口器件的输入端口接到多项式矩阵计算模块的第j个输出端口,第j个多项式矩阵输入端口器件的输出端口接到选择器件序列中第j个二输入选择器件的第一输入端口;
单位矩阵输入器件序列中,第s个单位矩阵输入端口器件的输入端口接到单位矩阵输出模块的第s个输出端口,第s个单位矩阵输入端口器件的输出端口接到选择器件序列中第s个二输入选择器件的第二输入端口;
选择器件序列中,第t个二输入选择器件的第二输入端口接到多项式输入器件序列中第t-n个多项式矩阵输入端口器件的输出端口,第j个二输入选择器件的输出端口接到输出器件序列中第j个输出端口器件的输入端,各二输入选择器件的选择信号输入端脚相互串接构成系统矩阵计算模块的多项式选择端Sel;
输出器件序列中,第j个输出端口器件的输出端口构成系统矩阵计算模块的第j个系统矩阵列输出端口,第j个系统矩阵列输出端口中的第i个端脚构成系统矩阵计算模块的第i行第j列系统矩阵元素输出端;
4)并行CRC运算模块
如图4所示,并行CRC运算模块包括一个寄存器序列,一个与门序列,两个异或门序列;
所述与门序列由m个与门子序列组成,所述与门子序列由m个二输入与门A组成,与门子序列中每个二输入与门的两个输入端分别为第一输入端、第二输入端;
所述寄存器序列由m个寄存器Reg组成,所述异或门序列由m个异或门X组成;
所述两个异或门序列分别为第一异或门序列XG1、第二异或门序列XG2;
第一异或门序列中的每个异或门均有两个输入端,分别为第一输入端、第二输入端;
第二异或门序列中的每个异或门均有m个输入端;
设寄存器序列、异或门序列、与门序列,及与门序列中各个与门子序列的起始序号均为0,0≤i≤m-1,则有如下连接关系:
寄存器序列中,第i个寄存器的输出端构成并行CRC运算模块的校验码第i位输出端,第i个寄存器的输入端接到第二异或门序列中第i个异或门的输出端;
m个寄存器的输出端构成并行CRC运算模块的m个校验码位输出端y0,y1,…ym-1
第一异或门序列中,第i个异或门的第一输入端接到寄存器序列中第i个寄存器的输出端,第i个异或门的第二输入端构成并行CRC运算模块的校验数据第i位输入端;
第一异或门序列中,m个异或门的第二输入端构成并行CRC运算模块的m个校验数据位输入端b0,b1,…bm-1
与门序列中,第i个与门子序列中各二输入与门的输出端分别接到第二异或门序列中第i个异或门的各个输入端,第i个与门子序列中第j个二输入与门的第一输入端接到系统矩阵计算模块的第i行第j列系统矩阵元素输出端,每个与门子序列中的第j个二输入与门的第二输入端均接到第一异或门序列中的第j个异或门的输出端。
本实用新型实施例适用于生成多项式阶数为m及m-n的CRC(循环冗余)运算,能在线选择生成多项式阶数,其工作原理如下:
为便于描述,定义以下参数:
CRC运算的生成多项式为P,P的阶数为m,其系数向量为P=[pm-1,pm-2,...,p1,p0];
将要被CRC运算所处理的输入数据为D,D的长度为k,D=[dk-1,dk-2,...,d1,d0];
CRC运算并行处理的数据位宽为w,m和k都是w的整数倍数,且w≤m;
CRC运算所产生第v时刻的中间状态向量为Y(v),Y(v)的长度为m,即Y(v)=[ym-1(v),ym-2(v),…,y1(v),y0(v)],Y(v)对应于并行CRC运算模块中寄存器中的值,当时刻v=k/w-1时Y(v)即为CRC运算过程的结果向量;
Hm-1表示m-1维的单位矩阵,且等于以下矩阵值:
F为生成多项式矩阵,这是一个m×m维矩阵,且等于以下矩阵值:
Figure BDA00002154868000102
Fw为系统矩阵,这是一个m×m维矩阵,对于输入数据位宽为w位的CRC运算,其系统矩阵Fw等于对生成多项式矩阵F进行w次幂运算,且等于以下矩阵值:
Figure BDA00002154868000103
Fm为生成多项式矩阵F的m次幂矩阵,这是一个m×m维矩阵,且等于以下矩阵值:
1)多项式矩阵计算模块
多项式矩阵计算模块的矩阵公式为:
f ij = p i f m - 1 , j - 1 + f i - 1 , j - 1 , ( 1 &le; i &le; m - 1,1 &le; j &le; m - 1 ) p i f m - 1 , j - 1 , ( i = 0,1 &le; j &le; m - 1 ) p i ( 0 &le; i &le; m - 1 , j = 0 )
根据多项式矩阵计算模块的矩阵公式,每列阵元可以在前列阵元的基础上通过与门和异或门进行逻辑运算来获得,当生成多项式的多项式向量输入多项式矩阵计算模块后,就可逐列地计算产生多项式矩阵计算模块中其它列阵元的值,得到生成多项式矩阵F的m次幂矩阵Fm,其运算步骤如下:
a)将生成多项式P的多项式向量[pm-1,pm-2,…,p1,p0]输入多项式矩阵计算模块的各个多项式向量输入端,一一对应的赋值给多项式矩阵计算模块的0列阵元[fm-1,0,fm-2,0,…,f1,0,f0,0],获得多项式矩阵计算模块第0列阵元的值;
b)将多项式矩阵计算模块第0列阵元[fm-1,0,fm-2,0,…,f1,0,f0,0]的值逐一与fm-1,0的值送入二输入与门,对应的产生中间向量[em-1,1,em-2,1,.,e1,1,e0,1];
c)将e0,1值赋值给f0,1,将[em-1,1,em-2,1,…,e1,1]与[fm-2,0,fm-3,0,…,f1,0,f0,0]的值一一对应地送入二输入异或门,并将运算结果对应地赋值给[fm-1,1,fm-2,1,…,f1,1],获得多项式矩阵计算模块第1列阵元的值;
d)多项式矩阵计算模块中第j列阵元的值(1≤j≤m-1),可通过如下运算获得:将[fm-1,j-1,fm-2,j-1,…,f1,j-1,f0,j-1]的值逐一分别与fm-1,j-1的值送入二输入与门,对应地产生中间向量[em-1,j,em-2,j,…,e1,j,e0,j],将e0,j赋值给f0,j,将[em-1,j,em-2,j,…,e1,j]分别与[fm-2,j-1,fm-3,j-1,…,f1,j-1,f0,j-1]一一对应地送入二输入异或门,并将运算结果对应地赋值给[fm-1,j,fm-2,j,…,f1,j],获得多项式矩阵计算模块第j列阵元的值,重复本步骤至j=m-1,即获得多项式矩阵计算模块中每一列阵元的值。
2)系统矩阵计算模块
系统矩阵计算模块以列为单位进行运算,对于输入数据位宽是w的CRC运算来说,其0至m-w-1列的值为m×m维单位矩阵的最左边的m-w列的值,即从w列至m-1列的值,其m-w列至m-1列的值分别为多项式矩阵计算模块0列至w-1列的值,获得多项式矩阵计算模块的m次幂运算结果后,结合m×m维单位矩阵的元素值,就可获得输入位宽不大于m的CRC运算的所有系统矩阵,其运算步骤如下:
a)多项式矩阵计算模块将多项式矩阵各列阵元的输出值分别输入系统矩阵计算模块中对应的多项式矩阵输入端口器件,从而将多项式矩阵计算模块运算得到的生成多项式矩阵F的m次幂矩阵Fm的0列至m-1列赋值给系统矩阵Fw
b)单位矩阵输出模块生成m-1维的单位矩阵Hm-1,并将单位矩阵各列阵元的值分别输入系统矩阵计算模块中对应的单位矩阵输入端口器件;
c)系统矩阵计算模块中m个多项式矩阵输入端口器件将矩阵Fm的0列至m-1列赋值给各二输入选择器件第一输入端口;
n个单位矩阵输入端口器件,及多项式矩阵输入端口器件中的第0至第m-n-1个多项式矩阵输入端口器件,分别将单位矩阵Hm-1的0列至n-1列,及矩阵Fm的0列至m-n-1列,分别赋值给各二输入选择器件第二输入端口;
d)系统矩阵计算模块可在多项式选择端的输入值控制下实现输入位宽为m和m-2两种CRC运算所需的系统矩阵的计算功能,当多项式选择端的输入值为0时,各二输入选择器件的输出端口输出第一输入端口的值,此时系统矩阵计算模块中各输出端口器件输出并行CRC运算模块所需要的m维系统矩阵列元素值,实现输入位宽为m的CRC运算,并行CRC运算模块可并行接收m位的输入数据,当多项式选择端的输入值为1时,各二输入选择器件的输出端口输出第二输入端口的值,此时系统矩阵计算模块中各输出端口器件输出并行CRC运算模块所需要的m-n维系统矩阵列元素值,实现输入位宽为m-n的CRC运算,并行CRC运算模块可并行接收m-n位的输入数据;
e)将系统矩阵计算模块中各二输入选择器件的输出至各输出端口器件,通过各输出端口器件输出系统矩阵Fw的第0列至第m-1列,从而获得了系统矩阵Fw的第0列至第m-1列的值,当多项式选择端的输入值为0时,Fw的值等于Fm,当多项式选择端的输入值为1时,Fw的值等于Fm-2
3)并行CRC运算模块
并行CRC运算模块的运算过程可用以下状态空间表达式对其进行描述:
Y [ v + 1 ] = F w &CircleTimes; ( Y [ v ] &CirclePlus; B )
式中,B=[dk-1,dk-2,…,dk-w|0,…,0],[dk-w-1,dk-w-1,…,dk-2*w|0,…,0],…,[dw-1,dw-2,…,d0|0,…,0];
将系统矩阵计算模块输出的系统矩阵列元素值,输入到并行CRC运算模块中各二输入与门,将待处理的k位数据分为k/w组后,逐组输入并行CRC运算模块的各个校验数据位输入端(即第一异或门序列中的各异或门的第二输入端),并行CRC运算模块逐步输出第v时刻的状态向量[ym-1(v),ym-2(v),…,y1(v),y0(v)]T,1≤v≤k/w-1,当v=k/w-1时,状态向量[ym-1(k/w-1),ym-2(k/w-1),…,y1(k/w-1),y0(k/w-1)]T即为最终的CRC码。

Claims (1)

1.一种基于FPGA的并行循环冗余校验运算电路,其特征在于,该电路包括以下四个模块:
1)多项式矩阵计算模块
多项式矩阵计算模块是用于计算多项式m次幂矩阵的模块,m是一大于1的整数,多项式m次幂矩阵是由m2个阵元组成的m行m列的矩阵,多项式矩阵计算模块中设有与多项式m次幂矩阵中各阵元一一对应的m2个多项式计算单元,设多项式m次幂矩阵的起始行号为0行,起始列号为0列,该矩阵第i行第j列的阵元为fij,则多项式矩阵计算模块的结构为:
满足条件0≤i≤m-1且j=0的fij为多项式向量赋值阵元,该fij对应的多项式计算单元为多项式矩阵计算模块的第i行多项式向量输入端,记为qi,该多项式计算单元的输出端即为qi
满足条件i=0且1≤j≤m-1的fij对应的多项式计算单元由一个二输入与门构成,该二输入与门的输出端即为本单元的输出端,该二输入与门的两个输入端分别接到qi及对应fm-1,j-1的多项式计算单元的输出端;
满足条件1≤i≤m-1且1≤j≤m-1的fij对应的多项式计算单元由一个二输入异或门和一个二输入与门构成,其中的二输入与门的两个输入端分别接到qi和对应fm-1,j-1的多项式计算单元的输出端,其中的二输入异或门的一个输入端接到对应fi-1,j-1的多项式计算单元的输出端,另一个输入端接到本单元的二输入与门的输出端,该二输入异或门的输出端构成本单元的输出端;
2)单位矩阵输出模块
单位矩阵输出模块是用于输出m行m列单位矩阵向量的模块,单位矩阵输出模块中设有与单位矩阵中的m2个阵元一一对应的m2个单位矩阵向量输出单元,每个单位矩阵向量输出单元均设有一向量输出端;
3)系统矩阵计算模块
系统矩阵计算模块是用于输出系统矩阵的模块,系统矩阵计算模块包括一个选择器件序列,一个多项式输入器件序列,一个输出器件序列,一个单位矩阵输入器件序列;
所述选择器件序列由m个二输入选择器件组成,所述多项式输入器件序列由m个多项式矩阵输入端口器件组成,所述输出器件序列由m个输出端口器件组成,所述单位矩阵输入器件序列由n个单位矩阵输入端口器件组成,且有1<n<m;
所述多项式矩阵输入端口器件、输出端口器件、单位矩阵输入端口器件各有一个输出端口、一个输入端口,且每个端口均有m个端脚;
所述二输入选择器件有一个选择信号输入端脚,及一个输出端口、两个输入端口,且二输入选择器件的每个端口均有m个端脚,二输入选择器件的两个输入端口分别为第一输入端口、第二输入端口;
设各器件序列的起始序号均为0,0≤i≤m-1,0≤j≤m-1,0≤s≤n-1,n≤t≤m-1,则有如下连接关系:
多项式矩阵计算模块中,多项式m次幂矩阵第j列各阵元对应的各多项式计算单元的输出端构成多项式矩阵计算模块的第j个输出端口;
单位矩阵输出模块中,单位矩阵第j列各阵元对应的各单位矩阵向量输出单元的向量输出端构成单位矩阵输出模块的第j个输出端口;
多项式输入器件序列中,第j个多项式矩阵输入端口器件的输入端口接到多项式矩阵计算模块的第j个输出端口,第j个多项式矩阵输入端口器件的输出端口接到选择器件序列中第j个二输入选择器件的第一输入端口;
单位矩阵输入器件序列中,第s个单位矩阵输入端口器件的输入端口接到单位矩阵输出模块的第s个输出端口,第s个单位矩阵输入端口器件的输出端口接到选择器件序列中第s个二输入选择器件的第二输入端口;
选择器件序列中,第t个二输入选择器件的第二输入端口接到多项式输入器件序列中第t-n个多项式矩阵输入端口器件的输出端口,第j个二输入选择器件的输出端口接到输出器件序列中第j个输出端口器件的输入端,各二输入选择器件的选择信号输入端脚相互串接构成系统矩阵计算模块的多项式选择端;
输出器件序列中,第j个输出端口器件的输出端口构成系统矩阵计算模块的第j个系统矩阵列输出端口,第j个系统矩阵列输出端口中的第i个端脚构成系统矩阵计算模块的第i行第j列系统矩阵元素输出端;
4)并行CRC运算模块
并行CRC运算模块包括一个寄存器序列,一个与门序列,两个异或门序列;
所述与门序列由m个与门子序列组成,所述与门子序列由m个二输入与门组成,与门子序列中每个二输入与门的两个输入端分别为第一输入端、第二输入端;
所述寄存器序列由m个寄存器组成,所述异或门序列由m个异或门组成;
所述两个异或门序列分别为第一异或门序列、第二异或门序列;
第一异或门序列中的每个异或门均有两个输入端,分别为第一输入端、第二输入端;
第二异或门序列中的每个异或门均有m个输入端;
设寄存器序列、异或门序列、与门序列,及与门序列中各个与门子序列的起始序号均为0,0≤i≤m-1,则有如下连接关系:
寄存器序列中,第i个寄存器的输出端构成并行CRC运算模块的校验码第i位输出端,第i个寄存器的输入端接到第二异或门序列中第i个异或门的输出端;
第一异或门序列中,第i个异或门的第一输入端接到寄存器序列中第i个寄存器的输出端,第i个异或门的第二输入端构成并行CRC运算模块的校验数据第i位输入端;
与门序列中,第i个与门子序列中各二输入与门的输出端分别接到第二异或门序列中第i个异或门的各个输入端,第i个与门子序列中第j个二输入与门的第一输入端接到系统矩阵计算模块的第i行第j列系统矩阵元素输出端,每个与门子序列中的第j个二输入与门的第二输入端均接到第一异或门序列中的第j个异或门的输出端。
CN201220479771XU 2012-09-18 2012-09-18 基于fpga的并行循环冗余校验运算电路 Withdrawn - After Issue CN202906879U (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201220479771XU CN202906879U (zh) 2012-09-18 2012-09-18 基于fpga的并行循环冗余校验运算电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201220479771XU CN202906879U (zh) 2012-09-18 2012-09-18 基于fpga的并行循环冗余校验运算电路

Publications (1)

Publication Number Publication Date
CN202906879U true CN202906879U (zh) 2013-04-24

Family

ID=48127497

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201220479771XU Withdrawn - After Issue CN202906879U (zh) 2012-09-18 2012-09-18 基于fpga的并行循环冗余校验运算电路

Country Status (1)

Country Link
CN (1) CN202906879U (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102891685A (zh) * 2012-09-18 2013-01-23 国核自仪系统工程有限公司 基于fpga的并行循环冗余校验运算电路
CN107154836A (zh) * 2017-06-28 2017-09-12 西安空间无线电技术研究所 一种基于fpga的并行循环冗余crc校验方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102891685A (zh) * 2012-09-18 2013-01-23 国核自仪系统工程有限公司 基于fpga的并行循环冗余校验运算电路
CN102891685B (zh) * 2012-09-18 2018-06-22 国核自仪系统工程有限公司 基于fpga的并行循环冗余校验运算电路
CN107154836A (zh) * 2017-06-28 2017-09-12 西安空间无线电技术研究所 一种基于fpga的并行循环冗余crc校验方法

Similar Documents

Publication Publication Date Title
CN102891685A (zh) 基于fpga的并行循环冗余校验运算电路
CN101527615A (zh) 一种循环冗余校验crc码的实现方法和装置
CN101227194B (zh) 用于并行bch编码的电路、编码器及方法
CN101273532B (zh) 解码装置及接收装置
CN201153259Y (zh) 并行数据循环冗余校验装置及双向数据传输系统
KR100202206B1 (ko) 유한체의 곱셈적역원을 계산하는 데이타 처리 장치
CN105322973B (zh) 一种rs码编码器及编码方法
CN102298570A (zh) 一种点数可变的混合基 fft/ifft实现装置及其方法
CN107015782A (zh) 一种基于不可约三项式的有限域乘法器
CN112468161B (zh) 一种rs高速编码电路
CN103199873A (zh) 两级分块crc运算的快速配置方法
CN202906879U (zh) 基于fpga的并行循环冗余校验运算电路
CN101556829B (zh) 线性反馈移位寄存器模块及产生输出流的方法
CN101783688A (zh) 一种64位并行多模式crc码生成电路的设计方法
CN101968732B (zh) 检错比特并行脉动阵列移位多项式基乘法器及其构造方法
Zhang et al. Backward Euler-Maruyama method applied to nonlinear hybrid stochastic differential equations with time-variable delay
CN105099467A (zh) Qc-ldpc码的编码方法及编码装置
CN106603082A (zh) 通用型高速ldpc码编码方法及编码器
CN101847999B (zh) 一种用循环冗余校验码进行并行校验的方法
CN110825346B (zh) 一种低逻辑复杂度的无符号近似乘法器
CN102891689B (zh) 一种错误位置多项式求解方法及装置
CN103269255A (zh) 一种并行crc电路的生成方法和装置
Arifin et al. Design and implementation of high performance parallel crc architecture for advanced data communication
Semerenko The theory of parallel CRC codes based on automata models
RU2541869C1 (ru) Устройство декодирования кодов рида-соломона

Legal Events

Date Code Title Description
C14 Grant of patent or utility model
GR01 Patent grant
AV01 Patent right actively abandoned
AV01 Patent right actively abandoned

Granted publication date: 20130424

Effective date of abandoning: 20180622