📜  数字算术电路

📅  最后修改于: 2021-01-08 05:47:22             🧑  作者: Mango


在本章中,让我们讨论诸如二进制加法器和二进制减法器之类的基本算术电路。这些电路可以使用二进制值0和1。

二进制加法器

最基本的算术运算是加法。执行两个二进制数加法的电路称为二进制加法器。首先,让我们实现一个加法器,它执行两个位的加法运算。

半加法器

半加器是一个组合电路,其执行加法两个二进制数的A和B是单比特的。它产生两个输出和S和进位C。

Half加法器的真值表如下所示。

Inputs Outputs
A B C S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0

当我们对两位进行加法运算时,结果的总和可以具有从0到2的十进制值。我们可以用二进制一位来表示十进制数字0和1。但是,我们不能用二进制的一位表示十进制数字2。因此,我们需要两位来用二进制表示它。

设总和,S是最低有效位,进位,C是所得总和的最高有效位。对于输入的前三个组合,进位,C为零,而S的值将为零或一个(基于输入端出现的个数) 。但是,对于最后的输入组合,进位C为1,总和S为零,因为结果总和为2。

从Truth表中,我们可以将每个输出的布尔函数直接编写为

$$ S = A \ oplus B $$

$ C = AB $

我们可以通过2输入Ex-OR门和2输入AND门实现上述功能。下图显示了半加法器的电路图

半加法器

在上面的电路中,两个输入异或门和两个输入与门分别产生和S和进位C。因此,半加器执行两位的加法。

完全加法器

全加法器是一种组合电路,它执行in中三个位A,B和C的加法。其中,A和B是两个并行有效位,而C in是进位位,由前一级生成。该全加器还产生两个输出和S&进位C out ,类似于半加器。

完整加法器的真值表如下所示。

Inputs Outputs
A B Cin Cout S
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1

当我们将三个位相加时,结果总和的值可以在0到3(十进制)之间变化。我们可以用二进制一位来表示十进制数字0和1。但是,我们不能用二进制的一位表示十进制数字2和3。因此,我们需要两位来表示二进制中的那两个十进制数字。

设总和,S是最低有效位,进位,C out是结果总和的最高有效位。在真值表中为所有输入组合填充输出值很容易。只是计数存在于输入的人的数量和写在输出端的等效二进制数。如果C in等于零,则全加器真值表与半加器真值表相同。

简化后,我们将为每个输出获得以下布尔函数

$$ S = A \ oplus B \ oplus C_ {in} $$

$ c_ {out} = AB + \ left(A \ oplus B \ right)c_ {in} $

当输入中的奇数个数为S时,总和S等于1。我们知道Ex-OR门产生一个输出,这是一个奇函数。所以,我们可以用以下两种2input异或门或一个3输入异-或门以产生总和,S.我们可以实现进位,C使用两种2input与门和一个或门。下图显示了全加器的电路图

完全加法器

该加法器称为完全加法器,因为要实现一个完全加法器,我们需要两个半加法器和一个或门。如果C in为零,则Full adder变为Half adder。我们可以通过上面的电路图或Full加法器输出的布尔函数轻松地对其进行验证。

4位二进制加法器

4位二进制加法器执行两个4位数字的加法运算。令4位二进制数$ A = A_ {3} A_ {2} A_ {1} A_ {0} $和$ B = B_ {3} B_ {2} B_ {1} B_ {0} $。我们可以通过以下两种方式之一实现4位二进制加法器。

  • 使用一个Half加法器进行两个最低有效位的加法,使用三个Full加法器进行三个较高有效位的加法。

  • 使用四个完全加法器以确保一致性。由于初始进位C in为零,因此用于将最低有效位相加的全加器变为半加器。

目前,我们考虑了第二种方法。下图显示了4位二进制加法器的框图

四位二进制加法器

在这里,4个全加器级联。每个全加器将获取两个并行输入A和B的相应位。一个全加器的进位输出将是后续更高阶全加器的进位输入。这个4位二进制加法器产生的总和最多为5位。因此,执行最后阶段的全加器将是MSB。

