使用与非门实现全减器
在数字电子技术中,减法器是一种组合逻辑电路,用于执行两个二进制数的减法运算。然而,二进制数的减法可以通过采用1的补码或2的补码的方法,使用加法器电路来实现。但是,我们也可以实现一个专门的电路来执行两个二进制数的减法。
在两个二进制数的减法中,被减数的每个位都减去其对应位的减数位,以形成差位。在减法过程中,如果被减数位小于减数位,则从下一位借位1。根据输入位的数量,减法器有两种类型,即半减器和全减器。
半减器是一种接收两个二进制数作为输入,并输出差位和借位(如果有)的电路。另一方面,全减器是一种接收三个位作为输入的电路,即两个输入位和一个来自前一级的输入借位,并输出差位和输出借位。
由于减法器是一种组合逻辑电路,即它是由逻辑门组成的。我们可以使用不同类型的逻辑门(如与门、或门、非门、与非门、或非门等)来实现全加器电路。在本文中,我们将讨论使用与非门实现全减器。但在那之前,让我们先了解一下全减器的基础知识。
什么是全减器?
全减器是一种组合电路,具有三个输入 A、B、bin 和两个输出 d 和 b。其中,A 是被减数,B 是减数,bin 是前一级的借位,d 是差输出,b 是借位输出。全减器的框图如图1所示。

全减器的真值表
以下是全减器的真值表:
| 输入 | 输出 | |||
|---|---|---|---|---|
| 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{Difference,\, d=A'B'b_{in}+AB'b'_{in}+A'Bb'_{in}+ABb_{in}=A\oplus B\oplus b_{in}}$$
全减器的输出借位 (b) 由下式给出:
$$\mathrm{Borrow,\, b=A'B'b_{in}+A'Bb'_{in}+A'Bb_{in}+ABb_{in}}$$
现在,让我们讨论一下使用与非门实现全减器。
使用与非门实现全减器
我们可以仅使用与非门来实现全减器电路,如图2所示。

从使用与非逻辑实现的全减器的逻辑电路中,我们可以看到,在与非逻辑中实现全减器需要9个与非门。
全减器在与非逻辑中的差位 (d) 和输出借位 (b) 的输出方程如下:
差位 (d)
$$\mathrm{Difference,\, 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{Borrow,\, b=\overline{\overline{B \cdot\overline{AB}}\cdot \overline{b_{in} \overline{[b_{in}\cdot (A\oplus B)]}}}=\overline{A}B+b_{in}(\overline{A\oplus B})}$$
这样,我们就可以仅使用与非门来实现全减器。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP