卡诺图
计算机科学· 第3单元:硬件,主题3:卡诺图· 25 分钟阅读
1. 卡诺图简介★★☆☆☆⏱ 5 min
卡诺图是真值表的图形化重排,每个单元格对应一种输入变量组合。相邻单元格仅相差一个输入变量,因此可以对1值分组合并,消除冗余变量。
卡诺图
cells for input variables
基于网格的布尔表达式化简图形工具,利用相差一个变量的单元格邻接性消除冗余项
例:
2变量卡诺图有4个单元格,排列为2×2网格
为绘制2变量卡诺图
- 1
列出所有输入组合,标记出的位置:
- 2
- 3
将单元格排列为2×2网格,行(A)和列(B)使用格雷码顺序 (0, 1)
- 4
完成后的卡诺图中,单元格 (0,1)、(1,0)、(1,1) 为1,(0,0) 为0
2. 分组规则与最简积之和★★★☆☆⏱ 10 min
卡诺图化简的核心是将相邻1值分组为边长为2的幂(1、2、4等)的矩形。更大的分组可以得到更简单的最终表达式,因为它们消除了更多变量。
必要质蕴含项
一个质蕴含项(最大有效分组),它至少覆盖一个未被任何其他质蕴含项覆盖的1,因此必须包含在最终表达式中
化简的2变量卡诺图
- 1
识别最大可能分组:列中的两个1()可以分组消除,得到
- 2
行中的两个1()可以分组消除,得到
- 3
所有1都被这两个分组覆盖,因此最简积之和表达式为:
- 4
检查你对分组规则的理解
以下哪个分组在卡诺图中是有效的?
一行3个相邻的1
4个相邻的1排列成2×2正方形
对角相邻的2个1
显示答案
1 —分组大小必须是2的幂,且邻接仅为水平/垂直(对角线无效)。
3. 3变量和4变量卡诺图★★★☆☆⏱ 7 min
3变量卡诺图为2×4网格,4变量卡诺图为4×4网格。一个常被忽略的关键规则:卡诺图的上下边缘和左右边缘是循环邻接的,因此第一行/列和最后一行/列相邻。
化简
- 1
绘制2×4卡诺图,为所有列出的最小项标记1
- 2
最大可能分组是行的全部4个1,该分组消除了和,留下
- 3
剩余的1()相邻,分组后消除,得到
- 4
化简结果得到最简表达式:
- 5
4. 无关项条件★★★★☆⏱ 3 min
无关项是实际中永远不会出现的输入组合,因此其输出可设为0或1来帮助得到更简单的最终表达式。在卡诺图中它们被标记为。
化简
- 1
在4×4卡诺图上,将所有最小项标记为1,无关项标记为
- 2
所有1都在列。利用6个无关项形成一个覆盖所有单元格的8单元格分组,消除
- 3
所有1都被这个分组覆盖,因此最简表达式为:
- 4
5. 常见陷阱
错误做法:
形成3或5个单元格的分组,或对对角的1进行分组
原因:
分组大小必须是2的幂,且仅水平/垂直邻接有效
正确做法:
仅形成水平或垂直邻接、大小为1, 2, 4, 8等2的幂的分组
错误做法:
忘记卡诺图边缘是循环邻接的
原因:
你会错过跨越卡诺图边缘的更大有效分组,导致表达式不是最简的
正确做法:
始终检查分组是否可以环绕上下或左右边缘
错误做法:
使用二进制顺序 (00, 01, 10, 11) 而非格雷码
原因:
相邻单元格会相差两个变量,因此分组会得到错误的项
正确做法:
对所有4值卡诺图轴使用标准格雷码顺序 00, 01, 11, 10
错误做法:
将无关项X视为必须被覆盖的1
原因:
这会给最终表达式添加不必要的项,使其不是最简的
正确做法:
仅使用X来扩大1的分组,不需要覆盖X
6. 速查表
规则 | 说明 |
|---|---|
分组大小 | 必须为2的幂 (1, 2, 4, 8...) |
邻接规则 | 仅水平/垂直,边缘循环邻接,不允许对角线 |
格雷码顺序 | 4值序列: 00 → 01 → 11 → 10 |
必要质蕴含项 | 必须包含在最终表达式中 |
无关项X | 可用于分组,不需要覆盖 |
最简积之和 | 必要质蕴含项之和 + 额外项以覆盖所有1 |
真题中的出现
AI 根据考纲规律估算的考点位置,请对照官方真题核实准确性。仅作复习重点参考。
- 2022 · 12
化简4变量布尔表达式
- 2023 · 11
使用含无关项的卡诺图
- 2021 · 13
从卡诺图推导最简积之和表达式
深入阅读
下一步
卡诺图是手工化简最多4变量布尔表达式的主要方法,是CIE A-Level计算机科学考试中非常常见的考点。对于超过4变量的情况,会使用奎因-麦克拉斯基这类自动化方法,但卡诺图足以应对所有考试级别的题目,并且能培养组合逻辑电路设计的核心直觉。掌握卡诺图化简对于时序逻辑设计这类高级主题必不可少,在时序逻辑设计中需要化简后的次态和输出表达式来构建高效、低成本的数字逻辑电路。
