一种实现二进制多项式运算的硬件配置方法及硬件系统的制作方法

文档序号:6608820阅读:264来源:国知局
专利名称:一种实现二进制多项式运算的硬件配置方法及硬件系统的制作方法
技术领域
本发明涉及通信及微电子领域的数据处理技术,特别是涉及一种实现二进制多项式运算的硬件配置方法及硬件系统。
背景技术
二进制多项式运算是常用的数据处理计算的基本形式,其典型应用实例包括广泛用于通信系统解决方案的循环冗余校验(Cyclic Redundancy Check,缩写CRC)。在数据处理过程中,采用二进制表示的数据,可以被看作是一个二进制多项式的系数,多项式乘除法运算过程与普通代数多项式的乘除法相同,而且多项式的加减法运算以2为模,和逻辑异或运算一致。
以CRC为例,采用CRC校验时,发送方和接收方使用同一个生成多项式g(x),并且g(x)的首位和最后一位的系数必须为1。CRC的处理方法是发送方以g(x)去除数据t(x),得到余数作为CRC校验码;校验时,接受方以计算的校正结果是否为0为据,判断接收数据是否出错。计算过程中所有步骤都为二进制多项式运算。
这种二进制多项式的计算过程在硬件上是循环移位的模2运算,当数据为串行输入时这种运算对应硬件实现上的线性反馈移位寄存器,其线性反馈移位逻辑由计算公式决定,在CRC中表现为移位寄存器与生成多项式g(x)的各项一一对应。例如,如果要计算多项式g(x)=x3+x+1,就必须设计具有三个移位寄存器的硬件电路,分别对应x3、x1、x0,可以看出,如果计算不同长度和不同项的多项式都要分别设计硬件电路,非常麻烦,效率很低。
因此,如何克服现有技术中一个硬件实现只能对应一种计算方案的缺陷,如何提供一种通用的硬件实现,使线性反馈移位逻辑达到可配置化,以支持多种方案乃至多种长度的二进制多项式运算,是有待解决的问题。

发明内容
本发明的目的是提供一种实现二进制多项式运算的硬件配置方法及硬件系统,解决现有技术的一个硬件实现只能对应一种运算方案,不能完成不同方案的二进制多项式运算的技术问题。
为了实现上述目的,本发明提供了一种实现二进制多项式运算的硬件配置方法,其中,包括如下步骤步骤一,对于采用串行数据输入的n个线性反馈移位寄存器,每个寄存器按输入输出顺序分别代表二进制多项式的x1至xn中的一项;步骤二,通过在各寄存器的输入端口设置实现选择功能的组合逻辑单元,来设置该寄存器的前一个寄存器所对应的二进制多项式的项的系数。
上述的方法,其中,还包括步骤三,将各寄存器的值输入到最高位选择逻辑单元,并将所述最高位选择逻辑单元的输出连接到所述组合逻辑单元的输入端口的异或运算逻辑单元,通过所述最高位选择逻辑单元设置所述二进制多项式的项所允许具有的最高位。
上述的方法,其中,在所述步骤二中,代表x1的移位寄存器的输入端口的组合逻辑单元,用来控制二进制多项式的x0的系数。
上述的方法,其中,设置参数C和参数K,所述参数C包括n个二进制数分别对应输入所述n个寄存器的输入端口的组合逻辑单元,用来选则x0至xn-1的系数,所述参数K输入所述最高位选择逻辑单元,实现所述最高位选择逻辑单元的n选一功能,得到所述二进制多项式的项所允许具有的最高位。
上述的方法,其中,通过对参数C和参数K的设置,实现对二进制多项式的各项系数和所允许的最高位的设置和更改。
为了实现本发明的目的,本发明还提供了一种实现二进制多项式运算的硬件系统,其中,包括采用串行数据输入的n个线性反馈移位寄存器,每个寄存器按输入输出顺序分别代表二进制多项式的x1至xn中的一项;设置在各寄存器的输入端口的实现选择功能的组合逻辑单元,用来设置该寄存器的前一个寄存器所对应的二进制多项式的项的系数。
上述的硬件系统,其中,还包括最高位选择逻辑单元,用来设置所述二进制多项式的项所允许具有的最高位;各寄存器的值输入到所述最高位选择逻辑单元,所述最高位选择逻辑单元的输出连接到所述组合逻辑单元的输入端口的异或运算逻辑单元。
上述的硬件系统,其中,代表x1的移位寄存器的输入端口的组合逻辑单元,用来控制二进制多项式的x0的系数。
上述的硬件系统,其中,所述n个寄存器的输入端口的组合逻辑单元分别对应输入n个二进制数,用来选则x0至xn-1的系数;所述最高位选择逻辑单元输入参数K,用来实现所述最高位选择逻辑单元的n选一功能;所述n个二进制数组成参数C。
本发明的技术效果在于本发明提出一个硬件实现设计,能够在硬件上灵活配置移位寄存器的线性反馈移位逻辑,可以完成不同方案的二进制多项式运算,包括不同长度的方案,从而极大提高了硬件实现的效率和系统的灵活性。


