<Verilog实现加法器>补充----加法的进位分析及进位完成检测加法器

一,内容介绍

加法器是数字电路中的最基础电路之一,也是CPU的核心功能之一。
通过前面几篇文章我们实现了一个以串行的行波加法器为核心的计算单元。本章我们进一步分析一下我们的加法过程本身。

上一篇:从加法器到计算单元
目前:加法的进位分析

二,进位传播分析

在实际加法器的使用中,我们可以近似的认为所有位中出现0, 1的概率是相同的。在行波进位计算的过程中,我们的最差延时显然是从Cin 到Cout 的每一位都需要上一位的进位信号。但是在实际使用中,如果第一个进位的传播只持续了一半的位,那么从进位的延时这个角度,我们可以近似的认为在这次计算中,我们的加法器延时为理论最差延时的0.5 倍。
基于这个判断,我们进行概率分析:
对于第一个无进位的计算,产生进位的概率为:0.5 * 0.5 = 0.25
对于有进位的计算,产生进位的概率为0.75
进位吸收的概率为0.25
P(进位吸收) = 0.25 * 0.75 ^(n-2) * 0.25 (n >= 2)
显而易见,P相对于n是一个减函数
显然进位传播的bit越多,在实际应用中发生如此长进位传播的可能性越小。

显然,对于一个长加法而言,逻辑电路中的最坏延时在实际使用中发生的概率很小。
我们可以设计一个电路,在进行加法计算的同时对已完成的加法进行标示,这样我们发现加法器的计算已经结束,没有在传播的进位的时候,我们就采纳计算结果并开始接下来的逻辑,这样我们就可以高效的进行芯片的使用了。

三,进位完成检测加法器

进位完成检测加法器(CDA,carry-completion detection adder) 顾名思义,他可以在进位计算开始之前,提前对进位进行检测,显然,对于每一位来说,都有三种可能的状态:计算中、进位为0、进位为1。
因此我们使用两位指示信号作为标示:

{
   a,b} = 2'b00 //计算中;
{
   a,b} = 2'b01 //进位为0; 
{
   a,b} 
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值