全加器和行波进位加法器的延迟时间

@[TOC]全加器和行波进位加法器的延迟时间

全加器和行波进位加法器的延迟时间的理解

这是我第一次写博客,有写的不好的请指教。

在这里插入图片描述
在这里插入图片描述

  • 延迟时间的本质是找最长的传输路径。

  • 首先要知道,一级门(如与门,或门,与非门等等)为T,异或门3T。

  • Si为3T+3T=6T;

  • Ci+1为3T(异或门)+T(与非门)+T(与非门)=5T;

  • 当n个全加器连成一个n位行波进位加法器时,AB都是同时输入的,3T的A⊕B是同时把n个都计算好了;每个进位C都是2T。

    故:ta = 3T+2nT+3T+3T。
    其中第一个3T完成所有的第一个异或门;2nT是完成所有的进位Ci(C1,C2,…,Cn);第二个3T是全部的第二个异或门,求出所有的Si(S0,S1,S2,…,Sn-1);最后一个是求是否溢出的异或门。
    最后得出:ta = (2n+9)T

### 行波进位加法器与超前进位加法器的比较 #### 速度性能 行波进位加法器(Ripple-Carry Adder, RCA)的特点在于每一位的进位依赖于其低一位的结果,因此进位信号如同波浪般逐级传递。这种结构使得对于n位二进制数相加时,最高位完成计算所需时间大约为\( n \times t_{FA} \),其中 \( t_{FA} \) 是单个全加器延迟[^3]。 相比之下,超前进位加法器(Carry-Lookahead Adder, CLA)通过预先计算各位置上的进位值来减少总延时。具体来说,在CLAs中,每一段内的所有进位可以几乎同时得出,从而大大缩短了关键路径长度以及整个器件的工作周期[^2]。 #### 面积复杂度 尽管CLA提供了更快的速度特性,但它也带来了更高的硬件成本。随着位宽增加,为了支持快速并行处理所需的额外逻辑门数量显著增长,这不仅增加了芯片面积占用率还可能影响功耗效率。而对于RCAs而言,虽然它们相对较慢但由于只需要简单的重复单元即可构建任意宽度的累加功能,所以在某些情况下反而具有更低的设计难度资源消耗优势[^1]。 #### 实现方式对比 在实际应用中,4-bit RCAs通常由四个串联起来的标准全加器构成;而同样规模下的CLAs则涉及更为精细复杂的组合逻辑设计用于提前预测各个阶段间的携带情况。例如在一个8-bit CLA里可能会划分成多个小组来进行局部carry lookahead操作再汇总全局结果。 ```c // C语言模拟简单版行波进位加法器 int ripple_carry_add(int a[], int b[], int c_in, int sum[]) { int carry = c_in; for (int i = 0; i < 4; ++i){ sum[i] = a[i] ^ b[i] ^ carry; carry = (a[i] & b[i]) | ((a[i] ^ b[i]) & carry); } return carry; } // 假设有一个函数实现了超前进位算法 void carry_look_ahead_add(/* 参数列表 */){ /* ... */ } ```
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值