图1为本发明方法的步骤流程图;图2为本发明方法的硬件实现示意图;图3a、3b为本发明方法在预定实施例参数下所等效的硬件示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。
图1为本发明方法的步骤流程图,如图,本发明方法包括步骤101,对于采用串行数据输入的n个线性反馈移位寄存器,每个寄存器按输入输出顺序分别代表二进制多项式的x1至xn中的一项;步骤102,通过在各寄存器的输入端口设置实现选择功能的组合逻辑单元,来设置该寄存器的前一个寄存器所对应的二进制多项式的项的系数;步骤103,将各寄存器的值输入到最高位选择逻辑单元,并将所述最高位选择逻辑单元的输出连接到所述组合逻辑单元的输入端口的异或运算逻辑单元,通过所述最高位选择逻辑单元设置所述二进制多项式的项所允许具有的最高位。
在本发明方法中,还设置参数C和参数K,通过对参数C和参数K的设置,实现对二进制多项式的各项系数和所允许的最高位的设置和更改。所述参数C包括n个二进制数分别对应输入所述n个寄存器的输入端口的组合逻辑单元,用来选则x0至xn-1的系数,所述参数K输入所述最高位选择逻辑单元,实现所述最高位选择逻辑单元的n选一功能,得到所述二进制多项式的项所允许具有的最高位。
图2为本发明方法的硬件实现示意图,如图,所示的逻辑电路中包含采用串行数据输入的n个移位寄存器201至20n;其线性反馈逻辑由两部分组成相邻寄存器之间的实现选择功能的组合逻辑(包括该组合逻辑输入端口的一个异或运算逻辑),和最高位选择逻辑210(一个实现选择功能的反馈选择逻辑,其输入为各个寄存器值)。这两部分的选择信号分别由参数C和参数K控制。
以CRC为例,当这套计算电路用于CRC计算时,假设最大设计CRC位数设为n,参数C[n-1:0]是n位二进制数,数值对应CRC生成多项式g(x)的各项系数,参数C的每一位分别控制一个组合逻辑单元的选择信号。参数K用来控制n选1逻辑,选择所需要的寄存器输出作为最高位反馈,从而实现不超过n位的任意位数的CRC算法。
使用这种电路,可以根据预先设计好的参数(参数C和参数K)来选择实现多种二进制多项式计算方案,包括不同系数和不同长度的配置。在需要支持多种CRC的系统实现中,每种CRC方案对应一组参数C和K的设定。
图3a、3b为本发明方法在预定实施例参数下所等效的硬件示意图,如图,如果要计算二进制多项式g(x)=x3+x+1,可以先选择最高位,因为g(x)的最高位的项是x3,所以选择参数K=3,这样等效电路就如图3a所示,也就是确定了多项式的长度。然后确定各项的系数,由g(x)=x3+x+1可知,C
=1,C[1]=1,C[2]=0,因此,按此参数所选择的等效电路如图3b所示,这样,通过对参数C和K的设定,就实现了任意多项式的硬件实现。
由上可知,与以前的技术相比,本发明的优点在于可以在硬件实现电路中选择配置线性反馈逻辑,可支持多种二进制多项式运算的方案,包括不同长度的方案,从而极大提高了硬件实现的效率和系统的灵活性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种实现二进制多项式运算的硬件配置方法,其特征在于,包括如下步骤步骤一,对于采用串行数据输入的n个线性反馈移位寄存器,每个寄存器按输入输出顺序分别代表二进制多项式的x1至xn中的一项;步骤二,通过在各寄存器的输入端口设置实现选择功能的组合逻辑单元,来设置该寄存器的前一个寄存器所对应的二进制多项式的项的系数。
2.根据权利要求1所述的方法,其特征在于,还包括步骤三,将各寄存器的值输入到最高位选择逻辑单元,并将所述最高位选择逻辑单元的输出连接到所述组合逻辑单元的输入端口的异或运算逻辑单元,通过所述最高位选择逻辑单元设置所述二进制多项式的项所允许具有的最高位。
3.根据权利要求1或2所述的方法,其特征在于,在所述步骤二中,代表x1的移位寄存器的输入端口的组合逻辑单元,用来控制二进制多项式的x0的系数。
4.根据权利要求3所述的方法,其特征在于,设置参数C和参数K,所述参数C包括n个二进制数分别对应输入所述n个寄存器的输入端口的组合逻辑单元,用来选则x0至xn-1的系数,所述参数K输入所述最高位选择逻辑单元,实现所述最高位选择逻辑单元的n选一功能,得到所述二进制多项式的项所允许具有的最高位。
5.根据权利要求4所述的方法,其特征在于,通过对参数C和参数K的设置,实现对二进制多项式的各项系数和所允许的最高位的设置和更改。
6.一种实现二进制多项式运算的硬件系统,其特征在于,包括采用串行数据输入的n个线性反馈移位寄存器,每个寄存器按输入输出顺序分别代表二进制多项式的x1至xn中的一项;设置在各寄存器的输入端口的实现选择功能的组合逻辑单元,用来设置该寄存器的前一个寄存器所对应的二进制多项式的项的系数。
7.根据权利要求6所述的硬件系统,其特征在于,还包括最高位选择逻辑单元,用来设置所述二进制多项式的项所允许具有的最高位;各寄存器的值输入到所述最高位选择逻辑单元,所述最高位选择逻辑单元的输出连接到所述组合逻辑单元的输入端口的异或运算逻辑单元。
8.根据权利要求6或7所述的硬件系统,其特征在于,代表x1的移位寄存器的输入端口的组合逻辑单元,用来控制二进制多项式的x0的系数。
9.根据权利要求8所述的硬件系统,其特征在于,所述n个寄存器的输入端口的组合逻辑单元分别对应输入n个二进制数,用来选则x0至xn-1的系数;所述最高位选择逻辑单元输入参数K,用来实现所述最高位选择逻辑单元的n选一功能;所述n个二进制数组成参数C。
全文摘要
本发明提供了一种实现二进制多项式运算的硬件配置方法及硬件系统,方法包括对于采用串行数据输入的n个线性反馈移位寄存器,每个寄存器按输入输出顺序分别代表二进制多项式的x
文档编号G06F5/06GK101055516SQ20071009980
公开日2007年10月17日 申请日期2007年5月30日 优先权日2007年5月30日
发明者周涛 申请人:北京天碁科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1