一种用于数论变换乘法的基64运算电路制造技术

技术编号:25707897 阅读:34 留言:0更新日期:2020-09-23 02:55
本发明专利技术公开了一种用于数论变换乘法的基64运算电路,包括64个操作数生成模块,对64个输入数据的每一个进行高位填零后以3比特为一个字分割为22个字,合并输出1路64个96比特操作数、48路22个192比特操作数、3路32个192比特操作数以及12路24个192比特操作数,每个操作数生成模块连接一个操作数模加模块,对每个操作数生成模块的输出的操作数进行模加;模p模块,将每个操作数模加模块输出的数据对质数p取模输出,质数p=2

【技术实现步骤摘要】
一种用于数论变换乘法的基64运算电路
本专利技术涉及一种运算电路,特别是涉及一种用于数论变换乘法的基64运算电路。
技术介绍
大整数乘法除了传统的长乘法,还有算法。算法的核心思想是:对两个长度为n的大整数分别做一次环上的FFT,转换为频域分布;对两个整数的频域分布做点乘,得到乘积的频域分布;对乘积的频域分布做一次环上的IFFT,由此得到乘积。使用数论变换而不是离散傅立叶变换,可以通过使用模块化算术而不是浮点算术来避免舍入误差问题。数论变换乘法特指算法中使用数论变换的乘法。数论变换和逆数论变换作为数论变换乘法中的运算核心,占据了NTT乘法中90%以上的运算量和运算时间,优化数论变换的速度、面积和功耗,对于NTT乘法的整体性能,具有关键性的影响。一个16777216点的数论变换可以被分解成4级基64运算单元和旋转因子乘法的运算。其中旋转因子的计算可以事先计算好并存于ROM中,需要使用时直接读取即可。基64运算的计算量占数论变换的90%以上,它的优化对数论变换的效率至关重要。大整数乘法器FPGA设计与实现,谢星等,电子与信息学报,2019年。该论文描述了一种基于算法的大整数乘法器硬件架构。论文将65536点的数论变换,分解成64点与1024点的形式,1024点数论变换使用2级基32运算串行构建的结构。其基64运算包括64个移位单元和树形大数求和处理单元。论文所采用的“0”填充的方式,使得每个树形大数求和处理单元,需要处理64个192位的数据,整个基64运算需要处理64*64=4096个操作数。该基64运算电路效率不够高,导致电路实现后所需的功耗和资源比较大。
技术实现思路
针对上述现有技术的缺陷,本专利技术提供了一种用于数论变换乘法的基64运算电路,解决基64运算电路功耗及资源开销大的问题。本专利技术技术方案如下:一种用于数论变换乘法的基64运算电路,包括:操作数生成模块,设有64个,64个操作数生成模块编号为Xk,k=0,1,2,…,63,每个所述操作数生成模块包括分割电路、合并电路和填充零电路,所述分割电路对64个输入数据的每一个进行高位填零后以3比特为一个字分割为22个字,分割后的输入数据为xn,m,0≤n<64,0≤m<22,所述合并电路将所述分割为64×22个字的输入数据形成操作数输出,64个所述输出操作数生成模块的所述分割电路中1个输出为64个96比特操作数、48个输出为22个192比特操作数、3个输出为32个192比特操作数以及12个输出为24个192比特操作数输出,所述填充零电路将所述合并电路输出操作数时的空位填入“0”;操作数模加模块,对每个所述操作数生成模块的输出的操作数进行模加;以及,模p模块,实现将每个所述操作数模加模块输出的数据对质数p取模后输出,所述质数p=264-232+1。进一步地,所述输出为64个96比特操作数的操作数生成模块编号为X0,每个96比特操作数的后22个字为输入的数据,前10个字被分配为零。进一步地,所述输出为22个192比特操作数的操作数生成模块编号为Xk,k为奇数,每个操作数OPm由32个不同的输入数据xn,m,0≤n<64,使用相同的字索引m,0≤m<22合并而成,xn,m的最低位在OPm中的位置,是由3×(m+nk)(mod192)计算所得。进一步地,所述输出为32个192比特操作数的操作数生成模块编号为X16、X32和X48,32个操作数分为16组,每组2个操作数,OP0和OP1是一组,OP2和OP3是一组,以此类推,每组内的操作数OP2j和OP2j+1由88个不同的输入数据xn,m,4j≤n≤4j+3,0≤m<22合并而成,xn,m的最低位在OP2j和OP2j+1中的位置,是由3×(m+nk)(mod192)计算所得,xn,m优先置于OP2j中,如OP2j中该位置已经被占用,则置于OP2j+1中对应的位置。进一步地,所述输出为24个192比特操作数的操作数生成模块编号为除X0、X16、X32和X48外的Xk,k为可被4或8整除的偶数,24个操作数分为4组,OP0至OP5是一组,OP6至OP11是一组,以此类推,每组内的操作数OP6j至OP6j+5由352个不同的输入数据xn,m,16j≤n≤16j+15,0≤m<22合并而成,xn,m的最低位在OP6j至OP6j+5中的位置,是由3×(m+nk)(mod192)计算所得,xn,m以4个字或8个字为周期合并操作数,优先置于OP6j至OP6j+5中索引号较小的OP中。进一步地,所述输出为22个192比特操作数的操作数生成模块编号为除X0、X16、X32和X48外的Xk,k为不可被4或8整除的偶数,22个操作数分为2组,OP0至OP10是一组,OP11至OP21是一组,每组内的操作数OP11j至OP11j+10由704个不同的输入数据xn,m,32j≤n≤32j+31,0≤m<22合并而成,xn,m的最低位在OP11j至OP11j+10中的位置,是由3×(m+nk)(mod192)计算所得,xn,m以2个字为周期合并操作数,优先置于OP11j至OP11j+10中索引号较小的OP中。本专利技术所提供的技术方案的优点在于:利用操作数移位后的“零填充”的空位,合并数论变换乘法中基64运算的操作数,将操作数从现有技术的4096个合并到1504个,大幅减小了计算开销,提高了基64运算的计算效率。附图说明图1为本专利技术用于数论变换乘法的基64运算电路的总体结构示意图。图2为操作数生成模块中分割电路对输入数据填充零分割方法示意图。图3为操作数生成模块中分割电路示意图。图4为X0操作数生成模块的合并电路得到的输出数据示意图。图5为X0操作数生成模块的合并电路示意图。图6为X1操作数生成模块的合并电路合并后的操作数。图7为X1操作数生成模块中0号操作数OP0的合并电路。图8为X16操作数生成模块的合并电路合并后的操作数。图9为X4操作数生成模块的合并电路合并后的操作数。图10为X2操作数生成模块的合并电路合并后的操作数。图11为64操作数模加模块的电路示意图。图12为22操作数模加模块的电路示意图。图13为32操作数模加模块的电路示意图。图14为24操作数模加模块的电路示意图。具体实施方式下面结合实施例对本专利技术作进一步说明,应理解这些实施例仅用于说明本专利技术而不用于限制本专利技术的范围,在阅读了本专利技术之后,本领域技术人员对本专利技术的各种等同形式的修改均落于本申请所附权利要求所限定的范围内。基64运算的公式如下其中,0≤k<64,p是质数,W64是第64个单位根。在质数p为Solinas质数,p=264-232+1。该质数支持高效的取模操作:2192modp=1,296modp=-1,264modp=232-1。利用该质数计算得到的单位根W6本文档来自技高网
...

