- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
常用加法器的比较
所谓的加法过程是最重要、最基本的过程。所有其他基本的计算过程,包括减、乘、除、模乘,都可以概括为加法运行。但因为加法运算存在进位问题,使得某一位计算结果的得出和所有低于他的位相关。因此,为了减少进位传输所耗的时间,提高计算速度,人们设计了多种类型的加法器,如跳跃进位加法器(Carry-SKip Adders,CSKA)、进位选择加法器(Carry-SeLect Adders,CSLA)、超前进位加法器(Carry-Lookahead Adders,CLA)等。他们都是利用各位之间的状态(进位传递函数Q、进位产生函数P等) 来预先产生高位的进位信号,从而减少进位从低位向高位传递的时间。在这里以16位加法器为例,对上述几种加法器中的串行进位加法器、超前进位加法器及改进型超前进位加法器的结构及性能做比较。
1 几种增强剂的结构和性能的比较
1.1 加法器的个数
串行进位加法器的每一位加和值都依赖于上一位的进位信号,即进位信号是串行的经过加法器的每一位。所以进位链的长度与整个加法器的位数有关:加法器位数越宽,进位链越长,计算延迟越大。串行进位加法器的计算函数如下:
sum=a⊕b⊕ccout=p|qcip=abq=a|bsum=a⊕b⊕ccout=p|qcip=abq=a|b
串行进位加法器的进位链是串行的,进位链的长度直接与加法器的位宽有关。所以当加法器位宽很大时,进位计算的时延也将随之变得很大。
1.2 超前进位加法器级联
超前进位加法器,不同于串行加法器,对于每一位的结果是否有进位,不需要等前一位的进位结果计算出来,而是只要输入A,B一旦到来,就可以经过一系列逻辑计算,同时计算出各位是否有进位。理论上讲,无论多少位的加法器都可以设计成超前进位加法器,可是,当位数大于4位的时候,超前进位逻辑就变得异常复杂,而失去的实用的意义,所在大多数做到4位。而多于4位的要求,就用多个超前进位加法器级联实现。
首先做两个函数:进位产生函数Pi和进位传送函数Qi。
Pi=AiBi,Qi=Ai|Bi,则第0级进位,他的进位端C0就是电路的进位输入Ci。
第1级,C1=P1|Q1C0;第2级,C2=P2|Q2C1=
P2|Q2(P1|Q1C0)=P2|Q2P1|Q2Q1C0;第3级,C3=P3|Q3C2=P3|Q3(P2|Q2P1|Q2Q1C0)=P3|P2Q3|P1Q3Q2|Q3Q2Q1C0;第4级,C4=P4|Q4C3=P4|Q4(P3|P2Q3|P1Q3Q2|Q3Q2Q1C0)=P4|Q4P3|Q4P2Q3|Q4P1Q3Q2|Q4Q3Q2Q1C0(这里,PiQi代表PiQi,下同)。
这样经过函数Pi和函数Qi产生一级时延,经过计算C产生一级时延,则A,B输入一旦产生,首先经过两级时延算出第1轮进位值C′,不过这个值是不正确的。C′再次送入加法器,进行第2轮2级时延的计算,算出第2轮进位值C,这一次是正确的进位值。这里的4个4位超前进位加法器仍是串行的,所以一次计算经过4级加法器,一级加法器有2级时延,所以1次计算一共经过8级时延。相比串行加法器里的16级时延,速度提高很多。
1.3 下一级进位计算模块
对于上述超前进位加法器,运算速度虽然比串行进位加法器快许多,但仍不是最优的,因为他还是没有脱离串行进位的模式。实际上,还可以将4个超前进位计算模块进一步组合,使当A,B及Ci信号到来的时候,就可以一步计算出各位间的进位信息。
该模块输入P,Q,Pi=AiBi,Qi=Ai|Bi,C0=Ci,输出进位结果C,及中间变量值QX1和PX1。其中:
QX1=Q4Q3Q2Q1
PX1=P4|Q4P3|Q4Q3P2|Q4Q3Q2P1
其中PX,QX为下一级进位计算的输入。
每经过1个进位计算模块,即经过2级门延时,4个模块的输出进入下一级计算又经过2级门延时,最后再返回这4个模块计算,又经过2级门延时。即一共经过6级时延,可以计算出16位的进位信息。
改进的超前进位加法器的进位产生模块结构图如图1所示。
其中:
QX1=Q4Q3Q2Q1,QX2=Q8Q7Q6Q5
QX3=Q12Q11Q10Q9,QX4=Q16Q15Q14Q13
PX1=P4|Q4P3|Q4Q3P2|Q4Q3Q2P1
PX2=P8|Q8P7|Q8Q7P6|Q8Q7Q6P5
PX3=P12|Q12P11|Q12Q11P10|Q12Q11Q10P9
PX4=P16|Q16P15|Q16Q15P14|Q16Q15Q14P13
C4=PX1|QX1C0
C8=PX2|QX2PX1|QX2QX1C0
C12=PX3|QX3PX2|QX3QX2PX1|
QX3QX2QX1C0
C16=PX4|QX4PX3|QX4QX3PX2|
QX4QX3QX2PX1|QX4QX3QX2QX1C0
1
原创力文档


文档评论(0)