功能部件-CA

本文详细介绍了定点补码运算器的设计,包括先行进位加法器的逻辑实现,如一位全加器、串行和并行进位加法器的优化,并探讨了补码乘法器的设计原理和Booth算法。此外,还阐述了定点ALU的构造,如判断相等、判断大小和移位操作的逻辑。通过对补码减法算法的解析,展示了如何实现定点运算器的高效计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定点补码加法器设计

先行进位加法器

(1)一位全加器
1)引脚:
- 三个输入: A, B, Cin
- 两个输出: S, Cout
2)逻辑真值关系:
在这里插入图片描述
3)逻辑框图:
在这里插入图片描述

  • 需要2,3级门延迟:
    - 进位传递2级延迟;
    - 产生结果3级延迟;
  • 两级与非相当于与或:^ ( ^ ( AB ) ^ ( CD ) ) = AB+CD;

(2)串行进位加法器(以16位加法器为例):
在这里插入图片描述

  • 进位从低位到高位传送, 形成c16需要32级门延迟;
  • 延迟随位数增长线性增长;

(3)并行进位逻辑:
1)进位传递:

  • 推导:
    c i + 1 = a i b i + a i ∗ c i + b i ∗ c i = a i ∗ b i + ( a i + b i ) ∗ c i = g i + p i ∗ c i ci+1 = aibi+ai*ci+bi*ci = ai*bi+(ai+bi)*ci = gi+pi*ci ci+1=aibi+aici+bici=aibi+(ai+bi)ci=gi+pici
    g i = a i ∗ b i gi=ai*bi gi=aibi(进位生成因子): 只要gi为1, 就有进位
    p i = a i + b i pi=ai+bi pi=ai+bi(进位传递因子):只要pi为1, 就把低位进位向前传递
  • 四位进位传递举例:
    在这里插入图片描述
  • 结论:只要低位有一个进位生成, 而且被传递, 则进位输出为1

2)4位并行进位加法器逻辑框图:
在这里插入图片描述
3)改进:以16位加法器为例—分块,块内并行(先行进位),块间串行
在这里插入图片描述

  • 输入为pi、gi,输出为ci;
  • 每次并行产生4位进位,从pi、gi产生c16只要4级传递,8级门延迟(产生运算结果还需要一个异或)。原来从ai、bi产生c16需要16级传递,32级门延迟;

4)进一步改进:以16位加法器为例—分块,块内并行,块间并行
① 进位推导:

  • 老办法:产生每块的进位传递因子和进位产生因子
  • 进位传递因子:每一位的传递因子都为1时才能传递
    P = p 0 ∗ p 1 ∗ p 2 ∗ p 3 P = p0*p1*p2*p3 P=p0p1p2p3(本块可以传递低位进位)
  • 进位产生因子:块内产生进位, 不考虑进位输入
    G = g 3 + ( p 3 ∗ g 2 ) + ( p 3 ∗ p 2 ∗ g 1 ) + ( p 3 ∗ p 2 ∗ p 1 ∗ g 0 ) G = g3+(p3*g2)+(p3*p2*g1)+(p3*p2*p1*g0) G=g3+(p3g2)+(p3p2g1)+(p3p2p1g0)(本块有进位生产)
    c 4 = g 3 + ( p 3 ∗ g 2 ) + ( p 3 ∗ p 2 ∗ g 1 ) + ( p 3 ∗ p 2 ∗ p 1 ∗ g 0 ) + ( p 3 ∗ p 2 ∗ p 1 ∗ p 0 ∗ c 0 ) = G + ( P ∗ c 0 ) c4 = g3+(p3*g2)+(p3*p2*g1)+(p3*p2*p1*g0)+(p3*p2*p1*p0*c0)= G +(P*c0) c4=g3+(p3g2)+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值