📜  4 位二进制加减法器

📅  最后修改于: 2021-09-28 09:48:35             🧑  作者: Mango

在数字电路中,二进制加减法器是一种能够在一个电路中对二进制数进行加法和减法的器。正在执行的操作取决于控制信号保持的二进制值。它是ALU(算术逻辑单元)的组成部分之一。

该电路需要外加门、二进制加减法、全加器的先决知识。

让我们考虑两个 4 位二进制数 A 和 B 作为数字电路的输入,以进行数字运算

A0 A1 A2 A3 for A
B0 B1 B2 B3 for B 

该电路由 4 个全加器组成,因为我们正在对 4 位数字执行运算。有一个控制线 K 保存一个二进制值 0 或 1,它确定正在执行的操作是加法还是减法。

如图所示,第一个全加器直接输入控制线(输入进位Cin),输入A0(A的最低有效位)直接输入全加器。第三个输入是 B0 和 K 的外或。产生的两个输出是和/差 (S0) 和进位 (C0)。

如果 K(控制线)的值为 1,则 B0(exor)K=B0′(Complement B0) 的输出。因此,操作将是 A+(B0′)。现在,两个数字 A 和 B 的 2 的补码减法由 A+B’ 给出。这表明当 K=1 时,对四位数字执行的操作是减法。

同样如果K=0的值,B0(exor)K=B0。运算是A+B,即简单的二元加法。这表明当 K=0 时,对四位数字执行的操作是加法。

然后 C0 作为其输出之一串行传递给第二个全加器。和/差 S0 被记录为和/差的最低有效位。 A1、A2、A3 是第二、第三和第四全加器的直接输入。然后第三个输入是 B1、B2、B3 分别与 K 异或到第二、第三和第四个全加器。进位 C1、C2 作为输入之一串行传递到连续全加器。 C3 成为和/差的总进位。记录S1、S2、S3与S0形成结果。

对于 n 位二进制加减法器,我们使用 n 个全加器。

例子:
让我们取两个 3 位数字 A=010 和 B=011,并将它们与控制线的两个值一起输入全加器。

For K=0:
B0(exor)K=B0 and C0=K=0

Thus from first full adder
= A0+B0
= 0+1
= 1, 

S0=1
C1=0
Similarly, 
S1=0 with C2=1
S2=1 and C2=0
 
Thus, 
A = 010 =2   
B = 011 = 3
Sum = 0101 = 5


For K=1
B0(exor)K=B0' and C0=k=1

Thus 
S0=1 and C1=0
Similarly 
S1=1 and C2=0
S3=1 and c3=1

Thus,  
A = 010 = 2
B = 011 = 3 
Sum(Difference) = 1111 = -1