一种基于RS码的有限域乘法器的制作方法

文档序号:11949449阅读:214来源:国知局
一种基于RS码的有限域乘法器的制作方法与工艺

本发明涉及差错控制码与通信集成电路领域,特别是涉及一种基于RS码的有限域乘法器。



背景技术:

在数据存储或数字通信系统中,为了可靠地传输或存储数字信息,必须在原有信息的基础上加入一定的冗余信息,以便使接收端能够检测并纠正错误,这就是所谓的纠错编译码。里德-所罗门(Reed-Solomon,RS)码作为一种非二进制BCH码,因其具有很强的纠正随机和突发错误的能力而被广泛地应用于数字通信、媒体存储和深空通信等领域。

在RS译码过程中,有限域乘法器是其中用到最多的一个单元,随着系统对纠错的要求越来越高,编译码器应是能适应多种应用场合,符合多种规范,这其中包括纠错能力大小、RS码型以及在特定维数有限域上定义该有限域元素的本原多项式。这一要求反映到乘法器上即要求乘法器能够不限于一个特定本原多项式,且易于扩展实现。目前,基于RS码的有限域乘法器的研究已经取得了一定进展,虽然其中一些设计方案设计思路合理,但是电路复杂,各部件间不规则的通信和繁琐的控制使之不适合VLSI设计。



技术实现要素:

本发明的目的是提供一种基于RS码的有限域乘法器,该有限域乘法器采用先计算普通的多项式乘法然后对本原多项式进行取模运算的两步实现法,与传统的基于多项式基LSB算法实现的有限域乘法器相比,采用此处独特的两步实现法不但使有限域乘法器结构规整、易于扩展和易于工程实现,而且它在速度和面积上都处于优先地位。

本发明采用如下技术方案:

一种基于RS码的有限域乘法器,其特征在于,取模运算部分由两部分组成,其中一部分是输入信号N0,N1,…,N2m-2,另一部分由与门和异或门阵列连线实现,由结构相同的子层构成,共有m-1子层,每层包含m-1个与门和m个异或门;

其中N0,N1,…,N2m-2是通过多项式乘法,得到结果是一个最高阶数为2m-2的乘积多项式的系数,其中,m表示两个有限域乘数的位宽;

第一个子层模块中,有m-1个与门A1-1、A1-2….A1-(m-1)和m个异或门X1-1、X1-2、X1-3…..X1-m,N2m-2输入信号端是所有与门的一个输入,本原多项式p(x)的各个系数Pi,i=1,2,…,m-1分别是各个与门的另一个输入端;

除了第一子层外的其余各子层中,每个与门的一个输入为上一子层模块中第m个异或门Xk-m的输出,本原多项式p(x)的各个系数Pi,i=1,2,…,m-1分别是各个与门的另一个输入端;

对于各子层的异或门来说,在第一子层中,除了第一个异或门X1-1之外,每个异或门的两个输入中一个来自于该层与门的输出,另一个为

N2m-2、N2m-3、…、Nm-1,此处k为层数,而Nm-2、Nm-3、…、N0在第一子层不参与运算,直接传至下一层;除了第一子层外的其他子层中,除了每个子层的第一个异或门Xk-1之外,每个异或门的两个输入中一个来自于该层与门的输出,另外一个输入来自于上一个子层的异或门X(k-1)-(m-1)、X(k-1)-(m-2)、…、X(k-1)-1的输出;这里所有子层的第一个异或门Xk-1的一个输入来自于上一子层模块中第m个异或门Xk-1-m的输出,另一个输入来自于信号Nm-1-k;此处k表示子层的层数。

一种基于RS码的有限域乘法器实现法如图1所示,由两部分运算组成,第一步运算是普通的多项式乘法,第二步运算是进行取模计算,最终得出有限域乘法的结果。

所述第一步运算是普通的多项式乘法,用多项式形式表示的乘数a与乘数b做乘法,得到结果是一个最高阶数为2m-2的多项式,然后将多项式的系数N0,N1,…,N2m-2作为输入信号输入到第二步运算电路即取模运算电路中。

所述第二步运算是取模计算,利用取模运算电路实现,取模运算电路由m-1个子层模块电路构成,每一个子层由m-1个与门和m个异或门构成。

与现有技术相比,本发明具有以下优点:

本发明创新地提出了一种有限域乘法器的两步实现法,其中第二步的取模计算电路由结构相同的子层构成,结构规整,易于扩展,适合工程实现,通过调节取模电路架构里的子层使得可以实现任意位宽的有限域乘法器,尤其适用于差错控制码领域如RS码的应用,可满足通信系统中VLSI设计易于实现的急切需求。

附图说明

图1是本发明有限域乘法器的结构框图;

图2是本发明有限域乘法器的一个实施例;其中:1-多项式形式表示的乘数a与b的普通乘法运算;2-给取模电路提供信号的输入信号端;3-整个取模电路;4-取模电路里的第一子层;5-取模电路里的第二子层;6-有限域乘法器信号输出端;

图3是利用软件工具Modelsim对基于GF(2^3)的本发明有限域乘法器的仿真图形;

图4是本发明有限域乘法器的另一个实施例,是基于GF(2^5)的本发明有限域乘法器;其中:7-多项式形式表示的乘数a与b的普通乘法运算;8-给取模电路提供信号的输入信号端;9-整个取模电路;10-取模电路里的第一子层;11-取模电路里的第二子层;12-取模电路里的第三子层;13-取模电路里的第四子层;14-有限域乘法器信号输出端;

图5是利用软件工具Modelsim对基于GF(2^5)的本发明有限域乘法器的仿真图形;

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图,对本发明作进一步详细说明。

首先是普通的多项式乘法,得到结果是一个最高阶数为2m-2的多项式,其中,m表示两个有限域乘数的位宽,其次将这个乘积多项式对本原多项式p(x)进行取模运算,所得到的余式系数就是有限域乘法的最终结果。

所述的普通的多项式乘法是实现有限域乘法器的第一步,获得的多项式的各个系数为N0,N1,…,N2m-2

所述的取模运算是实现有限域乘法器的第二步。

所述的取模运算部分采用一种新的电路架构,由两部分组成,其中一部分是输入信号N0,N1,…,N2m-2,另一部分由与门和异或门阵列连线实现,由结构相同的子层构成,共有m-1子层,每层包含m-1个与门和m个异或门。

所述的取模运算电路部分的每层中,每个与门的一个输入为该层的源信号,另一个输入为本原多项式p(x)的各个系数Pi,i=1,2,…,m-1,由于P0一般都是1,故而每个子层的与门数量其实是m个,只是省去了一个而成为m-1个与门。

所述的取模运算电路部分的每层中,对于第一子层中,除了第一个异或门X1-1之外,每个异或门的两个输入中一个来自于该层与门的输出,另一个为N2m-2、N2m-3、…、Nm-1,此处k为层数,而Nm-2、Nm-3、…、N0在第一子层不参与运算,直接传至下一层;除了第一子层外的其他子层中,除了每个子层的第一个异或门Xk-1之外,每个异或门的两个输入中一个来自于该层与门的输出,另外一个输入来自于上一个子层的异或门X(k-1)-(m-1)、X(k-1)-(m-2)、…、X(k-1)-1的输出;这里所有子层的第一个异或门Xk-1的一个输入来自于上一子层模块中第m个异或门Xk-1-m的输出,另一个输入来自于信号Nm-1-k;此处k表示子层的层数。

图2是本发明基于GF(2^3)的有限域乘法器的一个实施例。包括:多项式形式表示的乘数a与b的普通乘法运算;给取模电路提供信号的输入信号端;整个取模电路;取模电路里的第一子层;取模电路里的第二子层;有限域乘法器信号输出端;

本实施例中的多项式形式表示的乘数a与b的普通乘法运算是本发明有限域乘法器两步实现法中的第一步,其目的就是得到一个最高阶数为4的多项式,然后将该多项式的系数当做输入信号输入到取模运算电路中,此处的取模运算是本发明有限域乘法器的第二步,目的就是把第一步得到的乘积多项式中阶数≥3的项转换为最高阶数≤2的多项式表示,合并整理后,得到一个最高阶数≤2的多项式表示的乘积结果,此乘积结果的系数就是本实施例的输出结果。

本实施例中的第二步即为取模运算,其对应的电路即为取模运算电路,由两个子层模块构成,第一个子层模块中,有两个与门A1-1、A1-2和三个异或门X1-1、X1-2、X1-3,N4输入信号端分别是与门A1-1和A1-2的一个输入,P1和P2分别是A1-1和A1-2的另一个输入端,这里P1和P2是本实施例对应的本原多项式x3+x+1的一次项和二次项的系数,分别为1和0,异或门X1-1的一个输入是N4,另一个输入是N1,与门A1-1的输出端连接到异或门X1-2的一个输入端,输入信号N2是异或门X1-2的另一个输入端,与门A1-2的输出端连接到异或门X1-3的一个输入端,输入信号N3是异或门X1-3的另一个输入端。

本实施例取模电路的第二个子层模块中,有两个与门A2-1、A2-2和三个异或门X2-1、X2-2、X2-3,与门A2-1的其中一个输入来自第一子层模块中异或门X1-3的输出,另一个输入是P1,与门A2-2的其中一个输入来自第一子层模块中异或门X1-3的输出,另一个输入是P2,异或门X2-1的一个输入来自第一子层模块中异或门X1-3的输出,另一个输入是输入信号N3,异或门X2-2的一个输入来自第二子层模块中与门A2-1的输出,另一个输入来自第一子层模块中异或门X1-1的输出,异或门X2-3的一个输入来自第二子层模块中与门A2-2的输出,另一个输入来自第一子层模块中异或门X1-2的输出,异或门X2-1、X2-2、X2-3的输出y0、y1、y2分别是有限域乘数a和b相乘的最终结果。

图3是上述实施例利用软件工具Modelsim对基于GF(2^3)的本发明有限域乘法器的仿真图形,图形中的信号in1和in2就对应上述实施例里的有限域乘数a和b,信号out的从低位到高位对应上述实施例中的输出y0、y1、y2,两组数据的计算结果完全正确,说明本实施例的可行性。

图4是本发明基于GF(2^5)的有限域乘法器的一个实施例。包括:多项式形式表示的乘数a与b的普通乘法运算;给取模电路提供信号的输入信号端;整个取模电路;取模电路里的第一子层;取模电路里的第二子层;取模电路里的第三子层;取模电路里的第四子层;有限域乘法器信号输出端;

本实施例中的多项式形式表示的乘数a与b的普通乘法运算是本发明有限域乘法器两步实现法中的第一步,其目的就是得到一个最高阶数为8的多项式,然后将该多项式的系数当做输入信号输入到取模运算电路中,此处的取模运算是本发明有限域乘法器的第二步,目的就是把第一步得到的乘积多项式中阶数≥5的项转换为最高阶数≤4的多项式表示,合并整理后,得到一个最高阶数≤4的多项式表示的乘积结果,此乘积结果的系数就是本实施例的输出结果。

本实施例中的第二步即为取模运算,其对应的电路即为取模运算电路,由四个子层模块构成,第一个子层模块中,有四个与门A1-1、A1-2、A1-3、A1-4和五个异或门X1-1、X1-2、X1-3、X1-4、X1-5,N8输入信号端分别是与门A1-1、A1-2、A1-3、A1-4的其中一个输入,P1、P2、P3、P4分别是与门A1-1、A1-2、A1-3、A1-4的另一个输入端,这里P1、P2、P3、P4分别是本实施例对应的本原多项式x5+x2+1的一次项、二次项、三次项、四次项的系数,分别为0、1、0、0,异或门X1-1的一个输入是N8,另一个输入是N3,与门A1-1的输出端连接到异或门X1-2的一个输入端,输入信号N4是异或门X1-2的另一个输入端,与门A1-2的输出端连接到异或门X1-3的一个输入端,输入信号N5是异或门X1-3的另一个输入端,与门A1-3的输出端连接到异或门X1-4的一个输入端,输入信号N6是异或门X1-3的另一个输入端,与门A1-4的输出端连接到异或门X1-5的一个输入端,输入信号N7是异或门X1-5的另一个输入端。

本实施例取模电路的第二个子层模块中,有四个与门A2-1、A2-2、A2-3、A2-4和五个异或门X2-1、X2-2、X2-3、X2-4、X2-5,与门A2-1的其中一个输入来自第一子层模块中异或门X1-5的输出,另一个输入是P1,与门A2-2的其中一个输入来自第一子层模块中异或门X1-5的输出,另一个输入是P2,与门A2-3的其中一个输入来自第一子层模块中异或门X1-5的输出,另一个输入是P3,与门A2-4的其中一个输入来自第一子层模块中异或门X1-5的输出,另一个输入是P4,异或门X2-1的一个输入来自第一子层模块中异或门X1-5的输出,另一个输入是输入信号N2,异或门X2-2的一个输入来自第二子层模块中与门A2-1的输出,另一个输入来自第一子层模块中异或门X1-1的输出,异或门X2-3的一个输入来自第二子层模块中与门A2-2的输出,另一个输入来自第一子层模块中异或门X1-2的输出,异或门X2-4的一个输入来自第二子层模块中与门A2-3的输出,另一个输入来自第一子层模块中异或门X1-3的输出,异或门X2-5的一个输入来自第二子层模块中与门A2-4的输出,另一个输入来自第一子层模块中异或门X1-4的输出。

本实施例取模电路的第三个子层模块中,有四个与门A3-1、A3-2、A3-3、A3-4和五个异或门X3-1、X3-2、X3-3、X3-4、X3-5,与门A3-1的其中一个输入来自第二子层模块中异或门X2-5的输出,另一个输入是P1,与门A3-2的其中一个输入来自第二子层模块中异或门X2-5的输出,另一个输入是P2,与门A3-3的其中一个输入来自第二子层模块中异或门X2-5的输出,另一个输入是P3,与门A3-4的其中一个输入来自第二子层模块中异或门X2-5的输出,另一个输入是P4,异或门X3-1的一个输入来自第二子层模块中异或门X2-5的输出,另一个输入是输入信号N1,异或门X3-2的一个输入来自第三子层模块中与门A3-1的输出,另一个输入来自第二子层模块中异或门X2-1的输出,异或门X3-3的一个输入来自第三子层模块中与门A3-2的输出,另一个输入来自第二子层模块中异或门X2-2的输出,异或门X3-4的一个输入来自第三子层模块中与门A3-3的输出,另一个输入来自第二子层模块中异或门X2-3的输出,异或门X3-5的一个输入来自第三子层模块中与门A3-4的输出,另一个输入来自第二子层模块中异或门X2-4的输出。

本实施例取模电路的第四个子层模块中,有四个与门A4-1、A4-2、A4-3、A4-4和五个异或门X4-1、X4-2、X4-3、X4-4、X4-5,与门A4-1的其中一个输入来自第三子层模块中异或门X3-5的输出,另一个输入是P1,与门A4-2的其中一个输入来自第三子层模块中异或门X3-5的输出,另一个输入是P2,与门A4-3的其中一个输入来自第三子层模块中异或门X3-5的输出,另一个输入是P3,与门A4-4的其中一个输入来自第三子层模块中异或门X3-5的输出,另一个输入是P4,异或门X4-1的一个输入来自第三子层模块中异或门X3-5的输出,另一个输入是输入信号N0,异或门X4-2的一个输入来自第四子层模块中与门A4-1的输出,另一个输入来自第三子层模块中异或门X3-1的输出,异或门X4-3的一个输入来自第四子层模块中与门A4-2的输出,另一个输入来自第三子层模块中异或门X3-2的输出,异或门X4-4的一个输入来自第四子层模块中与门A4-3的输出,另一个输入来自第三子层模块中异或门X3-3的输出,异或门X4-5的一个输入来自第四子层模块中与门A4-4的输出,另一个输入来自第三子层模块中异或门X3-4的输出。异或门X4-1、X4-2、X4-3、X4-4、X4-5的输出y0、y1、y2、y3、y4分别是有限域乘数a和b相乘的最终结果。

图5是上述实施例利用软件工具Modelsim对基于GF(2^5)的本发明有限域乘法器的仿真图形,图形中的信号in1和in2就对应上述实施例里的有限域乘数a和b,信号out的从低位到高位对应上述实施例中的输出y0、y1、y2、y3、y4,两组数据的计算结果完全正确,说明本实施例的可行性。

由上述图2和图4两个实施例总结而得,本发明有限域乘法器里的取模电路由结构相同的子层构成,架构规整而易于扩展,对于任意m值的GF(2^m)域乘法,本发明基于RS码的有限域乘法器实现结构可归纳如下:

整个乘法器的取模部分由与门和异或门阵列连线实现,共有m-1子层,每层包含m-1个与门和m个异或门。每层中,每个与门的一个输入为该层的源信号(其中第一层的源信号为N2m-2,第二层至第m-1层的源信号分别为该层上一层的第一个异或门的输出),另一个输入为本原多项式p(x)多的各个系数Pi,i=1,2,…,m-1。而第一子层中,除了第一个异或门X1-1之外,每个异或门的两个输入中一个来自于该层与门的输出,另一个为N2m-2、N2m-3、…、Nm-1,此处k为层数,而Nm-2、Nm-3、…、N0在第一子层不参与运算,直接传至下一层;除了第一子层外的其他子层中,除了每个子层的第一个异或门Xk-1之外,每个异或门的两个输入中一个来自于该层与门的输出,另外一个输入来自于上一个子层的异或门X(k-1)-(m-1)、X(k-1)-(m-2)、…、X(k-1)-1的输出;这里所有子层的第一个异或门Xk-1的一个输入来自于上一子层模块中第m个异或门Xk-1-m的输出,另一个输入来自于信号Nm-1-k;此处k表示子层的层数,最后一个子层的异或门输出即为最后的有限域乘法器乘积结果。

对于本发明基于RS码的有限域乘法器实现方法简单易懂,尤其里面的取模电路部分结构规正而易于扩展,适合工程实现,通过调节取模电路架构里的子层使得可以实现任意位宽的有限域乘法器,尤其适用于差错控制码领域如RS码的应用,可满足通信系统中VLSI设计易于实现的急切需求。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1