The invention discloses a fast modular multiplication and square circuit and its realization method, the circuit consists of a set of M bits left three bit shift register QU, three sets of M bits of the two input and gate array AND1, AND2, AND3, four groups of full adder array FA1, FA2, FA3, FA4, m+4 the register Q and ROM unit of a 32 * m composition to enough for m large number of bits binary multiplication or square and die on prime P reduction, 3 in each clock cycle, after m/3+2 cycles can be modular multiplication and the square of the results, if M is not a multiple of 3 can be based on the high fill factor of 0 until the 3.
【技术实现步骤摘要】
一种快速模乘和模平方电路及其实现方法
本专利技术涉及集成电路设计领域,涉及一种用于大数模乘和模平方的快速模约减电路,特别涉及一种快速模乘和模平方电路及其实现方法。
技术介绍
目前对于大数模乘和模平方的模约减过程,通常采用的方案是先计算出乘法和平方的结果再对大素数P进行取模操作,这个过程中就需要专门的取模电路,而一般乘法或平方的结果的数据位宽是P的2倍,因此对大数来说其乘法或平方的取模模块需要的电路面积很大,运算速度慢,电路功耗还很大。
技术实现思路
本专利技术提供了一种快速模乘和模平方电路及其实现方法,该电路能对够对m位的二进制大数进行乘法或平方的同时对大素数P进行模约减,在每一个时钟周期内处理3位,经过m/3+2个时钟周期就能得到模乘和模平方的结果,若m不是3的倍数可以通过对其高位补0直至其为3的倍数。为实现上述目的,本专利技术采用以下技术方案:一种快速模乘和模平方电路,包括:一组m位的左移三位移位寄存器QU,三组m位的二输入与门阵列AND1、AND2、AND3,四组全加器阵列FA1、FA2、FA3、FA4,m+4位的结果寄存器Q和一个32×m位的ROM单元;其中,m位的左移三位移位寄存器QU,用于存放乘数,并将其第m位命名为U2,第m-1位命名成U1,第m-2位命名成U0;二输入与门阵AND1输入端为U2与被乘数N左移2位的结果;二输入与门阵AND2输入端为U1与被乘数N左移1位的结果;二输入与门阵AND3输入端为U0与被乘数N;ROM单元,用于存放素数P的补码Pb的特定倍数,其输出端口设为X,全加器阵列,用于产生部分积,其中全加器阵列FA1的 ...
【技术保护点】
一种快速模乘和模平方电路,其特征在于,包括:一组m位的左移三位移位寄存器QU,三组m位的二输入与门阵列AND1、AND2、AND3,四组全加器阵列FA1、FA2、FA3、FA4,m+4位的结果寄存器Q和一个32×m位的ROM单元;其中,m位的左移三位移位寄存器QU,用于存放乘数,并将其第m位命名为U2,第m‑1位命名成U1,第m‑2位命名成U0;二输入与门阵AND1输入端为U2与被乘数N左移2位的结果;二输入与门阵AND2输入端为U1与被乘数N左移1位的结果;二输入与门阵AND3输入端为U0与被乘数N;ROM单元,用于存放素数P的补码Pb的特定倍数,其输出端口设为X,全加器阵列,用于产生部分积,其中全加器阵列FA1的两个输入分别为与门阵列AND1的输出端和与门阵列AND2的输出端,全加器阵列FA2的输入端分别为与门阵列AND3的输出端和ROM的输出端X,全加器阵列FA3的输入端分别为全加器阵列FA1和FA2的和端口,全加器阵列FA4的输入端为结果寄存器Q左移三位的结果与全加器阵列FA2的和端口;m+4位的结果寄存器Q,用于存放运算过程中的部分积和最终的结果,其输入与全加器阵列FA4的和 ...
【技术特征摘要】
1.一种快速模乘和模平方电路,其特征在于,包括:一组m位的左移三位移位寄存器QU,三组m位的二输入与门阵列AND1、AND2、AND3,四组全加器阵列FA1、FA2、FA3、FA4,m+4位的结果寄存器Q和一个32×m位的ROM单元;其中,m位的左移三位移位寄存器QU,用于存放乘数,并将其第m位命名为U2,第m-1位命名成U1,第m-2位命名成U0;二输入与门阵AND1输入端为U2与被乘数N左移2位的结果;二输入与门阵AND2输入端为U1与被乘数N左移1位的结果;二输入与门阵AND3输入端为U0与被乘数N;ROM单元,用于存放素数P的补码Pb的特定倍数,其输出端口设为X,全加器阵列,用于产生部分积,其中全加器阵列FA1的两个输入分别为与门阵列AND1的输出端和与门阵列AND2的输出端,全加器阵列FA2的输入端分别为与门阵列AND3的输出端和ROM的输出端X,全加器阵列FA3的输入端分别为全加器阵列FA1和FA2的和端口,全加器阵列FA4的输入端为结果寄存器Q左移三位的结果与全加器阵列FA2的和端口;m+4位的结果寄存器Q,用于存放运算过程中的部分积和最终的结果,其输入与全加器阵列FA4的和端口相连,其高四位输出连接到ROM的地址位,低m位通过左移三位连接到全加器阵列FA...
【专利技术属性】
技术研发人员:李春泉,雷绍充,赵重阳,彭星宇,张云龙,
申请(专利权)人:西安交通大学,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。