这样,我们只需级联所需数量的完全加法器就可以实现任何更高阶的二进制加法器。该二进制加法器也称为波纹进位(二进制)加法器,因为该进位从一个级传播(纹波)到下一级。

二元减法器

执行两个二进制数减法的电路称为二进制减法器。我们可以通过以下两种方法来实现二进制减法器。

  • 级联全减法器
  • 2的补码方法

在第一种方法中,我们将级联’n’个全减法器得到n位二进制减法器。因此,首先,您可以实现半减法器和全减法器,类似于半加法器和全加法器。然后,您可以通过级联’n’个全减法器来实现n位二进制减法器。因此,我们将有两个单独的电路用于两个二进制数的二进制加法和减法。

在第二种方法中,只需对第二个输入进行一些修改,就可以使用相同的二进制加法器减去两个二进制数。因此,发生内部二进制加法运算,但是输出是结果减法。

我们知道两个二进制数A和B的减法可以写成:

$$ AB = A + \ left({2}的\:恭维\:of \:B \ right)$$

$ \ Rightarrow AB = A + \ left({1}的\:恭维\:of \:B \ right)+ 1 $

4位二进制减法器

4位二进制减法器将两个4位数字相减。假设4位二进制数$ A = A_ {3} A_ {2} A_ {1} A_ {0} $和$ B = B_ {3} B_ {2} B_ {1} B_ {0} $。在内部,4位二进制减法器的操作类似于4位二进制加法器的操作。如果将二进制数A的普通位,二进制数B的补码位和初始进位(借位)C in用作一个4位二进制加法器,则它变为4位二进制减法器。下图显示了4位二进制减法器的框图

4位二进制减法器

这个4位二进制减法器产生一个输出,该输出最多具有5位。如果二进制数A大于二进制数B,则输出的MSB为零,其余位保持AB的大小。如果二进制数A小于二进制数B,则输出的MSB为1。因此,采用输出的2的补码以获得AB的大小。

这样,我们只需级联所需数量的Full加法器并进行必要的修改即可实现任何更高阶的二进制减法器。

二进制加法器/减法器

可以随时用来对两个二进制数进行加法或减法的电路称为二进制加法器/减法器。二进制加法器和二进制减法器都包含一组级联的完全加法器。二进制数A的输入位直接应用于二进制加法器和二进制减法器。

二进制加法器和二进制减法器中存在的完全加法器输入有两个区别。

  • 二进制数B的输入位直接应用于二进制加法器中的全加器,而二进制数B的补码位应用于二进制减法器中的全加器。

  • 初始进位C 0 = 0用于4位二进制加法器,而初始进位(借位)C 0 = 1用于4位二进制减法器。

我们知道一个2输入的异或门会产生一个输出,与其他输入为零时的第一个输入相同。类似地,它产生一个输出,当其他输入为一个时,它是第一输入的补充。

因此,我们可以将二进制数B的输入位应用于2输入的异或门。所有这些异或门的另一个输入为C 0 。因此,基于C 0的值,异或门会生成二进制数B的正常位或补码位。

4位二进制加法器/减法器

的4位二进制加法器/减法器产生或者增加或两个4位数字的基于初始进位或借位,𝐶0的值的减法。令4位二进制数$ A = A_ {3} A_ {2} A_ {1} A_ {0} $和$ B = B_ {3} B_ {2} B_ {1} B_ {0} $。 4位二进制加法器/减法器的操作类似于4位二进制加法器和4位二进制减法器的操作。

将二进制数A和B的普通位和初始进位或借位C 0从外部应用于4位二进制加法器。下图显示了4位二进制加法器/减法器的框图

加减法

如果初始进位,𝐶0是零,则每个全加器得到的二进制数A和B.所以正常位时,4位二进制加法器/减法器产生一个输出,它是除了两个二进制数A和B

如果初始借位, 0为1,则每个全加器都将获得二进制数A的普通位和二进制数B的补位。因此,4位二进制加法器/减法器将产生一个输出,即两个二进制减法数字A和B。

因此,借助附加的“异或”门,同一电路可用于两个二进制数的加法和减法。