数字电子教程

数字电子 - 主页

数字电子基础

数字系统的类型 信号类型 逻辑电平和脉冲波形 数字系统组件 数字逻辑运算 数字系统优势

数字系统

数字系统 二进制数表示 二进制运算 有符号二进制运算 八进制运算 十六进制运算 补码运算

进制转换

进制转换 二进制到十进制转换 十进制到二进制转换 二进制到八进制转换 八进制到二进制转换 八进制到十进制转换 十进制到八进制的转换 十六进制到二进制的转换 二进制到十六进制的转换 十六进制到十进制的转换 十进制到十六进制的转换 八进制到十六进制的转换 十六进制到八进制的转换

二进制代码

二进制代码 8421 BCD 码 余3码 格雷码 ASCII 码 EBCDIC 码 代码转换 错误检测和纠正码

逻辑门

逻辑门 与门 或门 非门 通用门 异或门 异或门 CMOS 逻辑门 使用二极管电阻逻辑的或门 与门与或门 两级逻辑实现 阈值逻辑

布尔代数

布尔代数 布尔代数定律 布尔函数 德摩根定理 SOP 和 POS 形式 POS 转换为标准 POS 形式

最小化技术

K-Map 最小化 三变量 K-Map 四变量 K-Map 五变量 K-Map 六变量K-Map 无关条件 Quine-McCluskey 方法 最小项和最大项 规范形式和标准形式 最大项表示 使用布尔代数进行简化

组合逻辑电路

数字组合电路 数字算术电路 多路复用器 多路复用器设计程序 多路复用通用门 使用 4:1 多路复用器的 2 变量函数 使用 8:1 多路复用器的 3 变量函数 解复用器 多路复用器与解复用器 奇偶校验位生成器和检查器 比较器 编码器 键盘编码器 优先级编码器 解码器 算术逻辑单元 7 段 LED 显示屏

代码转换器

代码转换器 二进制到十进制转换器 十进制到 BCD 转换器 BCD 到十进制转换器 二进制到格雷码转换器 格雷码到二进制转换器 BCD 到 Excess-3 转换器 Excess-3 到 BCD 转换器

加法器

半加法器 全加器 串行加器 并行加器 使用半加器的全加器 半加器与全加器 全带 NAND 门的加法器 带 NAND 门的半加法器 二进制加法器-减法器

减法器

半减法器 全减法器 并行减法器 使用 2 个半减法器的全减法器 使用 NAND 的半减法器门

顺序逻辑电路

时序电路 时钟信号和触发 锁存器 移位寄存器 移位寄存器应用 二进制寄存器 双向移位寄存器 计数器 二进制计数器 非二进制计数器 同步计数器的设计 同步与异步计数器 有限状态机 算法状态机

触发器

触发器 触发器的转换 D 触发器 JK 触发器 T 触发器 SR 触发器 时钟控制 SR 触发器 非时钟控制 SR 触发器 时钟控制 JK 触发器 JK 至 T 触发器 SR 至 JK触发器 触发器:触发方法 主从 JK 触发器 竞争条件

A/D 和 D/A 转换器

模拟数字转换器 数字模拟转换器 DAC 和 ADC IC

逻辑门的实现

使用 NAND 门实现非门 使用 NAND 门实现或门 使用 NAND 门实现 AND 门 使用 NAND 门实现 NOR 门 使用 NAND 门实现 XOR 门 使用 NAND 门实现 XNOR 门 使用 NOR 门实现 NOT 门 使用 NOR 门实现 OR 门 使用 NOR 门实现 AND 门 NAND 门和 NOR 门之间的区别 使用 NOR 门实现 XOR 门 使用 NOR 门实现 XNOR 门 使用 CMOS 的 NAND/NOR 门 使用 NAND 门的全减法器 使用 2:1 MUX 的 AND 门 使用 2:1 MUX 的 OR 门 使用 2:1 MUX 的非门

存储设备

存储设备 RAM 和 ROM 高速缓存设计

可编程逻辑设备

可编程逻辑设备 可编程逻辑阵列 可编程阵列逻辑 现场可编程门阵列

数字电子系列

数字电子系列

CPU 架构

CPU 架构

数字电子资源

数字电子 - 资源 数字电子 - 讨论


数字算术电路

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

二进制加法器

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

半加法器

半加法器是一种组合电路,执行两个单个位的二进制数 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 为 1,和 S 为 0,因为结果和为 2。

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

$$\mathrm{S \: = \: A \: \oplus \: B}$$

$$\mathrm{C \: = \: AB}$$

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

半加器

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

全加器

全加器是一个组合电路,它执行三个位A、B 和 Cin 的加法。其中,A 和 B 是两个并行的有效位,Cin 是进位位,由前一阶段生成。该全加器还产生两个输出和 S 和carry、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 等于零,则全加器真值表与半加器真值表相同。

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

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

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

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

全加器

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

4 位二进制加法器

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

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

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

四位二进制加法器

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

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

二进制减法器

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

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

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

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

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

$$\mathrm{A-B \: = \: A \: + \: \left ( {2}'s \: compliment \: of \: B \right )}$$

$$\mathrm{\Rightarrow \: A \: - \: B \: = \: A \: + \: \left ( {1}'s \: compliment \: of \: B \right ) \: + \: 1}$$

4 位二进制减法器

4 位二进制减法器产生两个 4 位数的减法。设 4 位二进制数为 $\mathrm{A \: = \: A_{3}A_{2}A_{1}A_{0}}$ 和 $\mathrm{B \: = \: B_{3}B_{2}B_{1}B_{0}}$。4 位二进制减法器的内部操作与 4 位二进制加法器的操作类似。如果将二进制数 A 的正常位、二进制数 B 的补码位和初始进位(借位)Cin 作为一个整体应用于 4 位二进制加法器,则它变为 4 位二进制减法器。下图显示了 4 位二进制减法器的框图

4 位二进制减法器

此 4 位二进制减法器产生最多 5 位的输出。如果二进制数 A 大于二进制数 B,则输出的 MSB 为零,其余位保持 A-B 的幅度。如果二进制数 A 小于二进制数 B,则输出的 MSB 为 1。因此,取输出的 2 的补码以获得 A-B 的幅度。

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

二进制加法器/减法器

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

二进制加法器和二进制减法器的全加器的输入有两个不同之处。

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

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

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

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

4 位二进制加法器/减法器根据初始进位或借位的值 𝐶0 对两个 4 位数进行加法或减法。设 4 位二进制数 $\mathrm{A \: = \: A_{3}A_{2}A_{1}A_{0}}$ 和 $\mathrm{B \: = \: B_{3}B_{2}B_{1}B_{0}}$。4 位二进制加法器/减法器的操作与 4 位二进制加法器和 4 位二进制减法器的操作类似。

将二进制数 A 和 B 的正常位应用到 &初始进位或借位 C0 从外部传输到 4 位二进制加法器。下图显示了 4 位二进制加法器/减法器的框图

加法器和减法器

如果初始进位 𝐶0 为零,则每个全加器都会获得二进制数 A 和 B 的正常位。因此,4 位二进制加法器/减法器产生的输出是两个二进制数 A 和 B 的加法。

如果初始借位 𝐶0 为一,则每个全加器都会获得二进制数 A 和 B 的正常位二进制数 B 的补码位。因此,4 位二进制加法器/减法器产生的输出是两个二进制数 A 和 B 的减法

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