半加器与全加器的实现

半加器与全加器的实现

声明:本文引用了微信公众号“摸鱼范式”的部分内容。

1. 半加器

半加器和全加器的区别在于,是否有进位输入端,可以直观地理解为,半加器是两个一比特相加,而全加器是三个一比特相加,输出结果和进位信号。
半加器的真值表如下图
在这里插入图片描述其逻辑表达式为
在这里插入图片描述
根据逻辑表达式,可以使用如下门电路实现
在这里插入图片描述

2. 全加器

全加器真值表如下:
在这里插入图片描述
其逻辑表达式为:

在这里插入图片描述

使用门电路搭建如下:
在这里插入图片描述

3. 行波进位加法器

以4bit的行波进位加法器为例,需要使用4个1bit加法器实现,如下图所示。在进行加法运算时,首先准备好的是1号全加器的3个input。而2、3、4号全加器的Cin全部来自前一个全加器的Cout,只有等到1号全加器运算完毕,2、3、4号全加器才能依次进行进位运算,最终得到结果。 这样进位输出,像波浪一样,依次从低位到高位传递, 最终产生结果的加法器,也因此得名为行波进位加法器(Ripple-Carry Adder,RCA)。
在这里插入图片描述
如果将全加器内部打开,我们可以看到,关键路上有9个门,门延迟非常高
在这里插入图片描述

4. 超前进位加法器

为了改进行波仅为加法器的延迟问题,可以将全加器的进位信号转化为有G和P以及本级进位输入组成的逻辑。如下图
在这里插入图片描述
将四个加法器串联,迭代可以得到
在这里插入图片描述
可以看到,每一级的进位都不依赖于上一级的进位,因此不需要等待上一个加法器完成计算,超前得到进位结果。同时,显然如果要实现大位宽加法器,逻辑将会变得更加复杂。
在这里插入图片描述
通过超前进位的方法,实现四位全加器的原理图如下
在这里插入图片描述
单bit全加器的输出改为输出P、G和S,而每一级的进位可以有下方的逻辑得到。因此最终延迟位4个门。对比行波进位加法器(RCA)和超前进位加法器(CLA)
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值