一种用于模乘和模平方的快速模约简算法电路的制作方法

文档序号:6522597阅读:305来源:国知局
一种用于模乘和模平方的快速模约简算法电路的制作方法
【专利摘要】本发明公开了一种用于模乘和模平方的快速模约简算法电路,该电路结构包括乘法或平方的部分积产生电路,2个m+1位的二输入与门阵列,m+1个两级CSA加法单元,m+2个FA全加器单元,以及m+3个扫描触发器。本发明针对m位大素数P可以采取从高位到低位约简的方法,可以在乘法和平方运算的同时对其结果进行约简,从而避免了对乘法和平方结果单独进行约简的过程,减少了模乘和模平方的时间;同时,省去了专门的模约简电路模块,降低了电路面积。
【专利说明】一种用于模乘和模平方的快速模约简算法电路
【技术领域】
[0001]本发明涉及集成电路设计领域,具体涉及一种用于模乘和模平方的快速模约简算法电路。
【背景技术】
[0002]目前,对于大数模乘和模平方的模约简过程,通常采用的方案是先计算出乘法和平方的结果,再采用专门的模约简电路进行约简,该方案需要耗费专门的模约简模块和模约简时间。有鉴于此,有必要设计一种新型模约简算法,在乘法和平方运算的同时对其结果进行约简,解决上述问题。

【发明内容】

[0003]本发明的目的在于提供一种用于模乘和模平方的快速模约简算法电路,该电路能够针对m位大素数P从高位到低位约简,在乘法和平方运算的同时对其结果进行约简,从而避免了对乘法和平方结果单独进行约简的过程,减少了模乘和模平方的时间;同时,省去了专门的模约简电路模块,降低了电路面积。
[0004]为了达到上述目的,本发明所采用的技术方案是:包括乘法或平方的部分积产生电路、2个m+Ι位的二输入与门阵列、m+2位的全加器单元FA以及m+3位的扫描触发器;2个m+Ι位的二输入与门阵列的输出端上连接有用于将4个多位加数压缩成2个加数的m+1位的4-2压 缩器;二输入与门阵列的一个输入端分别与扫描触发器的第m+Ι位和第m+2位的输出端相连,另一个输入端与m位的大素数P的补码Pb相连;2个m+Ι位的二输入与门阵列的输出端、部分积产生电路的输出端以及扫描触发器前m+Ι位的输出端均连接到4-2压缩器的输入端上;4_2压缩器的输出端与全加器单元FA的输入端相连,全加器单元FA的结果输出端与扫描触发器的输入端相连;其中,160 ^ m ^ 15360。
[0005]所述的4-2压缩器为m+Ι位的两级加法单元CSA。
[0006]所述两级加法单元CSA的4个加数分别来自于:部分积产生电路的部分积、扫描触发器累加和的前m+Ι位以及2个二输入与门阵列的输出。
[0007]所述的二输入与门阵列包括m+Ι位的第一二输入与门阵列、m+Ι位的第二二输入与门阵列;扫描触发器的第m+Ι位的输出连接到第一二输入与门阵列的一个输入端上,m位的大素数P的补码Pb的第O位至第m-Ι位分别连接到第一二输入与门阵列的第O位至第m-Ι位的另一个输入端上,第一二输入与门阵列的第m位的另一个输入端接“O”;扫描触发器的第m+2位的输出连接到第二二输入与门阵列的一个输入端上,m位的大素数P的补码Pb的第O位至第m-Ι位分别连接到第二二输入与门阵列的第I位至第m位的另一个输入端上,第二二输入与门阵列的第O位的另一个输入端接“O”。
[0008]与现有技术相比,本发明具有以下有益效果:
[0009]在本发明中,该电路每经过一个时钟周期就可以累加一行部分积,同时约简掉上一次部分积累加和的最高位,输出结果左移。本发明针对m位大素数P采取从高位到低位约简的方法,可以在乘法和平方运算的同时对其结果进行约简,从而避免了对乘法和平方结果单独进行约简的过程,减少了模乘和模平方的时间;同时,省去了专门的模约简电路模块,降低了电路面积。
【专利附图】

