先决条件 – K-Map 中的蕴涵
Karnaugh Map或 K-Map 是另一种写真值表的方法,用于简化布尔表达式。到目前为止,我们熟悉 3 变量 K-Map 和 4 变量 K-Map。现在,让我们详细讨论 5 变量 K-Map。
任何包含 5 个变量的布尔表达式或函数都可以使用 5 个变量 K-Map 求解。这样一个 5 个变量的 K-Map 必须包含 = 32 个细胞。让 5 变量布尔函数表示为:
f ( PQRST)其中 P、Q、R、S、T 是变量,P 是最高有效位变量,T 是最低有效位变量。
用于 SOP 表达式的这种 K-Map 的结构如下:
细胞号对应每个单元格的写法可以从这里描述的例子中理解:
这里对于变量P=0,我们有 Q = 0, R = 1, S = 1, T = 1 即 (PQRST)=(00111) 。在十进制形式中,这相当于7 。因此,对于上面显示的单元格,相应的单元格编号。 = 7. 同理,我们可以写出每个单元格对应的单元格编号,如上图所示。
现在让我们讨论如何使用 5 变量 K-Map 来最小化布尔函数。
应遵守的规则:
- 如果一个函数以紧凑的规范 SOP(Sum of Products) 形式给出,那么我们在相应的单元格编号中写下对应于每个 minterm(在问题中提供)的“1” 。例如:
为了我们将写对应于单元格编号(0、1、5、7、30 和 31)的“1”。 - 如果一个函数以紧凑的规范 POS(总和的乘积)形式给出,那么我们在相应的单元格编号中写下对应于每个 maxterm(在问题中提供)的“0” 。例如:
为了我们将写对应于单元格编号(0、1、5、7、30 和 31)的“0”。
要遵循的步骤:
- 制作最大可能大小的子立方体,在 SOP 的情况下覆盖所有标记的 1,或者在 K-Map 中的 POS 的情况下覆盖所有标记的 0。需要注意的是,每个子立方体只能包含 2 的幂的项。也是一个子立方体当且仅当在每个单元格的子立方体中我们满足“m”个单元格是相邻单元格时,单元格是可能的。
- 所有基本质蕴涵项 (EPI) 都必须出现在最小表达式中。
一、求解SOP函数——
为了清楚地理解,让我们使用以下表达式解决 5 个变量 K-Map 的 SOP函数最小化示例:
在上面的 K-Map 中,我们有 4 个子立方体:
- Subcube 1:用红色标记的那个由单元格( 0、4、8、12、16、20、24、28 )组成
- Subcube 2:用蓝色标记的那个由单元格 (7, 23) 组成
- Subcube 3:粉红色标记的那个由单元格( 0、2、8、10、16、18、24、26 )组成
- Subcube 4:用黄色标记的那个由单元格 (24, 25, 26, 27) 组成
现在,在编写每个子多维数据集的最小表达式时,我们将搜索该子多维数据集中存在的所有单元格共有的字面量。
- 子立方体 1 :
- 子立方体 2 :
- 子立方体 3 :
- 子立方体 4 :
最后,给定布尔函数的最小表达式可以表示如下:
二、解决POS函数——
现在,让我们使用以下表达式解决 5 个变量 K-Map 的 POS函数最小化示例:
在上面的 K-Map 中,我们有 4 个子立方体:
- Subcube 1:用红色标记的那个由单元格( 0、4、8、12、16、20、24、28 )组成
- Subcube 2:用蓝色标记的那个由单元格 (7, 23) 组成
- Subcube 3:粉红色标记的那个由单元格( 0、2、8、10、16、18、24、26 )组成
- Subcube 4:用黄色标记的那个由单元格 (24, 25, 26, 27) 组成
现在,在编写每个子多维数据集的最小表达式时,我们将搜索该子多维数据集中存在的所有单元格共有的字面量。
- 子立方体 1 :
- 子立方体 2 :
- 子立方体 3 :
- 子立方体 4 :
最后,给定布尔函数的最小表达式可以表示如下:
注意:
- 对于 5 个变量的 K-Map,单元格编号的范围将从 0 到 -1 即 0 到 31。
- 上述术语“相邻单元格”是指“仅在 1 个变量上不同的任何两个单元格”。