数字电子教程

数字电子 - 主页

数字电子基础

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

数字系统

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

进制转换

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

二进制代码

二进制代码 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 架构

数字电子资源

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


使用布尔代数进行简化

什么是卡诺图 (K-Map)?

K-Map 是一种图形工具,用于简化以标准形式表示的布尔表达式以获得其最小形式。

K-Map 基本上是由相邻单元格或方块排列组成的图形或图表,其中每个单元格代表函数变量的特定组合,可以是总和形式,也可以是乘积形式。

K-Map 中的单元格数量取决于布尔函数中的变量数量,即 K-map 有 2n 个相邻单元格,其中 n 是布尔表达式中的变量数量。因此,2 变量 K-map 中的单元格数量为 4 (22),3 变量 KMap 中的单元格数量为 8 (23),4 变量 K-map 中的单元格数量为 16 (24),依此类推。

但是,我们可以将 K Map 用于任意数量的变量。但是,对于简化变量超过 5 个的布尔函数,它变得很繁琐。

现在,让我们讨论使用 K-Map 简化布尔表达式的过程。

使用 K Map 简化布尔表达式的步骤

以下步骤涉及使用 K-Map − 简化给定的布尔表达式

步骤 1 −根据给定布尔函数中的变量数量选择 K-Map。

步骤 2 − 识别最小项(SOP 形式)或最大项(POS 形式)。

步骤 3对于 SOP(乘积和)形式,根据给定函数的最小项,将 1 放入 K-Map 的单元格中。按照以下方式读取 K-Map −

  • 读取不与其他 1 相邻的 1 的 K-map。这些 1 是孤立的最小项,因此应按原样读取,因为它们不能组合在一起。
  • 读取仅与另一个 1 相邻的 1 的 K-map。将这些最小项组合成 2 个方格。
  • 读取相邻 1 的四元组(4 个方格)、八元组(8 个方格)等的 K-map,即使它们中的一些 1 已经组合成其他组。唯一要记住的是,它们必须在几何上形成一个矩形或正方形。
  • 读取 K-map 中任何尚未分组的 1,并尽可能将它们分组为更大的正方形或矩形。
  • 最后,获得所有组的乘积项,然后将它们相加以形成最小 SOP 表达式。

对于 POS(和的乘积)形式,根据给定函数的最大项将 0 放入 K-Map 的单元格中。按如下方式读取 K-Map −

  • 读取不与其他 0 相邻的 0 的 K-map。这些 0 是孤立的最大项,因此应按原样读取,因为它们不能组合在一起。
  • 读取仅与另一个 0 相邻的 0 的 K-map。将这些最大项组合成 2 个方格。
  • 读取相邻 0 的四元组(4 个方格)、八元组(8 个方格)等的 K-map,即使它们中的一些 0 已经组合成其他组。唯一要记住的是,它们必须在几何上形成一个矩形或正方形。
  • 读取 K-map 中尚未组合的任何 0,并尽可能将它们组合成更大的正方形或矩形。
  • 最后,获得所有组的和项,然后将它们相乘以形成最小 POS 表达式。

让我们借助一些已解决的示例来理解使用 K-map 简化布尔表达式的过程。

示例 1

使用 K-Map 以 SOP 形式简化以下 3 变量布尔函数。

$$\mathrm{F(P, \: Q, \:R) \: = \: \sum m ( 0, \: 1, \: 3, \: 5, \: 7)}$$

解决方案

给定布尔函数的 K-Map 表示如图 1 所示。

K-Map Representation

此 K-map 的简化按照以下步骤进行 −

  • 没有孤立的 1。
  • 最小项 m1 与最小项 m3、m5 和 m7 形成一个 4 平方。将其制作并读作 R。
  • 最小项 m0 与最小项 m1 形成一个 2 平方。将其写成并读作 $\mathrm{\bar{P} \: \bar{Q}}$
  • 将所有乘积项写成 SOP 形式。

因此,简化的 SOP 表达式为,

