学习指南

卡诺图

计算机科学· 第3单元:硬件,主题3:卡诺图· 25 分钟阅读

1. 卡诺图简介★★☆☆☆⏱ 5 min

卡诺图是真值表的图形化重排,每个单元格对应一种输入变量组合。相邻单元格仅相差一个输入变量,因此可以对1值分组合并,消除冗余变量。

📘 定义

卡诺图

cells for input variables

基于网格的布尔表达式化简图形工具,利用相差一个变量的单元格邻接性消除冗余项

例:

2变量卡诺图有4个单元格,排列为2×2网格

📐 例题

绘制2变量卡诺图

  1. 1

    列出所有输入组合,标记出的位置:

  2. 2
    F=1 for AB,AB,ABF=0 for ABF = 1 \text{ for } A'B, AB', AB \text{, } F = 0 \text{ for } A'B'
  3. 3

    将单元格排列为2×2网格,行(A)和列(B)使用格雷码顺序 (0, 1)

  4. 4

    完成后的卡诺图中,单元格 (0,1)、(1,0)、(1,1) 为1,(0,0) 为0

2. 分组规则与最简积之和★★★☆☆⏱ 10 min

卡诺图化简的核心是将相邻1值分组为边长为2的幂(1、2、4等)的矩形。更大的分组可以得到更简单的最终表达式,因为它们消除了更多变量。

📘 定义

必要质蕴含项

一个质蕴含项(最大有效分组),它至少覆盖一个未被任何其他质蕴含项覆盖的1,因此必须包含在最终表达式中

📐 例题

化简的2变量卡诺图

  1. 1

    识别最大可能分组:列中的两个1()可以分组消除,得到

  2. 2

    中的两个1()可以分组消除,得到

  3. 3

    所有1都被这两个分组覆盖,因此最简积之和表达式为:

  4. 4
    F=A+BF = A + B
✓ 快速检测

检查你对分组规则的理解

  1. 以下哪个分组在卡诺图中是有效的?

    • 一行3个相邻的1

    • 4个相邻的1排列成2×2正方形

    • 对角相邻的2个1

    显示答案
    1

    分组大小必须是2的幂,且邻接仅为水平/垂直(对角线无效)。

3. 3变量和4变量卡诺图★★★☆☆⏱ 7 min

3变量卡诺图为2×4网格,4变量卡诺图为4×4网格。一个常被忽略的关键规则:卡诺图的上下边缘和左右边缘是循环邻接的,因此第一行/列和最后一行/列相邻。

📐 例题

化简

  1. 1

    绘制2×4卡诺图,为所有列出的最小项标记1

  2. 2

    最大可能分组是行的全部4个1,该分组消除了,留下

  3. 3

    剩余的1()相邻,分组后消除,得到

  4. 4

    化简结果得到最简表达式:

  5. 5
    F=A+CF = A' + C'

4. 无关项条件★★★★☆⏱ 3 min

无关项是实际中永远不会出现的输入组合,因此其输出可设为0或1来帮助得到更简单的最终表达式。在卡诺图中它们被标记为

📐 例题

化简

  1. 1

    在4×4卡诺图上,将所有最小项标记为1,无关项标记为

  2. 2

    所有1都在列。利用6个无关项形成一个覆盖所有单元格的8单元格分组,消除

  3. 3

    所有1都被这个分组覆盖,因此最简表达式为:

  4. 4
    F=DF = D

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变量的情况,会使用奎因-麦克拉斯基这类自动化方法,但卡诺图足以应对所有考试级别的题目,并且能培养组合逻辑电路设计的核心直觉。掌握卡诺图化简对于时序逻辑设计这类高级主题必不可少,在时序逻辑设计中需要化简后的次态和输出表达式来构建高效、低成本的数字逻辑电路。