一种模(2<sup>n</sup>-3)乘法器的制作方法

文档序号:6430991阅读:198来源:国知局
专利名称:一种模(2<sup>n</sup>-3)乘法器的制作方法
技术领域
本发明属于计算机和集成电路领域,尤其涉及一种高速乘法器的设计。
背景技术
在介绍乘法器之前,先对余数系统(RNS,Residue Number Systems)做一说明。余数系统RNS是一种通过一组两两互质余数基的余数来描述数字的数值表征系统。由Im1, m2,…,mL}组成的L个余数基,整数X,0彡X < M,其中M = Hi1 Xm2X…XmL,在RNS系统中
有唯一的表示方式为X= Ix1, x2,…,、},6=〈Z〉m,,其中〈Z〉m,表示X对于模叫的余数。
在余数系统中两个操作数进行操作,操作符为Θ,可以定义为{Zl,z2,...,zJ = {Xl,&,-,xL} Θ {Yl, y2, ...,yL},其中=〈Χ;Θχ.〉 ,这里 θ
可以是模加法,模减法或模乘法。在余数系统中这些算术运算都是并行执行的,而且处理的都是很小的余数而不是一个很大的数。对于余数基的选择,{2η,2η-1,2η+1,2η_3,2η+3}是非常重要的运算通道,得到了广泛的应用,因为当考虑areaXtime2时,它们提供了最有效的电路,并且在余数系统与二进制的互转过程中也是最有效的。由此可见,对于模011- 乘法器的研究是非常有意义的。现有的模011- 乘法器,一般还是采用传统的Booth编码+Wallace (包含修正电路)+模加法器(包含修正电路)的结构,这种模乘法器由于使用了多次修正,尤其是Wallace中多次的修正。具体为现有的模乘法器采用Booth编码结构,会产生
\个部分积,而|个部分积需要进行取模011- 的修正处理,从而使得的部分积的数量
进一步增加到2 ^,在Wallace和模加法器中同样存在多次的对模的处理。 因而现有的面向模011- 乘法器耗费资源非常多,相应的也造成了运算速度非常低。

发明内容
本发明的目的是为了解决现有的面向模乘法器耗费资源,速度较低的问题,提出了一种模乘法器。需要说明的是,这里为了符合电子申请的要求,用“一种模乘法器”来代替“一种模011- 乘法器”,下文所述的模011- 乘法器与模乘法器含义等同。本发明的技术方案是一种模乘法器,包括n位二进制乘法器,η位 CSA(Carry Save Adder)压缩器阵列,带进位输入的η位二进制加法器,2位加法器,第一 η 位二进制加法器和第二 η位二进制加法器,设A和B为所述模乘法器的输入,共有η位,分别为[n_l 0],Y为所述模 (2η-3)乘法器的输出,共有η位,为[η-1:0],其中A[u:v],B[u:v]和Y[u:v]分别表示A、B和Y的第ν位到第u位对应的数,具体连接关系如下所述η位二进制乘法器的两个输入端分别用于输入所述模011- 乘法器的两个
3输入A和B,所述η位二进制乘法器的输出为P,其中P为2η位,为[2η_1:0];所述η位CSA压缩器阵列的三个输入端分别用于输入所述η位二进制乘法器的输
出P的对应位数据P [n-l:0]、P[2n-lη]禾口 P[2n-2:η#2η-1],
其中,#为连接符号,所述η位CSA压缩器阵列的两个输出端分别为当前位输出L[n_1:(l],进位输出H[n_1:(l];所述带进位输入的η位二进制加法器的两个加数输入端分别用于输入L[n_1:(l]和 HhH^进位输入端用于输入H[Iri],所述带进位输入的η位二进制加法器的输出为R[n:(l];所述2位加法器的两个入端分别用于输入所述二进制乘法器的输出对应位P[2lri] 和所述η位CSA压缩器阵列的进位输出对应位Hflrf的组合Ph-dHhi以及所述带进位输入的η位二进制加法器的输出的对应位组合R[n]#R[n]所述2位加法器的输出为G[2:q]所述第一 η位二进制加法器的两个输入端口分别用于输入所述带进位输入的η位二进制加法器的R[n_1:(l]和所述2位加法器的输出G[2:(i]所述第一 η位二进制加法器的输出为 Τ[η:0];所述第二 η位二进制加法器的两个输入端口分别用于输入所述第一 η位二进制加法器的输出的对应位Τ[η_1:(ι]和所述第一 η位二进制加法器的输出的对应位组合Τ[η]#Τ[η];所述第二 η位二进制加法器的输出即是所述模011- 乘法器的输出Y。本发明的有益效果本发明的模011- 乘法器采用二进制乘法的结果作为运算数 P再处理,从而把传统模乘法器的多次修正改为一次修正,大大减少了模乘法器的耗费资源,并提高了其运算速度。


图1是本发明的模(2n_3)乘法器结构示意图。
具体实施例方式下面结合附图和具体的实施例对本发明作进一步的阐述。本发明的模乘法器结构如图1所示,其中,1为η位二进制乘法器,2为η位 CSA(Carry Save Adder)压缩器阵列,3为带进位输入的η位二进制加法器,4为2位加法器,5为第一 η位二进制加法器,6为第二 η位二进制加法器,Α[η_1:0]和Β[η_1:(ι]为1的输入, r [2n-l:0] 为1的输出;P [η-1:0]、P [2n-l η]禾口 P [2n-2 :η#2η-1] 为2的输入,L 7Tm n[n-2: Oftn-I ]
为2的输
出;L[n_1:Q]、Hh^rf和Hm为3的输入,R[n:0]为3的输出屮^·^和R[n]#R[n]为4的输入,G[2:0]为4的输出;R[n_1:Q]和G[2:q]为5的输入,T[n:(1]为5的输出;T[n_1:Q]和T[n]#T[n]为 6的输入,Υ[η_1:(1]为6的输出。具体连接关系可参照发明内容部分。需要说明的是#为连接符号,例如,在 r [2n-2:n#2n-l] \ ‘ r [2n-l] 这一位为最低位,而在P这一位为最高位;在P
中,为高位,H[Iri]为低位。这里,模011- 乘法器采用二进制乘法的结果作为运算数P再处理,从而把传统模乘法器的多次修正改为一次修正。在本发明的实施中,可以采用硬件描述语言 (VHDL或Verilog)按照本发明所提出的模乘法器的结构设计出所需的模乘法器,便可进行仿真和综合。此乘法器在一个时钟周期内可以完成所需运算,简单高速高效,计算机仿真显示该乘法器相对于现有的模011- 乘法器在面积和速度方面都有很大的提尚。 本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为发明的保护范围并不局限于这样的特别陈述和实施例。凡是根据上述描述做出各种可能的等同替换或改变,均被认为属于本发明的权利要求的保护范围。
权利要求
1. 一种模乘法器,包括m位二进制乘法器,η位CSA压缩器阵列,带进位输入的η位二进制加法器,2位加法器,第一 η位二进制加法器和第二 η位二进制加法器, 设A和B为所述模乘法器的输入,共有η位,分别为[η-1:0],Υ为所述模乘法器的输出,共有η位,为[η-1:0],其中A[u:v],B[u:v]和Y[u:v]分别表示A、B和Y的第ν位到第u位对应的数,具体连接关系如下所述η位二进制乘法器的两个输入端分别用于输入所述模011- 乘法器的两个输入A 和B,所述η位二进制乘法器的输出为P,其中P为2η位,为[2η_1:0];所述η位CSA压缩器阵列的三个输入端分别用于输入所述η位二进制乘法器的输出P 的对应位数据P [n-l:0]、P [2n-l η]和 P [2n-2 :η#2η-1],其中,#为连接符号,所述η位CSA压缩器阵列的两个输出端分别为当前位输出L[n_1:(l],进位输出H[n_1:(l];所述带进位输入的η位二进制加法器的两个加数输入端分别用于输入L[n_1:(l]和 HhH^进位输入端用于输入H[Iri],所述带进位输入的η位二进制加法器的输出为R[n:(l]; 所述2位加法器的两个入端分别用于输入所述二进制乘法器的输出对应位P[2lri]和所述η位CSA压缩器阵列的进位输出对应位H[Iri]的组合Pbjffi^i以及所述带进位输入的 η位二进制加法器的输出的对应位组合R[n]#R[n]所述2位加法器的输出为G[2:(i];所述第一 η位二进制加法器的两个输入端口分别用于输入所述带进位输入的η位二进制加法器的R[n_1:(l]和所述2位加法器的输出G[2:(i]所述第一 η位二进制加法器的输出为 Τ[η:0]‘所述第二 η位二进制加法器的两个输入端口分别用于输入所述第一 η位二进制加法器的输出的对应位Τ[η_1:(ι]和所述第一 η位二进制加法器的输出的对应位组合Τ[η]#Τ[η]; 所述第二 η位二进制加法器的输出即是所述模011- 乘法器的输出Y。
全文摘要
本发明属于计算机和集成电路领域,公开了一种模(2n-3)乘法器。具体包括n位二进制乘法器(1),n位CSA压缩器阵列(2),带进位输入的n位二进制加法器(3),2位加法器(4),第一n位二进制加法器(5)和第二n位二进制加法器(6)。本发明的模(2n-3)乘法器采用二进制乘法的结果作为运算数P再处理,从而把传统模(2n-3)乘法器的多次修正改为一次修正,大大减少了模(2n-3)乘法器的耗费资源,并提高了其运算速度。
文档编号G06F7/52GK102253822SQ20111023659
公开日2011年11月23日 申请日期2011年8月17日 优先权日2011年8月17日
发明者刘辉华, 周婉婷, 李磊 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1