数字算术电路



本章我们将讨论基本的算术电路,例如二进制加法器和二进制减法器。这些电路可以使用二进制值0和1进行操作。

二进制加法器

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

半加器

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

半加器的真值表如下所示。

输入 输出
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的值将根据输入中1的个数为零或一。但是,对于最后一种输入组合,进位C为一,和S为零,因为结果和为二。

从真值表中,我们可以直接写出每个输出的布尔函数

S=AB

C=AB

我们可以用一个2输入异或门和一个2输入与门来实现上述函数。半加器的电路图如下所示。

Half Adder

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

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

全加器

全加器是一个组合电路,它执行三位A、B和Cin的加法。其中,A和B是两位并行有效位,Cin是从前一级产生的进位位。这个全加器也产生两个输出:和S和进位Cout,它们与半加器类似。

全加器的真值表如下所示。

输入 输出
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为最低有效位,进位Cout为结果和的最高有效位。很容易在真值表中填写所有输入组合的输出值。只需计算输入中1的个数并在输出处写入等效的二进制数。如果Cin等于零,则全加器的真值表与半加器的真值表相同。

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

S=ABCin

cout=AB+(AB)cin

当输入中存在奇数个1时,和S等于1。我们知道异或门产生一个奇函数输出。因此,为了产生和S,我们可以使用两个2输入异或门或一个3输入异或门。我们可以使用两个2输入与门和一个或门来实现进位Cout。全加器的电路图如下所示。

Full Adder

这个加法器被称为全加器,因为实现一个全加器需要两个半加器和一个或门。如果Cin为零,则全加器变为半加器。我们可以从上面的电路图或全加器输出的布尔函数中很容易地验证这一点。

4位二进制加法器

4位二进制加法器执行两个4位数的加法。设4位二进制数为A=A3A2A1A0B=B3B2B1B0。我们可以通过以下两种方法之一来实现4位二进制加法器。

  • 使用一个半加器来进行两位最低有效位的加法,并使用三个全加器来进行三位更高有效位的加法。
  • 为了一致性,使用四个全加器。由于初始进位Cin为零,用于添加最低有效位的全加器变为半加器。

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

Four Bit Binary Adder

此处,4个全加器级联。每个全加器接收两个并行输入 A 和 B 的相应位。一个全加器的进位输出将作为下一个更高位全加器的进位输入。这个 4 位二进制加法器产生的结果和最多有 5 位。因此,最后一个阶段全加器的进位输出将是最高有效位 (MSB)。

通过这种方式,我们可以通过级联所需数量的全加器来实现任何更高位的二进制加法器。这种二进制加法器也称为行波进位(二进制)加法器,因为进位从一个阶段传播(涟漪)到下一个阶段。

二进制减法器

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

  • 级联全减器
  • 补码法

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

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

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

AB=A+(B2)

=>AB=A+(B1)+1

4 位二进制减法器

4 位二进制减法器产生两个 4 位数的减法结果。设 4 位二进制数为,A=A3A2A1A0B=B3B2B1B0。内部,4 位二进制减法器的操作类似于 4 位二进制加法器。如果将二进制数 A 的普通位、二进制数 B 的反码位和初始进位 (借位) Cin 作为 1 应用于 4 位二进制加法器,则它将成为 4 位二进制减法器。下图显示了 4 位二进制减法器的框图

4 Bit Binary Subtractor

这个 4 位二进制减法器产生一个输出,最多有 5 位。如果二进制数 A 大于二进制数 B,则输出的 MSB 为零,其余位保存 A-B 的大小。如果二进制数 A 小于二进制数 B,则输出的 MSB 为一。因此,为了获得 A-B 的大小,请取输出的 2 的补码。

通过这种方式,我们可以通过级联所需数量的全加器并进行必要的修改来实现任何更高位的二进制减法器。

二进制加法器/减法器

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

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

  • 在二进制加法器中,二进制数 B 的输入位直接应用于全加器,而在二进制减法器中,二进制数 B 的反码位应用于全加器。
  • 在 4 位二进制加法器中应用初始进位 C0 = 0,而在 4 位二进制减法器中应用初始进位 (借位) C0 = 1。

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

因此,我们可以将二进制数 B 的输入位应用于 2 输入异或门。所有这些异或门的另一个输入是 C0。因此,根据 C0 的值,异或门产生二进制数 B 的普通位或反码位。

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

4 位二进制加法器/减法器根据初始进位或借位 C0 的值产生两个 4 位数的加法或减法结果。设 4 位二进制数为,A=A3A2A1A0B=B3B2B1B0。4 位二进制加法器/减法器的操作类似于 4 位二进制加法器和 4 位二进制减法器。

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

Adder and Subtractor

如果初始进位 C0 为零,则每个全加器都获得二进制数 A 和 B 的普通位。因此,4 位二进制加法器/减法器产生一个输出,该输出是两个二进制数 A 和 B 的加法结果

如果初始借位 C0 为一,则每个全加器都获得二进制数 A 的普通位和二进制数 B 的反码位。因此,4 位二进制加法器/减法器产生一个输出,该输出是两个二进制数 A 和 B 的减法结果

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

广告