CN102510329B - 一种乘法器及其控制方法 - Google Patents
一种乘法器及其控制方法 Download PDFInfo
- Publication number
- CN102510329B CN102510329B CN201110304520.8A CN201110304520A CN102510329B CN 102510329 B CN102510329 B CN 102510329B CN 201110304520 A CN201110304520 A CN 201110304520A CN 102510329 B CN102510329 B CN 102510329B
- Authority
- CN
- China
- Prior art keywords
- shift register
- matrix
- logic
- shift
- result
- 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.)
- Expired - Fee Related
Links
Landscapes
- Executing Machine-Instructions (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种乘法器及其控制方法,所述乘法器具有:第一移位寄存器、第二移位寄存器、和级联移位寄存器;在外部开始信号触发下,依据相乘矩阵的长度生成的移位控制信号指示第一、二移位寄存器将存储的元素右对齐,按照预设的第一规则控制级联移位寄存器中的元素右移一位;在每个时钟周期内,控制第一、二移位寄存器中的元素右移一位,且根据第一规则将级联移位寄存器中的元素右移一位,并按照预设的第二规则,将移位后的级联移位寄存器中的元素与第一移位寄存器中最右端的元素进行模乘运算;当所述时钟周期的个数等于相乘矩阵的长度值时,控制运算停止,得到结果矩阵中的元素值。该方法控制的乘法器实现了不同长度的矩阵的乘法运算。
Description
技术领域
本发明涉及通信领域,尤其涉及一种乘法器及其控制方法。
背景技术
正规基表示是二元域上元素最重要的表示形式之一,优化正规基是一类特殊的正规基,具有最低的计算复杂度,而因为II型优化正规基表示的乘法运算效率最高,所以是优化正规基中应用最广泛的一种,被广泛应用于加密通信领域。
现有的II型优化正规基乘法器都是根据乘法矩阵的元素数量设计的,电路结构固定,也就是一类II型优化正规基乘法器只能支持具有固定元素数量的乘法矩阵进行计算,当乘法矩阵的元素数量发生改变时,就需要重新设计乘法器电路进行计算。所以现有的II型优化正规基乘法器都只能支持一种数据长度的乘法运算,不具备灵活性。
发明内容
有鉴于此,本发明提供了一种乘法器及其控制方法,用以解决现有的II型优化正规基乘法器都只能支持一种数据长度的乘法运算,不具备灵活性的问题。
一种乘法器控制方法,所述乘法器具有:左对齐倒序存储第一矩阵中元素的第一移位寄存器;左对齐倒序存储第二矩阵中元素的第二移位寄存器;包括相连的第三移位寄存器和第四移位寄存器的级联移位寄存器,所述第三移位寄存器和第四移位寄存器分别右对齐正序存储所述第二相乘矩阵中的元素,其余的位置存储0值;
所述方法包括:
在外部开始信号触发下,依据所述第一矩阵的长度生成的移位控制信号指示所述第一、二移位寄存器将存储的矩阵元素右对齐,并且,按照预设的第一规则控制所述级联移位寄存器中的元素右移一位;
在每个时钟周期内,控制所述第一、二移位寄存器中的元素右移一位,且根据所述第一规则将所述级联移位寄存器中的元素右移一位,并按照预设的第二规则,将移位后的级联移位寄存器中的元素与所述第一移位寄存器中最右端的元素进行模乘运算;
当所述时钟周期的个数等于所述第一矩阵的长度值时,控制运算停止,得到结果矩阵中的元素值。
优选地,所述按照预设的第一规则控制所述级联移位寄存器中的元素右移一位的过程具体为:
将依据所述第一矩阵的长度生成的数据路径控制信号与所述第二移位寄存器的最右一位中的元素进行逻辑与运算;
将所述第四移位寄存器中除最右一位外的每个位置中的元素分别与所述逻辑与运算的结果进行逻辑异或运算,得到移位结果,将所述移位结果分别存储到当前对应位置的后一位。
优选地,所述按照预设的第二规则,将移位后的级联移位寄存器中的元素与所述第一移位寄存器中最右端的元素进行模乘运算的具体过程为:
分别将所述第三移位寄存器和第四移位寄存器中从第二位开始相同位置中的元素分别进行逻辑异或运算;
将所述逻辑异或运算的结果分别与所述第一移位寄存器中最右一位中的元素进行逻辑与运算;
将所述逻辑与运算的结果与已存储的初始值为0的结果矩阵中的元素进行逻辑异或运算,并将运算结果替代原来结果矩阵中的元素。
一种乘法器控制方法,所述乘法器具有:左对齐倒序存储第一矩阵中元素的第一移位寄存器;左对齐倒序存储第二矩阵中元素的第二移位寄存器;包括相连的第三移位寄存器和第四移位寄存器的级联移位寄存器,所述第三移位寄存器和第四移位寄存器分别右对齐正序存储所述第二相乘矩阵中的元素,其余的位置存储0值;
所述方法包括:
计算出II型优化正规基表示的矩阵中的元素与预设的基表示的矩阵中的元素间对应的位置信息,并依据所述位置信息,将待变换矩阵中的元素选择到相应的位置,以完成所述第一矩阵和第二矩阵分别由II型优化正规基的表达形式变换到以预设的基表达的形式;
在外部开始信号触发下,依据所述第一矩阵的长度生成移位控制信号指示所述第一、二移位寄存器将存储的矩阵元素右对齐,并且,按照预设的第一规则控制所述级联移位寄存器中的元素右移一位;
在每个时钟周期内,控制所述第一、二移位寄存器中的元素右移一位,且根据所述第一规则将所述级联移位寄存器中的元素右移一位,并按照预设的第二规则,将移位后的级联移位寄存器中的元素与所述第一移位寄存器中最右端的元素进行模乘运算;
当所述时钟周期的个数等于所述第一矩阵的长度值时,控制运算停止,得到结果矩阵中的元素值;
将所述结果矩阵中的元素值变换到以II型优化正规基表达的形式。
一种乘法器,包括:
左对齐倒序存储第一矩阵中元素的第一移位寄存器;
左对齐倒序存储第二矩阵中元素的第二移位寄存器;
包括相连的第三移位寄存器和第四移位寄存器的级联移位寄存器,所述第三移位寄存器和第四移位寄存器分别右对齐正序存储所述第二相乘矩阵中的元素,其余的位置存储0值;
在外部开始信号触发下,依据所述第一矩阵的长度生成移位控制信号指示第一、二移位寄存器将存储的矩阵元素右对齐,并且,按照预设第一规则控制所述级联移位寄存器中的元素右移一位;以及,在每个时钟周期内,控制所述第一、二移位寄存器右移一位元素,且根据所述第一规则将所述级联移位寄存器中的元素右移一位,并按照预设的第二规则,将移位后的级联移位寄存器中的元素与所述第一桶形移位寄存器中最右端的元素进行模乘运算;当所述时钟周期的个数等于所述长度信号的值时,控制运算停止,以得到结果矩阵中的元素值的控制单元。
优选地,还包括:
与所述第四移位寄存器中的除最右一位外一一对应的移位运算模块,所述移位运算模块包括:
将依据所述第一矩阵的长度生成的数据路径控制信号与所述第二移位寄存器的最右一位中的元素进行逻辑与运算的逻辑与运算单元;
将所述第四移位寄存器对应位置中的元素与所述逻辑与运算的结果进行逻辑异或运算,得到移位结果,将所述移位结果存储到对应位置的后一位的逻辑异或运算单元。
优选地,还包括:
与所述第三移位寄存器中从第二位开始一一对应的模乘运算模块,包括,将所述第三移位寄存器和第四移位寄存器中相同位置中的元素分别进行逻辑异或运算的第一逻辑异或运算单元;
将所述逻辑异或运算的结果与所述第一移位寄存器中最右一位中的元素进行逻辑与运算的逻辑与运算单元;
将所述逻辑与运算的结果与已存储的初始值为0的结果矩阵中的元素进行逻辑异或运算,并将运算结果替代原来结果矩阵中的元素的第二逻辑异或运算单元。
一种乘法器,包括:
基变换电路,用于计算出II型优化正规基表示的矩阵中的元素与预设的基表示的矩阵中的元素间对应的位置信息,并依据所述位置信息,将待变换矩阵中的元素选择到相应的位置,以完成所述待变换矩阵在II型优化正规基与预设的基之间的变换;
如前所述的乘法器,用于完成所述预设的基表示的第一矩阵和第二矩阵间的乘法运算。
优选地,所述基变换电路包括:计算出II型优化正规基表示的矩阵中的
元素与预设的基表示的矩阵中的元素间对应的位置信息的微处理器;
用于依据所述位置信息,将待变换矩阵中的元素选择到相应的位置,以完成所述待变换矩阵在II型优化正规基与预设的基之间变换的变换电路。
优选地,所述变换电路包括:
存储待变换的矩阵中的元素的存储寄存器;
接收所述计算出的II型优化正规基表示的矩阵中的元素与预设的基表示的矩阵中的元素间对应的位置信息的配置寄存器;
依据所述位置信息,将待变换矩阵中的元素选择到相应的位置,以完成所述待变换矩阵在II型优化正规基与预设的基之间的变换的多路选择器。
本发明实施例公开的乘法器及其控制方法,将不同数据长度的乘法运算都设计在一个电路中实现,克服了现有的乘法器都只能支持一种数据长度的乘法运算的缺点,实现了乘法器的可配置性,有效地提升了乘法器的灵活性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种乘法器控制方法流程图;
图2为本发明实施例公开的又一种乘法器控制方法流程图;
图3为本发明实施例公开的一种乘法器结构示意图;
图4为本发明实施例公开的又一种乘法器中基变换电路的结构示意图;
图5为本发明实施例公开的又一种乘法器中基变换电路中变换电路的结构示意图。
具体实施方式
本发明公开的乘法器,设置于多个移位寄存器及与所述移位寄存器相对应的运算网络,目的在于为对不同矩阵长度乘法运算提供硬件支持,而公开的乘法器控制方法,通过控制乘法器中的移位寄存器循环移位及矩阵元素的并行算法,实现了使所述乘法器进行不同长度的乘法运算的目的。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明公开的一种乘法器控制方法,所述乘法器具有:左对齐倒序存储第一矩阵中元素的第一移位寄存器,左对齐倒序存储第二矩阵中元素的第二移位寄存器,包括相连的第三移位寄存器和第四移位寄存器的级联移位寄存器,所述第三移位寄存器和第四移位寄存器都分别右对齐正序存储所述第二相乘矩阵中的元素,其余的位置存储0值;
其中,所述第一矩阵和第二矩阵的长度小于或等于第一、第二寄存器的长度,且小于第三、第四移位寄存器的长度。例如,第一、第二移位寄存器的长度为384比特,第三、第四移位寄存器的长度为385比特,当第一、第二矩阵的长度为384比特时,与现有的固定长度的乘法器的运算原理相同,而当第一、第二矩阵的长度为300比特时,使用所述乘法器仍然能够进行乘法运算,如图1所示,所述方法包括步骤:
S101:在外部开始信号触发下,依据所述第一矩阵的长度生成的移位控制信号分别指示所述第一、二移位寄存器将存储的矩阵元素右对齐,并且,按照预设的第一规则控制所述级联移位寄存器中的元素右移一位;
其中移位控制信号包含的移位长度值具体为:第一或第二移位寄存器的长度减去第一或第二矩阵的长度后的数值。
这里的一位就是1比特,是寄存器的最小存储单元。
此步骤可以看作是乘法器的初始化过程,也是所述乘法器能够计算小于寄存器长度的矩阵间的乘法计算的不可缺少的步骤,当所述第一、第二矩阵的长度小于第一、第二移位寄存器的长度时,通过初始化过程中的移位,使第一、第二矩阵的有效元素与其所在的寄存器右对齐,使得有效元素参与计算。
S102:在每个时钟周期内,控制所述第一、二移位寄存器中的元素右移一位,且根据所述第一规则将所述级联移位寄存器中的元素右移一位,并按照预设的第二规则,将移位后的级联移位寄存器中的元素与所述第一移位寄存器中最右端的元素进行模乘运算;
此步骤为每个时钟周期内的移位过程,也是本发明构思下不可或缺的步骤,此步骤中的移位过程,保证了乘法计算的准确性。
S103:当所述时钟周期的个数等于所述第一矩阵的长度值时,停止运算,得到结果矩阵中的元素值。
本实施例公开的方法,通过对乘法器中多个移位寄存器的控制,实现了使用一种长度的乘法器来计算不同长度的矩阵乘法。
进一步地,本实施例中,所述按照预设的第一规则控制所述级联移位寄存器中的元素右移一位的过程具体为:
将依据所述第一矩阵的长度生成的数据路径控制信号与所述第二移位寄存器的最右一位中的元素进行逻辑与运算;
数据路径控制信号与第一矩阵的长度之间的关系为:
其中Datapath_ctl为数据路径控制信号,length为第一矩阵的长度。
将所述第四移位寄存器中除最右一位外的每个位置中的元素分别与所述逻辑与运算的结果进行逻辑异或运算,得到移位结果,将所述移位结果分别存储到当前对应位置的后一位。
其中,将依据所述第一矩阵的长度生成的数据路径控制信号与所述第二移位寄存器的最右一位中的元素进行逻辑与运算,将所述第四移位寄存器中除最右一位外的每个位置中的元素分别与所述逻辑与运算的结果进行逻辑异或运算,得到移位结果,可以用表达式表示为:
bi为移位结果,bi-1为所述第四移位寄存器中除最右一位外的每个位置中的元素,bj为所述第二移位寄存器的最右一位中的元素,Datapath_ctl为依据所述第一矩阵的长度生成的数据路径控制信号。
因为第四移位寄存器与第三移位寄存器是级联的,所以当第四移位寄存器中的元素进行移位的同时,第三移位寄存器中的元素也要随之相应地移位,但是第三移位寄存器的移位只是简单的连动反应,并不涉及特定的规则。
按上述过程进行的级联移位,为保证不同长度的乘法的正确运算奠定了基础。
进一步地,本实施例中,所述按照预设的第二规则,将移位后的级联移位寄存器中的元素与所述第一移位寄存器中最右端的元素进行模乘运算的具体过程为:
将所述第三移位寄存器和第四移位寄存器中从第二位开始相同位置中的元素分别进行逻辑异或运算;
具体过程为:从第二位开始,第三移位寄存器中的第二位对应第四移位寄存器中的第二位,依次类推建立相同位置中元素间的对应关系,再分别将两个对应位置中存储的元素进行逻辑异或运算。
将所述逻辑异或运算的结果分别与所述第一移位寄存器中最右一位中的元素进行逻辑与运算;
将所述逻辑与运算的结果与已存储的初始值为0的结果矩阵中的元素进行逻辑异或运算,并将运算结果替代原来结果矩阵中的元素。
这种模乘运算方法,采用了并行计算的模式,有效地减小了算法复杂度,同时降低了硬件实现的难度。
在本实施例中,在基本步骤的基础上,可以分别单独采用上述限定的按照预设的第一规则控制所述级联移位寄存器中的元素右移一位的方法或按照预设的第二规则,将移位后的级联移位寄存器中的元素与所述第一移位寄存器中最右端的元素进行模乘运算的方法,也可以两者都采用。
矩阵间的乘法运算与矩阵的表达形式有着一定的关系,对于表达形式简单的矩阵的运算也更简单,因此在上述实施例的基础上,在进行乘法前,可以将矩阵变换到一种简单而又规律的表达形式,计算完后再变回原来的形式。
本发明公开的又一种乘法器控制方法,所述乘法器具有:左对齐倒序存储第一矩阵中元素的第一移位寄存器;左对齐倒序存储第二矩阵中元素的第二移位寄存器;包括相连的第三移位寄存器和第四移位寄存器的级联移位寄存器,所述第三移位寄存器和第四移位寄存器分别右对齐正序存储所述第二相乘矩阵中的元素,其余的位置存储0值;
如图2所示,所述方法包括以下步骤:
S201:计算出II型优化正规基表示的矩阵中的元素与预设的基表示的矩阵中的元素间对应的位置信息,并依据所述位置信息,将待变换矩阵中的元素选择到相应的位置,以完成所述第一矩阵和第二矩阵分别由II型优化正规基的表达形式变换到以预设的基表达的形式;
其中,预设的基可以优选但并不限于标准基的移位形式N′。
S202:在外部开始信号触发下,依据所述第一矩阵的长度生成移位控制信号指示所述第一、二移位寄存器将存储的矩阵元素右对齐,并且,按照预设的第一规则控制所述级联移位寄存器中的元素右移一位;
在每个时钟周期内,控制所述第一、二移位寄存器中的元素右移一位,且根据所述第一规则将所述级联移位寄存器中的元素右移一位,并按照预设的第二规则,将移位后的级联移位寄存器中的元素与所述第一移位寄存器中最右端的元素进行模乘运算;
当所述时钟周期的个数等于所述第一矩阵的长度值时,控制运算停止,得到结果矩阵中的元素值;
S203:将所述结果矩阵中的元素值变换到以II型优化正规基表达的形式。
本实施例公开的方法,具体到针对以II型优化正规基表达的不同长度矩阵的乘法运算,与上述实施例相比,增加了矩阵基变换的过程,将由II型优化正规基表达的矩阵转换到预设的基表达的形式,使得变换后的矩阵具有规律的表达形式,以便于后续的乘法运算。
与上述乘法器控制方法相对应的乘法器也可以有两种形式:
本发明公开的一种乘法器,包括:
左对齐倒序存储第一矩阵中元素的第一移位寄存器;
左对齐倒序存储第二矩阵中元素的第二移位寄存器;
包括相连的第三移位寄存器和第四移位寄存器的级联移位寄存器,所述第三移位寄存器和第四移位寄存器分别右对齐正序存储所述第二相乘矩阵中的元素,其余的位置存储0值;
在外部开始信号触发下,依据所述第一矩阵的长度生成移位控制信号指示第一、二移位寄存器将存储的矩阵元素右对齐,并且,根按照预设第一规则控制所述级联移位寄存器中的元素右移一位;以及,在每个时钟周期内,控制所述第一、二移位寄存器右移一位元素,且根据所述第一规则将所述级联移位寄存器中的元素右移一位,并按照预设的第二规则,将移位后的级联移位寄存器中的元素与所述第一桶形移位寄存器中最右端的元素进行模乘运算;当所述时钟周期的个数等于所述长度信号的值时,控制运算停止,以得到结果矩阵中的元素值的控制单元。
进一步地,本实施例中的乘法器还包括:与所述第四移位寄存器中的除最右一位外一一对应的移位运算模块,所述移位运算模块包括:
将依据所述第一矩阵的长度生成的数据路径控制信号与所述第二移位寄存器的最右一位中的元素进行逻辑与运算的逻辑与运算单元;
将所述第四移位寄存器对应位置中的元素与所述逻辑与运算的结果进行逻辑异或运算,得到移位结果,将所述移位结果存储到对应位置的后一位的逻辑异或运算单元。
所述移位运算模块在控制单元的控制下,完成级联移位的过程,为不同长度的乘法运算提供了硬件的支持。
进一步地,本实施例中的乘法器还包括:与所述第三移位寄存器中从第二位开始一一对应的模乘运算模块,包括,将所述第三移位寄存器和第四移位寄存器中相同位置中的元素分别进行逻辑异或运算的第一逻辑异或运算单元;
将所述逻辑异或运算的结果与所述第一移位寄存器中最右一位中的元素进行逻辑与运算的逻辑与运算单元;
将所述逻辑与运算的结果与已存储的初始值为0的结果矩阵中的元素进行逻辑异或运算,并将运算结果替代原来结果矩阵中的元素的第二逻辑异或运算单元。
所述模乘运算模块与第三移位寄存器中的元素一一对应,可实现并行算法。
上述限定的移位运算模块和模乘运算模块均为实现乘法器功能的优选方式,本实施例中,可以分别单独选用其一,也可以同时选用。两者同时选用为本发明最优的实施方式,如图3所示,乘法器包括:第一移位寄存器301、第二移位寄存器302、第三移位寄存器303、第四移位寄存器304、控制单元305、移位运算模块306和模乘运算模块307。
在上述实施例的基础上,乘法器还可包括用于进行基变换的电路。
本发明公开的又一种乘法器,包括:
基变换电路,用于计算出II型优化正规基表示的矩阵中的元素与预设的基表示的矩阵中的元素间对应的位置信息,并依据所述位置信息,将待变换矩阵中的元素选择到相应的位置,以完成所述待变换矩阵在II型优化正规基与预设的基之间的变换;
如上述实施例所述的乘法器,用于完成所述预设的基表示的第一矩阵和第二矩阵间的乘法运算。
本实施例与上述实施例相比,增加了用于实现基变换的电路,使乘法运算更简便,乘法器的结构更简单。
进一步地,本实施例所述的乘法器中,如图4所示,所述基变换电路包括:计算出II型优化正规基表示的矩阵中的元素与预设的基表示的矩阵中的元素间对应的位置信息的微处理器401;
用于依据所述位置信息,将待变换矩阵中的元素选择到相应的位置,以完成所述待变换矩阵在II型优化正规基与预设的基之间变换的变换电路402。
其中,所述变换电路如图5所示,包括:
存储待变换的矩阵中的元素的存储寄存器501;
接收所述计算出的II型优化正规基表示的矩阵中的元素与预设的基表示的矩阵中的元素间对应的位置信息的配置寄存器502;
依据所述位置信息,将待变换矩阵中的元素选择到相应的位置,以完成所述待变换矩阵在II型优化正规基与预设的基之间的变换的多路选择器503。
这里将基变换电路的硬件结构细致划分,实现了电路结构的模块化,更易于应用和实现。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种乘法器控制方法,其特征在于,所述乘法器具有:左对齐倒序存储第一矩阵中元素的第一移位寄存器;左对齐倒序存储第二矩阵中元素的第二移位寄存器;包括相连的第三移位寄存器和第四移位寄存器的级联移位寄存器,所述第三移位寄存器和第四移位寄存器分别右对齐正序存储所述第二相乘矩阵中的元素,其余的位置存储0值;
所述方法包括:
在外部开始信号触发下,依据所述第一矩阵的长度生成的移位控制信号指示所述第一、二移位寄存器将存储的矩阵元素右对齐,其中移位控制信号包含的移位长度值具体为:第一或第二移位寄存器的长度减去第一或第二矩阵的长度后的数值;并且,按照预设的第一规则控制所述级联移位寄存器中的元素右移一位;
具体为:
将依据所述第一矩阵的长度生成的数据路径控制信号与所述第二移位寄存器的最右一位中的元素进行逻辑与运算;
将所述第四移位寄存器中除最右一位外的每个位置中的元素分别与所述逻辑与运算的结果进行逻辑异或运算,得到移位结果,将所述移位结果分别存储到当前对应位置的后一位;
在每个时钟周期内,控制所述第一、二移位寄存器中的元素右移一位,且根据所述第一规则将所述级联移位寄存器中的元素右移一位,并按照预设的第二规则,将移位后的级联移位寄存器中的元素与所述第一移位寄存器中最右端的元素进行模乘运算;
具体为:
分别将所述第三移位寄存器和第四移位寄存器中从第二位开始相同位置中的元素分别进行逻辑异或运算;
将所述逻辑异或运算的结果分别与所述第一移位寄存器中最右一位中的元素进行逻辑与运算;
将所述逻辑与运算的结果与已存储的初始值为0的结果矩阵中的元素进行逻辑异或运算,并将运算结果替代原来结果矩阵中的元素;
当所述时钟周期的个数等于所述第一矩阵的长度值时,控制运算停止,得到结果矩阵中的元素值。
2.一种乘法器控制方法,其特征在于,所述乘法器具有:左对齐倒序存储第一矩阵中元素的第一移位寄存器;左对齐倒序存储第二矩阵中元素的第二移位寄存器;包括相连的第三移位寄存器和第四移位寄存器的级联移位寄存器,所述第三移位寄存器和第四移位寄存器分别右对齐正序存储所述第二相乘矩阵中的元素,其余的位置存储0值;
所述方法包括:
计算出II型优化正规基表示的矩阵中的元素与预设的基表示的矩阵中的元素间对应的位置信息,并依据所述位置信息,将待变换矩阵中的元素选择到相应的位置,以完成所述第一矩阵和第二矩阵分别由II型优化正规基的表达形式变换到以预设的基表达的形式;
在外部开始信号触发下,依据所述第一矩阵的长度生成移位控制信号指示所述第一、二移位寄存器将存储的矩阵元素右对齐,其中移位控制信号包含的移位长度值具体为:第一或第二移位寄存器的长度减去第一或第二矩阵的长度后的数值;并且,按照预设的第一规则控制所述级联移位寄存器中的元素右移一位,具体为:
将依据所述第一矩阵的长度生成的数据路径控制信号与所述第二移位寄存器的最右一位中的元素进行逻辑与运算;
将所述第四移位寄存器中除最右一位外的每个位置中的元素分别与所述逻辑与运算的结果进行逻辑异或运算,得到移位结果,将所述移位结果分别存储到当前对应位置的后一位;
在每个时钟周期内,控制所述第一、二移位寄存器中的元素右移一位,且根据所述第一规则将所述级联移位寄存器中的元素右移一位,并按照预设的第二规则,将移位后的级联移位寄存器中的元素与所述第一移位寄存器中最右端的元素进行模乘运算;
具体为:
分别将所述第三移位寄存器和第四移位寄存器中从第二位开始相同位置中的元素分别进行逻辑异或运算;
将所述逻辑异或运算的结果分别与所述第一移位寄存器中最右一位中的元素进行逻辑与运算;
将所述逻辑与运算的结果与已存储的初始值为0的结果矩阵中的元素进行逻辑异或运算,并将运算结果替代原来结果矩阵中的元素;
当所述时钟周期的个数等于所述第一矩阵的长度值时,控制运算停止,得到结果矩阵中的元素值;
将所述结果矩阵中的元素值变换到以II型优化正规基表达的形式。
3.一种乘法器,其特征在于,包括:
左对齐倒序存储第一矩阵中元素的第一移位寄存器;
左对齐倒序存储第二矩阵中元素的第二移位寄存器;
包括相连的第三移位寄存器和第四移位寄存器的级联移位寄存器,所述第三移位寄存器和第四移位寄存器分别右对齐正序存储所述第二相乘矩阵中的元素,其余的位置存储0值;
在外部开始信号触发下,依据所述第一矩阵的长度生成移位控制信号指示第一、二移位寄存器将存储的矩阵元素右对齐,其中移位控制信号包含的移位长度值具体为:第一或第二移位寄存器的长度减去第一或第二矩阵的长度后的数值;并且,按照预设第一规则控制所述级联移位寄存器中的元素右移一位;
具体为:
将依据所述第一矩阵的长度生成的数据路径控制信号与所述第二移位寄存器的最右一位中的元素进行逻辑与运算;
将所述第四移位寄存器中除最右一位外的每个位置中的元素分别与所述逻辑与运算的结果进行逻辑异或运算,得到移位结果,将所述移位结果分别存储到当前对应位置的后一位;
以及,在每个时钟周期内,控制所述第一、二移位寄存器右移一位元素,且根据所述第一规则将所述级联移位寄存器中的元素右移一位,并按照预设的第二规则,将移位后的级联移位寄存器中的元素与所述第一桶形移位寄存器中最右端的元素进行模乘运算;具体为:
分别将所述第三移位寄存器和第四移位寄存器中从第二位开始相同位置中的元素分别进行逻辑异或运算;
将所述逻辑异或运算的结果分别与所述第一移位寄存器中最右一位中的元素进行逻辑与运算;
将所述逻辑与运算的结果与已存储的初始值为0的结果矩阵中的元素进行逻辑异或运算,并将运算结果替代原来结果矩阵中的元素;
当所述时钟周期的个数等于所述长度信号的值时,控制运算停止,以得到结果矩阵中的元素值的控制单元。
4.根据权利要求3所述的乘法器,其特征在于,还包括:
与所述第四移位寄存器中的除最右一位外一一对应的移位运算模块,所述移位运算模块包括:
将依据所述第一矩阵的长度生成的数据路径控制信号与所述第二移位寄存器的最右一位中的元素进行逻辑与运算的逻辑与运算单元;
将所述第四移位寄存器对应位置中的元素与所述逻辑与运算的结果进行逻辑异或运算,得到移位结果,将所述移位结果存储到对应位置的后一位的逻辑异或运算单元。
5.根据权利要求3所述的乘法器,其特征在于,还包括:
与所述第三移位寄存器中从第二位开始一一对应的模乘运算模块,包括将所述第三移位寄存器和第四移位寄存器中相同位置中的元素分别进行逻辑异或运算的第一逻辑异或运算单元;
将所述逻辑异或运算的结果与所述第一移位寄存器中最右一位中的元素进行逻辑与运算的逻辑与运算单元;
将所述逻辑与运算的结果与已存储的初始值为0的结果矩阵中的元素进行逻辑异或运算,并将运算结果替代原来结果矩阵中的元素的第二逻辑异或运算单元。
6.一种乘法器,其特征在于,包括:
基变换电路,用于计算出II型优化正规基表示的矩阵中的元素与预设的基表示的矩阵中的元素间对应的位置信息,并依据所述位置信息,将待变换矩阵中的元素选择到相应的位置,以完成所述待变换矩阵在II型优化正规基与预设的基之间的变换;
如权利要求5所述的乘法器,用于完成所述预设的基表示的第一矩阵和第二矩阵间的乘法运算。
7.根据权利要求6所述的乘法器,其特征在于,所述基变换电路包括:,
计算出II型优化正规基表示的矩阵中的元素与预设的基表示的矩阵中的元素间对应的位置信息的微处理器;
用于依据所述位置信息,将待变换矩阵中的元素选择到相应的位置,以完成所述待变换矩阵在II型优化正规基与预设的基之间变换的变换电路。
8.根据权利要求7所述的乘法器,其特征在于,所述变换电路包括:
存储待变换的矩阵中的元素的存储寄存器;
接收所述计算出的II型优化正规基表示的矩阵中的元素与预设的基表示的矩阵中的元素间对应的位置信息的配置寄存器;
依据所述位置信息,将待变换矩阵中的元素选择到相应的位置,以完成所述待变换矩阵在II型优化正规基与预设的基之间的变换的多路选择器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110304520.8A CN102510329B (zh) | 2011-09-29 | 2011-09-29 | 一种乘法器及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110304520.8A CN102510329B (zh) | 2011-09-29 | 2011-09-29 | 一种乘法器及其控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102510329A CN102510329A (zh) | 2012-06-20 |
CN102510329B true CN102510329B (zh) | 2014-08-13 |
Family
ID=46222383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110304520.8A Expired - Fee Related CN102510329B (zh) | 2011-09-29 | 2011-09-29 | 一种乘法器及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102510329B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107066423A (zh) * | 2016-11-07 | 2017-08-18 | 复旦大学 | 一种有限输入定点数矩阵乘法器的优化方法 |
CN109600215B (zh) * | 2018-12-07 | 2021-09-24 | 北京宏思电子技术有限责任公司 | 一种分组加密算法的高效实现方法和高效实现装置 |
CN110888601B (zh) * | 2019-11-14 | 2023-05-19 | 中国电子科技集团公司第五十四研究所 | 一种基于ram ip核的移位寄存器实现方法 |
CN111079081B (zh) * | 2019-12-16 | 2021-02-12 | 海光信息技术股份有限公司 | 一种矩阵乘法器、数据处理方法、集成电路器件及处理器 |
CN112527241B (zh) * | 2020-12-10 | 2023-08-08 | 深圳市紫光同创电子有限公司 | 并行有限域乘法装置 |
CN113836851B (zh) * | 2021-09-23 | 2024-08-09 | 山东华翼微电子技术股份有限公司 | 一种ⅱ型最优正规基与多项式基转换电路 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826142A (zh) * | 2010-04-19 | 2010-09-08 | 中国人民解放军信息工程大学 | 一种可重构椭圆曲线密码处理器 |
-
2011
- 2011-09-29 CN CN201110304520.8A patent/CN102510329B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826142A (zh) * | 2010-04-19 | 2010-09-08 | 中国人民解放军信息工程大学 | 一种可重构椭圆曲线密码处理器 |
Non-Patent Citations (9)
Title |
---|
Ahmadi,M..a high speed word level finite field multiplier using reordered normal basis.《Circuits and Systems》.2008,全文. * |
design and implementation of reconfigurable arithmetic unit over GF(2m);Xue-tao WEI,Zi-bin DAI,Tao CHEN;《Solid-State and integrated Circuit Technology》;20061026;全文 * |
F_2n上基于ONB的椭圆曲线乘法器的设计与实现;朱璇等;《微电子学与计算机》;20050820;第22卷(第7期);全文 * |
Huapeng Wu * |
Namin,A.H. * |
Xue-tao WEI,Zi-bin DAI,Tao CHEN.design and implementation of reconfigurable arithmetic unit over GF(2m).《Solid-State and integrated Circuit Technology》.2006,全文. |
基于II型ONB并行乘法器的设计与实现;齐鹏等;《计算机工程》;20090220;全文 * |
朱璇等.F_2n上基于ONB的椭圆曲线乘法器的设计与实现.《微电子学与计算机》.2005,第22卷(第7期),全文. |
齐鹏等.基于II型ONB并行乘法器的设计与实现.《计算机工程》.2009,全文. |
Also Published As
Publication number | Publication date |
---|---|
CN102510329A (zh) | 2012-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102510329B (zh) | 一种乘法器及其控制方法 | |
CN101782845B (zh) | 一种椭圆曲线密码的高速运算装置和方法 | |
CN101527615A (zh) | 一种循环冗余校验crc码的实现方法和装置 | |
CN111008003B (zh) | 数据处理器、方法、芯片及电子设备 | |
CN103067025B (zh) | 基于块行循环的cmmb中ldpc编码器和编码方法 | |
CN104679474A (zh) | 有限域gf(2^227)上的乘法器及模乘算法 | |
CN101043284B (zh) | 一种宽带码分多址系统中turbo编码器内的交织器 | |
CN102788891A (zh) | 一种复杂的波形序列发生器 | |
CN105227259A (zh) | 一种m序列并行产生方法和装置 | |
CN101630244B (zh) | 一种流水线型椭圆曲线双标量乘法系统及方法 | |
CN103176948A (zh) | 一种低成本的单精度初等函数运算加速器 | |
CN102891689B (zh) | 一种错误位置多项式求解方法及装置 | |
CN102736892A (zh) | 一种非线性伪随机序列发生器 | |
US20230253032A1 (en) | In-memory computation device and in-memory computation method to perform multiplication operation in memory cell array according to bit orders | |
CN108809323A (zh) | 循环冗余校验码的生成方法和装置 | |
CN117234461A (zh) | 一种多通道伪随机噪声调制装置 | |
CN101840322B (zh) | 滤波器运算单元复用的方法和滤波器的运算系统 | |
CN103645887B (zh) | 双指令多浮点操作数加/减、乘、除运算控制器 | |
CN110647307B (zh) | 数据处理器、方法、芯片及电子设备 | |
CN210109789U (zh) | 数据处理器 | |
CN105319408B (zh) | 信号发生器和用于生成信号变化曲线的方法 | |
RU2690765C1 (ru) | Генератор периодических псевдослучайных двоичных последовательностей сложной структуры | |
JPS6186872A (ja) | たたみこみによるデイジタル信号のリアルタイム処理のための装置 | |
CN110688087A (zh) | 数据处理器、方法、芯片及电子设备 | |
CN115756388B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140813 Termination date: 20200929 |
|
CF01 | Termination of patent right due to non-payment of annual fee |