全加器,半加器公式推演
全加器,半加器公式推演
目录
- 加法器
- 一、半加器
- 二、全加器
- 总结
加法器
首先定义几个表示,方便后续推演
- a1 :adder1
- a2 :adder2
- s :sum
- cin:carry in
- cout:carry out
一、半加器
半加器是不带进位的一个加法器
显然如果a1和a2相同s = 0,可以使用异或来实现
//cin = 0
s = a1^a2
而对于cout只有在a1和a2均为1时候才会有值,所以就是
cout = a1*a2
二、全加器
全加器是带进位输入的一个加法器了
此时我们进行分析,当sum = 1的情况
s = a1*a2*cin+a1*a2'cin'+a1'*a2*cin' +a1'*a2'*cin
通过化简得到
s = (a1^a2)cin'+(a1^a2)'cin= a1^a2^cin
对于cout来说也是同样道理进行分析,cout = 0的情况
cout = a1&a2 | a1&cin | a2&cin
总结
半加器
s = a1^a2
cout = a1*a2
全加器
s = a1^a2^cin
cout = a1&a2 | a1&cin | a2&cin