一位全加器
在设计全加器的过程中,需要考虑如下两个问题:
- 如何产生相加数的和数
- 如何产生相加数的进位数
和数的逻辑实现
和为1:0+1=11+0=1和为0:0+0=01+1=0和为1: 0 + 1 = 1 \space \space 1 + 0 = 1 \\和为0: 0 + 0 = 0 \space \space 1 + 1 = 0 和为1:0+1=1 1+0=1和为0:0+0=0 1+1=0
根据上述公式可知,可以利用一个异或门来自动实现一位加法(将算术运算转化为逻辑运算),而实现能实现这一简单功能的电路称为半加器HA(Half Adder)。
对应的公式为:
S=X⨁YS=X\bigoplus{Y} S=X⨁Y
进位数的逻辑实现
在实现了和数逻辑电路的基础上,考虑进位数的实现:
根据上表可知,当两个加数和低位进位数中存在奇数个1时,和数为1,则同样可以借助异或门来实现,而进位数为1的情况可以根据进位来源分析,即要么两个加数都为1的情况,要么其中一个加数为1,低进位数也为1,于是可得到如下公式:
Si=Xi⨁Yi⨁CiCi+1=XiYi+(Xi⨁Yi)CiS_{i}=X_{i}\bigoplus{Y_{i}}\bigoplus{C_{i}} \\C_{i+1}=X_{i}Y_{i}+(X_{i}\bigoplus{Y_{i}})C_{i} Si=Xi⨁Yi⨁CiCi+1=XiYi+(Xi⨁Yi)Ci
其中,第二个式子与如下公式是等价的:
Ci+1=XiYi+(Xi+Yi)CiC_{i+1}=X_{i}Y_{i}+(X_{i}+Y_{i})C_{i} Ci+1=XiYi+(Xi+Yi)Ci
根据上述分析,即可设计出一位全加器的逻辑实现:
其内部电路实现可以是: