用与非门实现全减法器



在数字电子学中,**减法器**是一个组合逻辑电路,用于执行两个二进制数的减法。然而,二进制数的减法可以通过采用1的补码或2的补码来使用加法器电路执行。但是,我们也可以实现一个专门的电路来执行两个二进制数的减法。

在两个二进制数的减法中,将被减数的每个位与其对应的被减数位相减以形成差位。在减法过程中,如果被减数位小于减数位,则从下一位借位1。根据输入位的数量,减法器有两种类型,即**半减法器**和**全减法器**。

什么是半减法器?

**半减法器**接收两个二进制数字作为输入,并输出一个差位和一个借位(如果有)。另一方面,全减法器接收三个位作为输入,即两个输入位和一个来自前一级的输入借位,并输出一个差位和一个输出借位。

由于减法器是一个组合逻辑电路,即它是由逻辑门组成的。我们可以使用不同类型的逻辑门(如与门、或门、非门、与非门、或非门等)来实现全减法器电路。在本文中,我们将讨论**用与非门实现全减法器**。但在那之前,让我们先了解一下全减法器的基础知识。

什么是全减法器?

**全减法器**是一个组合电路,具有三个输入A、B、bin和两个输出d和b。其中,A是被减数,B是减数,bin是前一级产生的借位,d是差输出,b是借位输出。全减法器的框图如图1所示。

What is a Full-Subtractor

全减法器的真值表

以下是全减法器的真值表:

输入 输出
A B bin d(差) b(借位)
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1

从该表中,我们可以确定差位(d)和借位输出(b)的方程。这些方程如下:

全减法器的差(d)为:

$$\mathrm{差,d=A'B'b_{in}+AB'b'_{in}+A'Bb'_{in}+ABb_{in}=A\oplus B\oplus b_{in}}$$

全减法器的输出借位(b)由下式给出:

$$\mathrm{借位,b=A'B+A'b_{in}+Bb_{in}}$$

现在,让我们讨论一下用与非门实现全减法器。

用与非门实现全减法器

我们可以仅使用与非门来实现全减法器电路,如图2所示。

Realization of Full Subtractor using NAND Gates

从使用与非逻辑的全减法器的逻辑电路中,我们可以看到,用与非逻辑实现全减法器需要9个与非门。

全减法器中差位(d)和输出借位(b)的输出方程在与非逻辑中如下:

差位(d)

$$\mathrm{差,d=\overline{\overline{(A\oplus B)\cdot \overline{(A\oplus B)b_{in}}}\cdot \overline{b_{in}\cdot \overline{(A\oplus B)b_{in}}}}=A\oplus B\oplus b_{in}}$$

其中:

$$\mathrm{A\oplus B=\overline{\overline{A \cdot\overline{AB}}\cdot \overline{B \cdot\overline{AB}}}}$$

借位(b)

$$\mathrm{借位,b=\overline{\overline{A'B}\cdot \overline{A'b_{in}}\cdot \overline{Bb_{in}}}=A'B+A'b_{in}+Bb_{in}}$$

通过这种方式,我们可以仅使用与非门来实现全减法器。

广告