CN102929575B - 一种模(2n+3)乘法器 - Google Patents
一种模(2n+3)乘法器 Download PDFInfo
- Publication number
- CN102929575B CN102929575B CN201210419208.8A CN201210419208A CN102929575B CN 102929575 B CN102929575 B CN 102929575B CN 201210419208 A CN201210419208 A CN 201210419208A CN 102929575 B CN102929575 B CN 102929575B
- Authority
- CN
- China
- Prior art keywords
- output
- multiplier
- bit
- inverting device
- adder
- 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
- Complex Calculations (AREA)
Abstract
本发明公开了一种模乘法器,包括:n+1位二进制乘法器,n位反相器阵列,n位CSA压缩器阵列,第一n位二进制加法器,1位全加器,5位加法器,第一1位反相器,第二1位反相器,第三1位反相器,第二n位二进制加法器和第三n位二进制加法器。本发明的模(2n+3)乘法器采用二进制乘法的结果作为运算数再处理,从而把传统模(2n+3)乘法器的多次修正改为一次修正,大大减少了模(2n+3)乘法器的耗费资源,并提高了其运算速度。
Description
技术领域
本发明属于计算机和集成电路领域,尤其涉及一种高速乘法器的设计。
背景技术
在介绍乘法器之前,先对余数系统(RNS,Residue Number Systems)做一说明。余数系统RNS是一种通过一组两两互质余数基的余数来描述数字的数值表征系统。由{m1,m2,…,mL}组成的L个余数基,整数X,0≤X<M,其中M=m1×m2×…×mL,在RNS系统中有唯一的表示方式为X={x1,x2,…,xL},其中表示X对于模mi的余数。在余数系统中两个操作数进行操作,操作符为Θ,可以定义为:
{z1,z2,…,zL}={x1,x2,…,xL}Θ{y1,y2,…,yL},其中这里Θ可以是模加法,模减法或模乘法。在余数系统中这些算术运算都是并行执行的,而且处理的都是很小的余数而不是一个很大的数。
对于余数基的选择,{2n,2n-1,2n+1,2n-3,2n+3}是非常重要的运算通道,得到了广泛的应用,因为当考虑area×time2时,它们提供了最有效的电路,并且在余数系统与二进制的互转过程中也是最有效的,由此可见,对于模(2n+3)乘法器的研究是非常有意义的。
现有的模(2n+3)乘法器,一般还是采用传统的Booth编码+Wallace(包含修正电路)+模加法器(包含修正电路)的结构,这种模(2n+3)乘法器由于使用了多次修正,尤其是Wallace中多次的修正。具体为:现有的模(2n+3)乘法器采用Booth编码结构,会产生个部分积,而个部分积需要进行取模(2n+3)的修正处理,从而使得的部分积的数量进一步增加,在Wallace和模(2n+3)加法器中同样存在多次的对模(2n+3)的处理。因而现有的面向模(2n+3)乘法器耗费资源非常多,相应的也造成了运算速度非常低。
发明内容
本发明的目的是为了解决现有的面向模(2n+3)乘法器耗费资源,速度较低的问题,提出了一种模乘法器。
本发明的技术方案是:一种模(2n+3)乘法器,包括:n+1位二进制乘法器,n位反相器 阵列,n位CSA(Carry Save Adder,进位存储加法器)压缩器阵列,第一n位二进制加法器,1位全加器,5位加法器,第一1位反相器,第二1位反相器,第三1位反相器,第二n位二进制加法器和第三n位二进制加法器,其中,所述n≥6;
设A和B为所述模(2n+3)乘法器的输入,共有n+1位,分别为[n:0],Y为所述模(2n+3)乘法器的输出,共有n+1位,为[n:0],其中,A[u:v],B[u:v]和Y[u:v]分别表示A、B和Y的第v位到第u位对应的数,具体连接关系如下:
所述n+1位二进制乘法器的两个输入端分别用于输入所述模(2n+3)乘法器的两个输入A和B,所述n+1位二进制乘法器的输出为P,其中,P共有2n+2位,为[2n+1:0];
所述n位反相器阵列的输入端用于输入所述n+1位二进制乘法器的输出P的对应位数据P[2n-1:n],所述n位反相器阵列的输出为
所述n位CSA压缩器阵列的三个输入端用于输入所述n+1位二进制乘法器的输出P的对应位数据P[n-1:0]和P[2n-1],以及所述n位反相器阵列的输出所述n位CSA压缩器阵列的两个输出端分别为:当前位输出L[n-1:0],进位输出H[n-1:0];所述n位CSA压缩器阵列执行的运算为:
其中#为连接符;
所述第一1位反相器的输入端用于输入CSA压缩器阵列进位输出的对应位H[n-1],所述第一1位反相器的输出为
所述1位全加器的输入端分别用于输入所述n+1位二进制乘法器的输出P的对应位数据P[2n-1]和P[2n+1],以及所述第一1位反相器的输出所述1位全加器的输出为W[2:1],其中,W[1]为当前位输出,W[2]为进位输出;
所述第一n位加法器的两个加数输入端分别用于输入CSA压缩器阵列进位输出的对应位L[n-1:0]和H[n-2:0],以及所述第一1位反相器的输出所述第一n位二进制加法器的输出为R[n:0];
所述第二1位反相器的输入端用于输入所述第一n位二进制加法器输出的对应位R[n],所述第二1位反相器的输出为
所述5位加法器的输入端用于输入所述1位全加器的输出W[2:1],所述n+1位二进制乘法器的输出P的对应位数据P[2n+1:n],以及所述第二1位反相器的输出所述5位加法器的输出为G[5:0];所述5位加法器执行的运算为:
所述第二n位制加法器的两个加数输入端分别用于输入所述第一n位二进制加法器的输出R[n-1:0],以及所述5位加法器的输出G[5:0],所述第二n位二进制加法器的输出为T[n:0];
所述第三1位反相器的输入端用于输入所述第二n位二进制加法器输出的对应位T[n],所述第三1位反相器的输出为
所述第三n位制加法器的两个加数输入端分别用于输入所述第二n位二进制加法器的输出T[n-1:0],以及所述第三1位反相器的输出所述第三n位二进制加法器的输出Y[n:0]即是所述模(2n+3)乘法器的输出。
本发明的有益效果:本发明的模(2n+3)乘法器采用二进制乘法的结果P作为运算数再处理,从而把传统模(2n+3)乘法器的多次修正改为一次修正,大大减少了模(2n+3)乘法器的耗费资源,并提高了其运算速度。
附图说明
图1是本发明的模(2n+3)乘法器结构示意图。
具体实施方式
下面结合附图和具体的实施例对本发明作进一步的阐述。
本发明的模(2n+3)乘法器结构如图1所示,其中,n≥6,1为n+1位二进制乘法器,2为n位反相器阵列,3为n位CSA压缩器阵列,4为第一1位反相器,5为第一n位二进制加法器,6为1位全加器,7为第二1位反相器,8为5位加法器,9为第二n位二进制加法器,10为第三1位反相器,11为第三n位二进制加法器,A[n:0]和B[n:0]为n+1位二进制乘法器1的输入,P[2n+1:0]为n+1位二进制乘法器1的输出;P[2n-1:n]为n位反相器阵列2的输入,为n位反相器阵列2的输出; 和P[n-1:0]为n位CSA压缩器阵列3的输入,L[n-1:0]和H[n-1:0]为n位CSA压缩器阵列3的输出;H[n-1]为1位反相器4的输入,为1位反相器4的输出;L[n-1:0]和为n位二进制加法器5的输入,R[n:0]为n位二进制加法器5的输出;P[2n-1],P[2n+1],和为1位全加器6的输入,W[2:1]为1位全加器6的输出;R[n]为1位反相器7的输入,为1位反相器7的输出;W[2:1],P[2n+1:n]和为5位加法器8的输入,G[5:0]为5位加法器8的输出;R[n-1:0]和G[5:0]为n位二进制加法器9的输入,T[n:0]为n位二进制加法器9的输出;T[n]为1位反相器10的输入,为1位反相器10的输出;T[n-1:0]和为n位二进制加法器11的输入,Y[n:0]为n位二进制加法器11的输出,即是所述模(2n+3)乘法器的输出。
具体连接关系可参照发明内容部分。需要说明的是:#为连接符号,例如,在 中,P[2n-1]这一位为最低位,而在中,这一位为最高位,P[n]这一位为最低位。
这里,模(2n+3)乘法器,采用二进制乘法的结果作为运算数P再处理,从而把传统模(2n+3)乘法器的多次修正改为一次修正。在本发明的实施中,可以采用硬件描述语言(VHDL或Verilog)按照本发明所提出的模(2n+3)乘法器的结构设计出所需的模(2n+3)乘法器,便可进行仿真和综合。此乘法器在一个时钟周期内可以完成所需运算,简单高速高效,计算机仿真显示该乘法器相对于现有的模(2n+3)乘法器在面积和速度方面都有很大的提高。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为发明的保护范围并不局限于这样的特别陈述和实施例。凡是根据上述描述做出各种可能的等同替换或改变,均被认为属于本发明的权利要求的保护范围。
Claims (1)
1.一种模(2n+3)乘法器,包括:n+1位二进制乘法器,n位反相器阵列,n位CSA(CarrySave Adder)压缩器阵列,第一n位二进制加法器,1位全加器,5位加法器,第一1位反相器,第二1位反相器,第三1位反相器,第二n位二进制加法器和第三n位二进制加法器,其中,所述n≥6;
设A和B为所述模(2n+3)乘法器的输入,共有n+1位,分别为[n:0],Y为所述模(2n+3)乘法器的输出,共有n+1位,为[n:0],其中,A[u:v],B[u:v]和Y[u:v]分别表示A、B和Y的第v位到第u位对应的数,具体连接关系如下:
所述n+1位二进制乘法器的两个输入端分别用于输入所述模(2n+3)乘法器的两个输入A和B,所述n+1位二进制乘法器的输出为P,其中,P共有2n+2位,为[2n+1:0];
所述n位反相器阵列的输入端用于输入所述n+1位二进制乘法器的输出P的对应位数据P[2n-1:n],所述n位反相器阵列的输出为
所述n位CSA压缩器阵列的三个输入端用于输入所述n+1位二进制乘法器的输出P的对应位数据P[n-1:0]和P[2n-1],以及所述n位反相器阵列的输出所述n位CSA压缩器阵列的两个输出端分别为:当前位输出L[n-1:0],进位输出H[n-1:0];所述n位CSA压缩器阵列执行的运算为:
所述第一1位反相器的输入端用于输入CSA压缩器阵列进位输出的对应位H[n-1],所述第一1位反相器的输出为
所述1位全加器的输入端分别用于输入所述n+1位二进制乘法器的输出P的对应位数据P[2n-1]和P[2n+1],以及所述第一1位反相器的输出所述1位全加器的输出为W[2:1],其中,W[1]为当前位输出,W[2]为进位输出;
所述第一n位加法器的两个加数输入端分别用于输入CSA压缩器阵列进位输出的对应位L[n-1:0]和H[n-2:0],以及所述第一1位反相器的输出所述第一n位二进制加法器的输出为R[n:0];
所述第二1位反相器的输入端用于输入所述第一n位二进制加法器输出的对应位R[n],所述第二1位反相器的输出为
所述5位加法器的输入端用于输入所述1位全加器的输出W[2:1],所述n+1位二进制乘法器的输出P的对应位数据P[2n+1:n],以及所述第二1位反相器的输出所述5位加法器的输出为G[5:0];所述5位加法器执行的运算为:
所述第二n位制加法器的两个加数输入端分别用于输入所述第一n位二进制加法器的输出R[n-1:0],以及所述5位加法器的输出G[5:0],所述第二n位二进制加法器的输出为T[n:0];
所述第三1位反相器的输入端用于输入所述第二n位二进制加法器输出的对应位T[n],所述第三1位反相器的输出为
所述第三n位制加法器的两个加数输入端分别用于输入所述第二n位二进制加法器的输出T[n-1:0],以及所述第三1位反相器的输出所述第三n位二进制加法器的输出Y[n:0]即是所述模(2n+3)乘法器的输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210419208.8A CN102929575B (zh) | 2012-10-29 | 2012-10-29 | 一种模(2n+3)乘法器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210419208.8A CN102929575B (zh) | 2012-10-29 | 2012-10-29 | 一种模(2n+3)乘法器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102929575A CN102929575A (zh) | 2013-02-13 |
CN102929575B true CN102929575B (zh) | 2015-04-15 |
Family
ID=47644389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210419208.8A Expired - Fee Related CN102929575B (zh) | 2012-10-29 | 2012-10-29 | 一种模(2n+3)乘法器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102929575B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103699729B (zh) * | 2013-12-17 | 2017-01-18 | 电子科技大学 | 模乘法器 |
CN106873941B (zh) * | 2017-01-19 | 2019-05-21 | 西安交通大学 | 一种快速模乘和模平方电路及其实现方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030056012A (ko) * | 2001-12-27 | 2003-07-04 | 주식회사 하이닉스반도체 | 비동기식 덧셈 곱셈 부동 소수점 연산기 |
CN100527072C (zh) * | 2003-03-14 | 2009-08-12 | 三星电子株式会社 | 用于执行蒙哥马利型模乘法的装置及方法 |
CN102253822A (zh) * | 2011-08-17 | 2011-11-23 | 电子科技大学 | 一种模(2n-3)乘法器 |
-
2012
- 2012-10-29 CN CN201210419208.8A patent/CN102929575B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030056012A (ko) * | 2001-12-27 | 2003-07-04 | 주식회사 하이닉스반도체 | 비동기식 덧셈 곱셈 부동 소수점 연산기 |
CN100527072C (zh) * | 2003-03-14 | 2009-08-12 | 三星电子株式会社 | 用于执行蒙哥马利型模乘法的装置及方法 |
CN102253822A (zh) * | 2011-08-17 | 2011-11-23 | 电子科技大学 | 一种模(2n-3)乘法器 |
Non-Patent Citations (3)
Title |
---|
A Generalization of a Fast RNS Conversion for a Fast RNS Conversion for a New 4-Modulus Base;Laurent-Stéphane Didier et al.;《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS—II: EXPRESS BRIEFS》;20090130;第56卷(第1期);46-50 * |
A new high dynamic range moduli set with efficient reverse converter;Arash Hariri;《Computers and Mathematics with Applications》;20081231;第55卷(第4期);660–668 * |
An improved architecture for designing modulo (2n-2p+1) multipliers;Lei Li et al.;《IEICE Electronics Express》;20120717;第9卷(第14期);1141-1146 * |
Also Published As
Publication number | Publication date |
---|---|
CN102929575A (zh) | 2013-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106951211B (zh) | 一种可重构定浮点通用乘法器 | |
CN106126189A (zh) | 微处理器中的方法 | |
CN102681815B (zh) | 用加法器树状结构的有符号乘累加算法的方法 | |
Sutikno | An efficient implementation of the non restoring square root algorithm in gate level | |
CN102253822B (zh) | 一种模(2^n-3)乘法器 | |
CN109388373B (zh) | 用于低功耗内核的乘除法器 | |
CN101986259B (zh) | 无符号定点除法器 | |
CN102184086B (zh) | 一种Booth编码器及乘法器 | |
CN101295237B (zh) | 求商和余数的高速除法器 | |
CN102929575B (zh) | 一种模(2n+3)乘法器 | |
CN102955682B (zh) | 一种模(23n-2n)乘法器 | |
CN103699729B (zh) | 模乘法器 | |
CN103577638B (zh) | 一种模乘法器 | |
CN102930097B (zh) | 一种rns比较器 | |
CN103324785B (zh) | 一种模加法器 | |
CN102880445B (zh) | 一种模减法器 | |
Shende et al. | Quaternary Adder Design Using VHDL | |
Sutikno et al. | Strategies for FPGA implementation of non-restoring square root algorithm | |
CN103001736B (zh) | 一种基于cmmb的rs编码系统及其实现方法 | |
CN101091157B (zh) | 用于处理数字数据的数字处理器和方法 | |
RU2633142C1 (ru) | Устройство для вычисления функции √x2 + y2 | |
KUMARI et al. | High Performance ALU Design Implementation using Modified Wallace MAC with Realization of Multi-Operand Adders | |
SRISATYA et al. | Design and Implementation of Modified Wallace MAC Based ALU using Multi-Operand Adders | |
CN103176768A (zh) | 计算经典模乘的模乘方法以及可扩展模乘器 | |
Gujral et al. | Comparison between simulations of different RBSD Adder Circuits |
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: 20150415 Termination date: 20161029 |
|
CF01 | Termination of patent right due to non-payment of annual fee |