$$\mathrm{F \: = \: R \: + \: \bar{P}\bar{Q}}$$

示例 2

使用 K-Map 简化 POS 形式的以下 3 变量布尔函数。

$$\mathrm{F(A, \: B, \: C) \: = \: \Pi \: M(1, \: 2, \: 4, \: 6)}$$

解决方案

给定布尔函数的 POS K-map 表示如图 2 所示。

POS K-map Representation

此 POS K-map 的简化按照以下步骤进行 −

  • 最大项 M1 没有邻接。因此,保持原样,将其读作 $\mathrm{(A \: + \: B \: + \: \bar{C})}$。
  • 最大项 M2 只有一个邻接项 M6。因此,将最大项 M2 展开为具有最大项 M6 的 2 平方,并将 2 平方读作 $\mathrm{(\bar{B} \: + \: C)}$。
  • 最大项 M4 也只有一个邻接项 M6。因此,将最大项 M4 展开为一个 2 平方数,其中最大项 M6 为 2 平方数,并将 2 平方数读作 $\mathrm{(\bar{A} \: + \: C)}$。
  • 将所有求和项写成 POS 形式。

因此,简化的 POS 表达式为,

$$\mathrm{F \: = \: (A \: + \: B \: + \: \bar{C}) \: (\bar{B} \: + \: C) \: (\bar{A} \: + \: C)}$$

示例3

简化以下 SOP 形式的 4 变量布尔函数以获得最小 SOP 表达式。

$$\mathrm{F(A, \: B, \: C, \:D) \: = \: \sum \: m( 0,\: 1, \:3, \: 5, \: 7, \: 6, \: 10, \: 13, \: 14, \: 15)}$$

解决方案

给定布尔函数的 SOP K-map 表示如图 3 所示。

SOP K-map 表示

此 SOP K-map 的简化按照以下步骤进行 −

  • 没有孤立的 1。
  • 最小项 m1 有三个邻接项 m3、m5 和 m7。因此,将 m1 展开为具有最小项 m3、m5 和 m7 的 4 方格,并将 4 方格读作 $\mathrm{\bar{A}D}$。
  • 最小项 m5 有三个邻接项 m7、m13 和 m15。将 m5 展开为具有最小项 m7、m13 和 m15 的 4 方格,并将 4 方格读作 BD。
  • 最小项 m6 也有三个邻接项 m7、m14 和 m15。将 m6 展开为具有最小项 m7、m14 和 m15 的 4 方格,并将 4 方格读作 BC。
  • 最小项 m10 只有一个邻接项 m14。将 m10 展开为具有最小项 m14 的 2 方格,并将 2 方格读作 $\mathrm{AC\bar{D}}$。
  • 最小项 m0 也只有一个邻接项 m1。将 m0 展开为一个具有最小项 m1 的 2 平方数,并将 2 平方数读为 $\mathrm{\bar{A}\bar{B}\bar{C}}$。
  • 将所有乘积项写成 SOP 形式。

因此,简化的 SOP 表达式为,

$$\mathrm{F \: = \: \bar{A}D \: + \: BD \: + \: BC \: + \: AC\bar{D} \: + \: \bar{A}\bar{B}\bar{C}}$$

结论

这样,我们可以使用 K-map 简化给定的布尔表达式以获得最小表达式。尝试解决以下教程问题以更好地理解。

Q. 1 − 以 SOP 形式简化以下 3 变量布尔函数以获得其最小表达式。

$$\mathrm{F(A, \: B, \: C) \: = \: \sum \: m(1, \: 2, \: 4, \: 5, \: 7)}$$

Q. 2 −简化以下 SOP 形式的 4 变量布尔函数,以获得最小布尔表达式。

$$\mathrm{F(A, \: B, \: C, \: D) \: = \: \sum \: m(0, \: 1, \: 2, \: 4, \: 5, \: 7, \: 8, \: 9, \: 10, \: 12, \: 14, \: 15)}$$