CN102930097B - 一种rns比较器 - Google Patents
一种rns比较器 Download PDFInfo
- Publication number
- CN102930097B CN102930097B CN201210418373.1A CN201210418373A CN102930097B CN 102930097 B CN102930097 B CN 102930097B CN 201210418373 A CN201210418373 A CN 201210418373A CN 102930097 B CN102930097 B CN 102930097B
- Authority
- CN
- China
- Prior art keywords
- output
- input
- inverting device
- totalizer
- carry
- 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
- Manipulation Of Pulses (AREA)
Abstract
本发明公开了一种RNS比较器,包括:第一n位反相器阵列,模2n加法器,第二n位反相器阵列,模2n-1加法器,第一n+1位反相器阵列,模2n+1加法器,第三n位反相器阵列,第二n+1位反相器阵列,二输入异或门,第一带循环进位的进位存储加法器,第二带循环进位的进位存储加法器,2n位二进制加法器,第一运算模块,第二运算模块,第一1位反相器,第二1位反相器,二输入与门。本发明的RNS比较器,直接在余数系统中进行减法运算,把余数系统中运算结果再转化到二进制系统,从而简化了比较的对比过程,减少了耗费的资源,也提高了运算速度。
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}是非常重要的运算通道,得到了广泛的应用,因为当考虑area×time2时,它们提供了最有效的电路,并且在余数系统与二进制的互转过程中也是最有效的。数值之间的比较,是运算系统中经常遇到的问题,因此对于面向的RNS比较器的研究是非常有意义的。
比较有效的两种比较器是参考文献E.Gholami,R.Farshidi,M.Hosseinzadeh,and H.Navi,“High speed residue number system comparison for the moduli set{2n,2n-1,2n+1},”J.Commun.Comput.,vol.6,no.3,pp.40–46,March 2009.和S.T.Eivazi,M.Hosseinzadeh,and O.Mirmotahari,“Fully parallel comparator for the moduli set{2n,2n-1,2n+1},”IEICEElectronics Express,vol.8,no.12,pp.897-901,June 2011分别提出的比较器。但是两种方法都是把需要比较的余数转化为二进制数进行再比较,从而需要两个余数系统到二进制系统的转化器,带来了耗费资源和速度较低的问题,而且后面的比较过程相对复杂。
发明内容
本发明的目的是为了解决现有的面向{2n,2n-1,2n+1}的RNS比较器耗费资源和速度较低的问题,提出了一种面向{2n,2n-1,2n+1}的RNS比较器。
本发明的技术方案是:一种RNS比较器,包括:第一n位反相器阵列,模2n加法器,第二n位反相器阵列,模2n-1加法器,第一n+1位反相器阵列,模2n+1加法器,第三n位反相器阵列,第二n+1位反相器阵列,二输入异或门,第一带循环进位的进位存储加法器,第二带循环进位的进位存储加法器,2n位二进制加法器,第一运算模块,第二运算模块,第一1位反相器,第二1位反相器,二输入与门;
设A和B为所述比较器的输入,其中,A={a1,a2,a3},B={b1,b2,b3},a1、a2、b1、b2为n位,a3、b3为n+1位;(A=B)、(A<B)和(A>B)为所述比较器的输出;
具体连接关系如下:
所述第一n位反相器阵列的输入端用于输入所述RNS比较器的输入B的对应余数b1,所述第一n位反相器阵列的输出为
所述模2n加法器的两个输入端分别用于输入所述RNS比较器的输入A的对应余数a1和所述第一n位反相器阵列的输出所述模2n加法器的进位输入端用于输入逻辑‘1’,所述模2n加法器的输出为d1;
所述第二n位反相器阵列的输入端用于输入所述RNS比较器的输入B的对应余数b2,所述第二n位反相器阵列的输出为
所述模2n-1加法器的两个输入端分别用于输入所述RNS比较器的输入A的对应余数a2和所述第二n位反相器阵列的输出所述模2n-1加法器的输出为d2;
第一n+1位反相器阵列的输入端用于输入所述RNS比较器的输入B的对应余数b3,所述第一n+1位反相器阵列的输出为
所述模2n+1加法器的两个输入端分别用于输入所述RNS比较器的输入A的对应余数a3和所述第一n+1位反相器阵列的输出所述模2n+1加法器的进位输入用于输入逻辑‘1’,所述模2n+1加法器的输出为d3;
所述第三n位反相器阵列的输入端用于输入模2n-1加法器的输出d2,所述第三n位反相器阵列的输出为
所述第二n+1位反相器阵列的输入端用于输入所述模2n+1加法器的输出d3,所述第二n+1位反相器阵列的输出为
所述二输入异或门的两个输入端分别用于输入所述模2n+1加法器的输出d3的对应位d3[n]和d3[0],所述二输入异或门的输出为T;
所述第一带循环进位的进位存储加法器的输入端分别用于输入所述模2n加法器的输出d1的对应位的组合U、所述第三n位反相器阵列的输出的对应位与逻辑‘1’的组合V、以及所述第二n+1位反相器阵列的输出的对应位与逻辑‘1’的组合-d3,所述第一带循环进位的进位存储加法器的当前位输出为L1,所述第一带循环进位的进位存储加法器的进位输出为H1,其中,U=d1[0]#d1[n-1:0]#d1[n-1:1], X[u:v]表示X的第v位到第u位对应的数,#为连接符号;
所述第二带循环进位的进位存储加法器的输入端分别用于输入所述第一带循环进位的进位存储加法器的当前位输出L1和进位输出H1,以及所述模2n+1加法器的输出d3的对应位与所述二输入异或门的输出T的组合W,所述第二带循环进位的进位存储加法器的当前位输出为L2,所述第二带循环进位的进位存储加法器的进位输出为H2,其中,
W=T#d3[n-1:1]#T#d3[n-1:1];
所述2n位二进制加法器的输入端分别用于输入所述第二带循环进位的进位存储加法器的当前位输出L2和进位输出H2,所述2n位二进制加法器的输出为S;
所述第一运算模块的输入端分别用于输入所述模2n加法器的输出d1,所述模2n-1加法器的输出d2和所述模2n+1加法器的输出d3,所述第一运算模块的输出为(A=B),其中,第一运算模块执行的运算为:
所述第二运算模块的输入分别用于输入2n位二进制加法器的输出S和所述模2n加法器的输出d1,输出为(A≤B),第二运算模块执行的运算为:
所述第一1位反相器的输入端用于输入所述第二运算模块的输出(A≤B),所述第一1位反相器的输出为(A>B);
所述第二1位反相器的输入端用于输入所述第一运算模块的输出(A=B),所述第二1位反相器的输出为
所述二输入与门的两个输入端分别用于输入所述第二运算模块的输出(A≤B)和所述第二1位反相器的输出所述二输入与门的输出为(A<B)。
本发明的有益效果:本发明的RNS比较器,直接在余数系统中进行减法运算,把余数系统中运算结果再转化到二进制系统,从而简化了比较的对比过程,减少了耗费的资源,也提高了运算速度。
附图说明
图1是本发明的RNS比较器结构示意图。
具体实施方式
下面结合附图和具体的实施例对本发明作进一步的阐述。
本发明的RNS比较器结构如图1所示,其中,1为第一n位反相器阵列,2为模2n加法器,3为第二n位反相器阵列,4为模2n-1加法器,5为第一n+1位反相器阵列,6为模2n+1加法器,7为第三n位反相器阵列,8为第二n+1位反相器阵列,9为二输入异或门,10为第一带循环进位(End-Around Carry,EAC)的进位存储加法器(Carry Save Adder,CSA),11为第一运算模块C,12为第二带带循环进位的进位存储加法器,13为2n位二进制加法器,14为第二运算模块E,15为第一1位反相器,16为二输入与门,17为第二1位反相器;
b1为n位反相器阵列1的输入,为n位反相器阵列1的输出;a1和为模2n加法器2的输入,d1为模2n加法器2的输出;b2为n位反相器阵列3的输入,为n位反相器阵列3的输出;a2和为2n-1加法器4的输入,d2为2n-1加法器4的输出;b3为5的输入,为5的输出;a3和为6的输入,d3为6的输出;d2为7的输入,为7的输出;d3为8的输入,为8的输出;d3[n]和d3[0]为9的输入,T为9的输出;U,V和-d3为10的输入,L1和H1为10的输出;d1,d2和d3为11的输入,(A=B)为11的输出;L1,H1和W为12的输入,L2和H2为12的输出;L2和H2为13的输入,S为13的输出;d1和S为14的输入,(A≤B)为14的输出;(A≤B)为15的输入,(A>B)为15的输出;(A=B)为16的输入,为16的输出;(A≤B)和为17的输入,(A<B)为17的输出。
需要说明的是:本领域的技术人员可按照发明内容所描述的第一运算模块C和第二运算模块E具体执行的运算,结合现有技术可以设计出所需要的运算模块C和E。
具体连接关系可参照发明内容部分。需要说明的是:#为连接符号,例如,在d1[0]#d1[n-1:1]中,d1[0]这一位为最高位,而在d1[n-1:1]中,d1[n-1]这一位为最高位,d1[1]这一位为最低位。
这里,本发明的RNS比较器,直接在余数系统中进行减法运算,把余数系统中运算结果再转化到二进制系统,从而简化了比较的对比过程。在本发明的实施中,可以采用硬件描述语言(VHDL或Verilog)按照本发明所提出的RNS比较器的结构设计出所需的RNS比较器,便可进行仿真和综合。此RNS比较器简单高速高效,计算机仿真显示该RNS比较器相对于现有的RNS比较器在面积和速度方面都有很大的提高。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为发明的保护范围并不局限于这样的特别陈述和实施例。凡是根据上述描述做出各种可能的等同替换或改变,均被认为属于本发明的权利要求的保护范围。
Claims (1)
1.一种RNS比较器,包括:第一n位反相器阵列,模2n加法器,第二n位反相器阵列,模2n-1加法器,第一n+1位反相器阵列,模2n+1加法器,第三n位反相器阵列,第二n+1位反相器阵列,二输入异或门,第一带循环进位的进位存储加法器,第二带循环进位的进位存储加法器,2n位二进制加法器,第一运算模块,第二运算模块,第一1位反相器,第二1位反相器,二输入与门;
设A和B为所述比较器的输入,其中,A={a1,a2,a3},B={b1,b2,b3},a1、a2、b1、b2为n位,a3、b3为n+1位;(A=B)、(A<B)和(A>B)为所述比较器的输出;
具体连接关系如下:
所述第一n位反相器阵列的输入端用于输入所述RNS比较器的输入B的对应余数b1,所述第一n位反相器阵列的输出为
所述模2n加法器的两个输入端分别用于输入所述RNS比较器的输入A的对应余数a1和所述第一n位反相器阵列的输出所述模2n加法器的进位输入端用于输入逻辑‘1’,所述模2n加法器的输出为d1;
所述第二n位反相器阵列的输入端用于输入所述RNS比较器的输入B的对应余数b2,所述第二n位反相器阵列的输出为
所述模2n-1加法器的两个输入端分别用于输入所述RNS比较器的输入A的对应余数a2和所述第二n位反相器阵列的输出所述模2n-1加法器的输出为d2;
第一n+1位反相器阵列的输入端用于输入所述RNS比较器的输入B的对应余数b3,所述第一n+1位反相器阵列的输出为
所述模2n+1加法器的两个输入端分别用于输入所述RNS比较器的输入A的对应余数a3和所述第一n+1位反相器阵列的输出所述模2n+1加法器的进位输入用于输入逻辑‘1’,所述模2n+1加法器的输出为d3;
所述第三n位反相器阵列的输入端用于输入模2n-1加法器的输出d2,所述第三n位反相器阵列的输出为
所述第二n+1位反相器阵列的输入端用于输入所述模2n+1加法器的输出d3,所述第二n+1位反相器阵列的输出为
所述二输入异或门的两个输入端分别用于输入所述模2n+1加法器的输出d3的对应位d3[n]和d3[0],所述二输入异或门的输出为T;
所述第一带循环进位的进位存储加法器的输入端分别用于输入所述模2n加法器的输出d1的对应位的组合U、所述第三n位反相器阵列的输出的对应位与逻辑‘1’的组合V、以及所述第二n+1位反相器阵列的输出的对应位与逻辑‘1’的组合-d3,所述第一带循环进位的进位存储加法器的当前位输出为L1,所述第一带循环进位的进位存储加法器的进位输出为H1,其中,U=d1[0]#d1[n-1:0]#d1[n-1:1], X[u:v]表示X的第v位到第u位对应的数,#为连接符号;
所述第二带循环进位的进位存储加法器的输入端分别用于输入所述第一带循环进位的进位存储加法器的当前位输出L1和进位输出H1,以及所述模2n+1加法器的输出d3的对应位与所述二输入异或门的输出T的组合W,所述第二带循环进位的进位存储加法器的当前位输出为L2,所述第二带循环进位的进位存储加法器的进位输出为H2,其中,
W=T#d3[n-1:1]#T#d3[n-1:1];
所述2n位二进制加法器的输入端分别用于输入所述第二带循环进位的进位存储加法器的当前位输出L2和进位输出H2,所述2n位二进制加法器的输出为S;
所述第一运算模块的输入端分别用于输入所述模2n加法器的输出d1,所述模2n-1加法器的输出d2和所述模2n+1加法器的输出d3,所述第一运算模块的输出为(A=B),其中,第一运算模块执行的运算为:
所述第二运算模块的输入分别用于输入2n位二进制加法器的输出S和所述模2n加法器的输出d1,输出为(A≤B),第二运算模块执行的运算为:
所述第一1位反相器的输入端用于输入所述第二运算模块的输出(A≤B),所述第一1位反相器的输出为(A>B);
所述第二1位反相器的输入端用于输入所述第一运算模块的输出(A=B),所述第二1位反相器的输出为
所述二输入与门的两个输入端分别用于输入所述第二运算模块的输出(A≤B)和所述第二1位反相器的输出所述二输入与门的输出为(A<B)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210418373.1A CN102930097B (zh) | 2012-10-29 | 2012-10-29 | 一种rns比较器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210418373.1A CN102930097B (zh) | 2012-10-29 | 2012-10-29 | 一种rns比较器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102930097A CN102930097A (zh) | 2013-02-13 |
CN102930097B true CN102930097B (zh) | 2014-11-05 |
Family
ID=47644894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210418373.1A Expired - Fee Related CN102930097B (zh) | 2012-10-29 | 2012-10-29 | 一种rns比较器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102930097B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2557444C1 (ru) * | 2014-07-16 | 2015-07-20 | Федеральное государственное бюджетное образовательное учреждение высшего образования "Вятский государственный университет" | Устройство для сравнения чисел в системе остаточных классов на основе интервально-позиционных характеристик |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1119308A (zh) * | 1994-02-07 | 1996-03-27 | 华中理工大学 | 余数制系统中的一种求余网络和余/+转换器电路 |
US5935201A (en) * | 1995-12-22 | 1999-08-10 | Stmicroelectronics, S.R.L. | Multiplier circuit for multiplication operation between binary and twos complement numbers |
CN102184161B (zh) * | 2011-05-24 | 2013-11-20 | 电子科技大学 | 基于余数系统的矩阵求逆装置及方法 |
CN102253822B (zh) * | 2011-08-17 | 2013-07-17 | 电子科技大学 | 一种模(2^n-3)乘法器 |
-
2012
- 2012-10-29 CN CN201210418373.1A patent/CN102930097B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN102930097A (zh) | 2013-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102722352B (zh) | 一种Booth乘法器 | |
CN105045560A (zh) | 一种定点乘加运算方法和装置 | |
Nikhil et al. | Design of low power barrel shifter and vedic multiplier with kogge-stone adder using reversible logic gates | |
CN101986259B (zh) | 无符号定点除法器 | |
CN102184086B (zh) | 一种Booth编码器及乘法器 | |
CN102253822B (zh) | 一种模(2^n-3)乘法器 | |
CN102930097B (zh) | 一种rns比较器 | |
CN102955682B (zh) | 一种模(23n-2n)乘法器 | |
CN102929575B (zh) | 一种模(2n+3)乘法器 | |
CN104238992A (zh) | 一种高性能非精确浮点加法器及其应用方法 | |
CN106547514B (zh) | 一种基于时钟拉伸技术的高能效二进制加法器 | |
CN103577638B (zh) | 一种模乘法器 | |
CN102880445B (zh) | 一种模减法器 | |
Beohar et al. | VHDL implementation of self-timed 32-bit floating point multiplier with carry look ahead adder | |
CN103324785B (zh) | 一种模加法器 | |
CN105468330A (zh) | 一种基于条件进位选择原理的16位加法器 | |
CN101944009A (zh) | 一种集成电路中除法器商的处理装置 | |
Phuse et al. | Design and Implementation of Different Multiplier Techniques and Efficient MAC Unit on FPGA | |
Hossain et al. | A fast and compact binary to BCD converter circuit | |
Pirlo | Non-modular operations of the residue number system: functions for computing | |
Yan et al. | Modified modular inversion algorithm for vlsi implementation | |
Sowmya et al. | Efficient RNS Realization of High-Speed Arithmetic Multiplier with Respect to Cryptographic Computation | |
Vollala et al. | Bit Forwarding Techniques for Efficient Modular Exponentiation | |
Fariddin et al. | Design of High Speed and Area efficient modified Kogge Stone Multiplier Using ZFL | |
Haidar et al. | A novel neural network ternary arithmetic logic unit |
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: 20141105 Termination date: 20151029 |
|
EXPY | Termination of patent right or utility model |