【附图说明】
[0010]图1为本发明的电路结构示意图;
[0011]图2为本发明的具体电路图。
【具体实施方式】
[0012]下面结合附图对本发明作进一步详细的说明:
[0013]参见图1和图2,本发明包括乘法或平方的部分积产生电路、2个m+Ι位的二输入与门阵列、m+2位的全加器单元FA以及m+3位的扫描触发器;2个m+Ι位的二输入与门阵列的输出端上连接有用于将4个多位加数压缩成2个加数的m+Ι位的4-2压缩器,4_2压缩器为m+Ι位的两级加法单元CSA。两级加法单元CSA的4个加数分别来自于:部分积产生电路的部分积、扫描触发器累加和的前m+Ι位以及2个二输入与门阵列的输出。二输入与门阵列的一个输入端分别与扫描触发器的第m+Ι位和第m+2位的输出端相连,另一个输入端与m位的大素数P的补码Pb相连;2个m+Ι位的二输入与门阵列的输出端、部分积产生电路的输出端以及扫描触发器前m+Ι位的输出端均连接到4-2压缩器的输入端上;二输入与门阵列包括m+Ι位的第一二输入与门阵列、m+1位的第二二输入与门阵列;扫描触发器的第m+Ι位的输出连接到第一二输入与门阵列的一个输入端上,m位的大素数P的补码Pb的第O位至第m-Ι位分别连接到第一二输入与门阵列的第O位至第m-Ι位的另一个输入端上,第一二输入与门阵列的第m位的另一个输入端接“O”;扫描触发器的第m+2位的输出连接到第二二输入与门阵列的一个输入端上,m位的大素数P的补码Pb的第O位至第m-Ι位分别连接到第二二输入与门阵列的第I位至第m位的另一个输入端上,第二二输入与门阵列的第O位的另一个输入端接“O”。4-2压缩器的输出端与全加器单元FA的输入端相连,全加器单兀FA的结果输出端与扫描触发器的`输入端相连;其中,160 ^ m ^ 15360。
[0014]在本发明中,该电路每经过一个时钟周期就可以累加一行部分积,同时约简掉上一次部分积累加和的最高位,输出结果左移。
[0015]参见图2,初始化时RS=0,将m+3位寄存器全部置为O ;输出Q[m+2:0] =000…⑷…
000。工作时,RS=I, SE=I, Q[m+2]和Q[m+1]均为零,第一个有效时钟沿时,来自与门阵列的加数均为0,即第一次不需要约简,部分积累加和左移存入寄存器中;第二个有效时钟沿后,由最高两位的输出Q[m+2]和Q[m+1]控制两个与门阵列是否输出2Pb或Pb,从而进行约简。直到第m个时钟沿,最后一行乘法或平方的部分积累加完成。第m+2个时钟沿到来之前,将SE置为0,最多再经过两个时钟沿,乘法或平方的运算结果被约简至m位。
【权利要求】
1.一种用于模乘和模平方的快速模约简算法电路,其特征在于:包括乘法或平方的部分积产生电路、2个m+1位的二输入与门阵列、m+2位的全加器单元FA以及m+3位的扫描触发器;2个m+1位的二输入与门阵列的输出端上连接有用于将4个多位加数压缩成2个加数的m+1位的4-2压缩器;二输入与门阵列的一个输入端分别与扫描触发器的第m+1位和第m+2位的输出端相连,另一个输入端与m位的大素数P的补码Pb相连;2个m+1位的二输入与门阵列的输出端、部分积产生电路的输出端以及扫描触发器前m+Ι位的输出端均连接到4-2压缩器的输入端上;4-2压缩器的输出端与全加器单元FA的输入端相连,全加器单元FA的结果输出端与扫描触发器的输入端相连;其中,16015360。
2.根据权利要求1所述的用于模乘和模平方的快速模约简算法电路,其特征在于:所述的4-2压缩器为m+Ι位的两级加法单元CSA。
3.根据权利要求2所述的用于模乘和模平方的快速模约简算法电路,其特征在于:所述两级加法单元CSA的4个加数分别来自于:部分积产生电路的部分积、扫描触发器累加和的前m+Ι位以及2个二输入与门阵列的输出。
4.根据权利要求1所述的用于模乘和模平方的快速模约简算法电路,其特征在于:所述的二输入与门阵列包括m+Ι位的第一二输入与门阵列、m+1位的第二二输入与门阵列;扫描触发器的第m+Ι位的输出连接到第一二输入与门阵列的一个输入端上,m位的大素数P的补码Pb的第O位至第m-Ι位分别连接到第一二输入与门阵列的第O位至第m-Ι位的另一个输入端上,第一二输入与门阵列的第m位的另一个输入端接“O”;扫描触发器的第m+2位的输出连接到第二二输入与门阵列的一个输入端上,m位的大素数P的补码Pb的第O位至第m-Ι位分别连接到第二二输入与门阵列的第I位至第m位的另一个输入端上,第二二输入与门阵列的第O位的另一个输入端接“O”。
【文档编号】G06F7/575GK103699357SQ201310655820
【公开日】2014年4月2日 申请日期:2013年12月5日 优先权日:2013年12月5日
【发明者】雷绍充, 马璐钖, 魏晓彤 申请人:西安交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1