【技术保护点】
1.一种用于数论变换乘法的基64运算电路,其特征在于,操作数生成模块,设有64个,64个操作数生成模块编号为Xk,k=0,1,2,...,63,每个所述操作数生成模块包括分割电路、合并电路和填充零电路,所述分割电路对64个输入数据的每一个进行高位填零后以3比特为一个字分割为22个字,分割后的输入数据为x

【技术特征摘要】
1.一种用于数论变换乘法的基64运算电路,其特征在于,操作数生成模块,设有64个,64个操作数生成模块编号为Xk,k=0,1,2,...,63,每个所述操作数生成模块包括分割电路、合并电路和填充零电路,所述分割电路对64个输入数据的每一个进行高位填零后以3比特为一个字分割为22个字,分割后的输入数据为xn,m,0≤n<64,0≤m<22,所述合并电路将所述分割为64×22个字的输入数据形成操作数输出,64个所述输出操作数生成模块的所述分割电路中1个输出为64个96比特操作数、48个输出为22个192比特操作数、3个输出为32个192比特操作数以及12个输出为24个192比特操作数输出,所述填充零电路将所述合并电路输出操作数时的空位填入“0”;操作数模加模块,对每个所述操作数生成模块的输出的操作数进行模加;
以及,
模p模块,实现将每个所述操作数模加模块输出的数据对质数p取模后输出,所述质数p=264-232+1。


2.根据权利要求1所述的用于数论变换乘法的基64运算电路,其特征在于,所述输出为64个96比特操作数的操作数生成模块编号为X0,每个96比特操作数的后22个字为输入的数据,前10个字被分配为零。


3.根据权利要求1所述的用于数论变换乘法的基64运算电路,其特征在于,所述输出为22个192比特操作数的操作数生成模块编号为Xk,k为奇数,每个操作数OPm由64个不同的输入数据xn,m,0≤n<64,使用相同的字索引m,0≤m<22合并而成,xn,m的最低位在OPm中的位置,是由3×(m+nk)(mod192)计算所得。


4.根据权利要求1所述的用于数论变换乘法的基64运算电路,其特征在于,所述输出为32个192比特操作数的操作数生成模块编号为X16、X32和X48,32个操作...

【专利技术属性】
技术研发人员:华斯亮卞九辉张静亚张慧国刘玉申徐健
申请(专利权)人:常熟理工学院
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1