先行进位加法器的延迟计算

对于一个先行进位加法器的延迟,我们首先要想的是,什么是这个电路的最大延迟?
是最低位的输出吗?是最后一级的进位吗?把这个问题搞懂我们的就成功了90%。

对于上面这样一个分为8个4位行波加法器的32位加法器来说,它的最大延迟是什么?
我们可以看看计算的过程,首先第一个行波加法器与先行进位组合电路并行工作,由于先行进位组合电路快于行波加法器(这是必然的,不然你设计先行进位干锤子),所以在第一个行波加法器算完之前,就已经知道了这个加法器的进位,那么第二个加法器就不要等待第一个行波加法器计算完,而是在先行进位组合电路计算完毕后直接开始,我们会发现这个时候其实第一个行波加法器和第二个行波加法器是并行的(这就是为什么行波加法器能够快),同样当最后一级的行波加法器的进位输入到达时,最后一个行波加法器便开始工作,那么最后出来的结果是什么呢?是最后的进位吗,必然不是,因为我们可以在最后的行波加法器运行时,并行地运行先行进位组合电路,我们可以在最后一个行波进位器计算完之前得出进位。所以我们最大的延迟便是最后的行波加法器计算完毕,最后得出的是最高位的S。
至此我们便很容易地计算先行加法进位器的延迟了,我们只需要计算出最后一个行波加法器需要多长时间计算完毕。所以我们首先需要计算需要多长时间能够把最后一个行波加法器的进位计算出来。首先我们需要同步计算出所有的Pi和Gi,这个时间我们需要tpg,计算出Pi和Gi后我们可以同时计算出所有的Pi:j和Gi:j,这个时间我们叫做tpb_block。此后我们利用
Cj=Gi:j+Pi:j*Ci这个公式可以计算出第一个行波进位加法器的进位,这个过程中由于后面的行波加法器的进位未知所以需要等待,这就需要依次向后传递,由于在最早的一段时间内将所有的Pi:j和Gi:j计算了出来,所以每个先行进位组合电路实际上只需要计算一个与或表达式,这个与或表达式的延迟我们叫做tAND_OR,需要依次计算,所以计算到最后一个进位加法器我们需要(N/K-1)*tAND_OR。最后我们需要通过一个行波加法器,它的延时我们知道为:ktFA
所以公式如下所示:
在这里插入图片描述
练习题如下:
在这里插入图片描述
(文中图片来自于https://blog.csdn.net/zhangwenxiang4657/article/details/82794613)

  • 9
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值