第 143 篇

考研数电·零基础讲义 第04讲(中)|卡诺图化简法

约 19 分钟 6082 字 华南师范大学数字电子技术考研数电零基础讲义

考研数电·零基础讲义 · 第 04 讲(中)|卡诺图化简法 学完这一讲,你能画出 2、3、4 变量卡诺图,按规则"圈 1",稳稳地写出最简与或式;还会"圈 0"求反函数和最简或与式。预计用时 2.5~3 小时。

本讲地图

  • 卡诺图是什么:把真值表"折"成一个方格图,让"逻辑相邻"的最小项在位置上也挨着。
  • 怎么画:2、3、4 变量卡诺图的格局,为什么行列要按 00、01、11、10(格雷码)排。
  • 相邻性:上下左右挨着的格相邻,最左列和最右列相邻,最上行和最下行相邻,四个角也相邻。
  • 圈 1 规则与步骤:圈的大小必须是 1、2、4、8……个格,形状必须是矩形;圈要尽量大、个数尽量少;先圈"只有一种圈法"的 1。
  • 华师怎么考:2026 回忆题第 5 题"化简Y=∑m(1,3,5,8,9,13)+∑d(7,10,11,14,15)Y=\sum m(1,3,5,8,9,13)+\sum d(7,10,11,14,15)"就是四变量卡诺图(带无关项,第 04 讲下完整讲)。4 变量卡诺图是必须熟练的硬功夫。
  • 教材对应:阎石《数字电子技术基础》第六版 第 2 章 2.6.2 节。

前置知识

  • 最小项、编号mim_i⁠、∑m\sum m写法;"相邻最小项相加能消去一个变量"(见第 03 讲)。
  • 公式化简的并项法AB+AB‾=AAB+A\overline{B}=A(见第 04 讲上)。
  • 格雷码"相邻两个码只差一位"的特点(见第 01 讲下)。

一、为什么需要卡诺图

大白话

上一讲的公式法像"徒手解谜":灵活,但没固定套路,化到一半常常不知道是不是已经最简。

卡诺图的思路很聪明:既然化简的本质就是"把只差一个变量的最小项合并"(⁠AB+AB‾=AAB+A\overline{B}=A⁠),那就把所有最小项摆在一张方格图上,让能合并的两个最小项在图上正好挨着。这样,找合并对象就从"推公式"变成了"看图找邻居",谁都能做,而且一定能找到最简结果。

正式定义

把nn变量的全部2n2^n个最小项各用一个小方格表示,并且使逻辑相邻(只有一个变量不同)的最小项在几何位置上也相邻,这样排列出来的方格图叫 nn变量卡诺图(Karnaugh map,K-map)。


二、卡诺图的画法

1. 两变量卡诺图

两个变量AA⁠、BB有 4 个最小项,排成 2×2:

AA \ BB 0 1
0 m0m_0 m1m_1
1 m2m_2 m3m_3

左边一列标AA的取值,上面一行标BB的取值;每个格子的编号 = 行值拼列值(⁠AA在高位)。比如第 2 行第 2 列:AB=11AB=11⁠,编号 3。

2. 三变量卡诺图(重点看列的顺序)

三个变量A,B,CA,B,C有 8 个最小项。通常AA作行(2 行),BCBC作列(4 列)。关键来了:4 列不能按 00、01、10、11 排,必须按 00、01、11、10 排。

三变量与四变量卡诺图的最小项编号与相邻关系 (a) 三变量 Y(A,B,C) A BC 00 01 11 10 0 1 m0 m1 m3 m2 m4 m5 m7 m6 列序 00→01→11→10:格雷码 相邻两列只差 1 位 (b) 四变量 Y(A,B,C,D) AB CD 00 01 11 10 00 01 11 10 m0 m1 m3 m2 m4 m5 m7 m6 m12 m13 m15 m14 m8 m9 m11 m10 红:m4 与 m6 左右两端相邻(只差 C) 蓝:m3 与 m11 上下两端相邻(只差 A) 卡诺图要看成“卷起来”的: 左右边相接、上下边相接

图 1:(a) 三变量、(b) 四变量卡诺图中每格对应的最小项编号;行、列都按格雷码 00→01→11→10 排列。红色、蓝色高亮的两对格子虽然隔得远,却也逻辑相邻

为什么要这样排? 我们要求"位置挨着的格子,只差一个变量"。

  • 若按自然二进制 00、01、10、11 排:01 和 10 挨着,但它们两位都不同,就不相邻了,破坏了规则。
  • 按 00、01、11、10 排:00→01 变 1 位,01→11 变 1 位,11→10 变 1 位,而且最后的 10 和开头的 00 也只差 1 位!

这种"相邻只差一位"的排列就是第 01 讲学过的格雷码。

3. 四变量卡诺图(最重要)

四个变量A,B,C,DA,B,C,D有 16 个最小项,排成 4×4:ABAB作行,CDCD作列,行和列都按 00、01、11、10 排。见图 1(b)。

怎么快速填编号:编号 = 行值(⁠ABAB⁠)拼列值(⁠CDCD⁠)。例如第 3 行(⁠AB=11AB=11⁠)第 4 列(⁠CD=10CD=10⁠)→ 1110 → 14。

记住四变量图的编号布局(考场上可以现场推,但熟记更快):

ABAB \ CDCD 00 01 11 10
00 0 1 3 2
01 4 5 7 6
11 12 13 15 14
10 8 9 11 10

记忆窍门:每行都是"0、1、3、2"的模式加上一个基数;行的基数依次是 0、4、12、8(也是"0、1、3、2"乘 4)。

⚠️ 易错点:

  • 第 3、4 列和第 3、4 行是"11 在前、10 在后",所以第 3 行是 12、13、15、14,第 4 行是 8、9、11、10。很多人把第 3、4 行写反。
  • 变量顺序要和题目一致:题目写Y(A,B,C,D)Y(A,B,C,D)⁠,则AA是最高位,不能随便换成CDCD作行。

4. 五变量及以上(了解)

五变量卡诺图有 32 格,几何上的"挨着"已经不能完全表示逻辑相邻(还要看对称位置),很容易看错。所以变量多于 4 个时,卡诺图就不好用了,一般改用其他方法或计算机。考研数电以 3、4 变量为主。


三、卡诺图里的"相邻"

大白话

把卡诺图想象成画在一张纸上,然后把纸卷成一个筒,左右两边粘起来;再把这个筒弯成一个甜甜圈,上下两边也粘起来。在这个甜甜圈上挨着的格子,都是相邻的。

相邻的四种情况

  1. 上下左右紧挨着的格子相邻。如m5m_5与m7m_7(只差CC⁠)、m5m_5与m13m_{13}(只差AA⁠)。
  2. 同一行的最左格和最右格相邻。如m4m_4(0100)与m6m_6(0110),只差CC⁠。
  3. 同一列的最上格和最下格相邻。如m3m_3(0011)与m11m_{11}(1011),只差AA⁠。
  4. 四个角的m0m_0⁠、m2m_2⁠、m8m_8⁠、m10m_{10}两两"沾亲带故",可以一起组成一个 4 格组。

⚠️ 易错点:对角线上的格子不相邻! 例如m5m_5(0101)和m15m_{15}(1111)斜着挨着,但差了AA⁠、CC两个变量,不能单独两个合并。


四、用卡诺图表示一个逻辑函数(填图)

方法 1:已知∑m\sum m⁠,直接填

在∑m\sum m里出现的编号对应格子填 1,其他格子填 0(0 也可以不填、留空)。

方法 2:已知一般与或式,按项填(不必先展开)

每个乘积项对应卡诺图上的一块区域:乘积项里出现的变量固定,没出现的变量任意。

例 1:画出Y=AB‾+BCD‾+A‾ C‾DY=A\overline{B}+BC\overline{D}+\overline{A}\,\overline{C}D的卡诺图。

解:逐项找区域:

  • AB‾A\overline{B}⁠:AB=10AB=10⁠,CC⁠、DD任意 → 整个第 4 行:m8m_8⁠、m9m_9⁠、m11m_{11}⁠、m10m_{10}⁠;
  • BCD‾BC\overline{D}⁠:B=1B=1⁠、CD=10CD=10⁠,AA任意 → 第 4 列与AB=01AB=01⁠、1111两行的交叉:m6m_6⁠、m14m_{14}⁠;
  • A‾ C‾D\overline{A}\,\overline{C}D⁠:A=0A=0⁠、CD=01CD=01⁠,BB任意 → 第 2 列与AB=00AB=00⁠、0101两行的交叉:m1m_1⁠、m5m_5⁠。

填好后的卡诺图:

ABAB \ CDCD 00 01 11 10
00 0 1 0 0
01 0 1 0 1
11 0 0 0 1
10 1 1 1 1

即Y=∑m(1,5,6,8,9,10,11,14)Y=\sum m(1,5,6,8,9,10,11,14)⁠。

规律:乘积项缺kk个变量,就占2k2^k个格子。缺 2 个占 4 格,缺 1 个占 2 格,一个都不缺(最小项)占 1 格。

方法 3:已知真值表,"折"进卡诺图

卡诺图其实就是真值表换了个摆法:真值表是一长条 16 行,卡诺图把这 16 行"折"成 4×4。所以从真值表填卡诺图时,只要把每一行的行号(⁠ABCDABCD对应的十进制数)找到卡诺图上的位置,把该行的YY值抄过去即可。注意卡诺图第 3、4 行、第 3、4 列的顺序是"11 在前、10 在后",不要按真值表的顺序直接往下抄。

反过来:由卡诺图写函数

例 1′:某三变量函数的卡诺图中,A=0A=0那一行的BC=01BC=01⁠、1010两格为 1,A=1A=1那一行的BC=00BC=00⁠、1111两格为 1,其余为 0。写出它的∑m\sum m和逻辑式。

解:按"行值拼列值"读出编号:A=0A=0行的 01、10 → m1m_1⁠、m2m_2⁠;A=1A=1行的 00、11 → m4m_4⁠、m7m_7⁠。

Y(A,B,C)=∑m(1,2,4,7)=A‾ B‾C+A‾BC‾+AB‾ C‾+ABCY(A,B,C)=\sum m(1,2,4,7)=\overline{A}\,\overline{B}C+\overline{A}B\overline{C}+A\overline{B}\,\overline{C}+ABC

在图上看,这 4 个 1 像国际象棋盘一样互相"错开",没有任何两个 1 相邻,所以它已经不能再用与或式化简了。这就是三变量奇校验函数A⊕B⊕CA\oplus B\oplus C⁠。"棋盘格"图案是异或/同或函数的标志,以后看到要能认出来。


五、合并规则:怎么"圈"

大白话

相邻的 1 可以用一个圈"打包"。打包的好处:一个圈对应化简后的一个乘积项;圈越大,乘积项越短。

合并规则

  • 2 个相邻的 1 圈在一起 → 消去 1 个变量;
  • 4 个排成矩形(一行、一列、2×2 方块,或利用"卷起来"形成的矩形)→ 消去 2 个变量;
  • 8 个排成矩形(两行、两列……)→ 消去 3 个变量;
  • 一般地:2k2^k个相邻的 1 组成矩形 → 合并成一项,消去kk个变量。

合并后的乘积项怎么读:看这个圈里的格子,哪个变量在圈内始终不变,就保留它(始终为 1 写原变量,始终为 0 写反变量);在圈内有变化的变量,就消掉。

逐行拆解:几个读圈的例子

  • 圈m5m_5⁠、m7m_7(第 2 行、第 2~3 列):ABAB始终 01 → A‾B\overline{A}B⁠;CDCD从 01 变到 11,CC变了、DD始终 1 → DD⁠。结果A‾BD\overline{A}BD⁠。
  • 圈第 3 列整列m3m_3⁠、m7m_7⁠、m15m_{15}⁠、m11m_{11}⁠:CDCD始终 11 → CDCD⁠;AA⁠、BB都变了 → 消掉。结果CDCD⁠。
  • 圈四个角m0m_0⁠、m2m_2⁠、m8m_8⁠、m10m_{10}⁠:BB始终 0、DD始终 0 → B‾ D‾\overline{B}\,\overline{D}⁠;AA⁠、CC都变了 → 消掉。结果B‾ D‾\overline{B}\,\overline{D}⁠。

⚠️ 易错点:

  • 圈里格子数必须是 1、2、4、8、16。3 个、6 个不行!
  • 形状必须是矩形(考虑卷起来以后),L 形、T 形不行。
  • 圈内只能是 1(下一讲会讲:无关项 × 也可以圈进去),不能圈进 0。

六、卡诺图化简的步骤

  1. 画图填 1:把函数填进卡诺图。
  2. 找必须单独处理的 1:没有任何相邻 1 的"孤立 1",单独画一个圈(它就是一个最小项,不能化简)。
  3. 先圈"只有一种圈法"的 1:某个 1 只能和唯一的一组邻居组成最大的圈,那这个圈必选。
  4. 再用尽量大的圈覆盖剩下的 1:圈越大越好;一个 1 可以被多个圈重复使用(因为X+X=XX+X=X⁠)。
  5. 检查多余的圈:如果某个圈里的每个 1 都已经被别的圈圈过了,这个圈就是多余的,去掉。
  6. 写结果:每个圈读出一个乘积项,全部相加。

选圈三原则(口诀"全、少、大"):

  • 全:所有的 1 都要被圈到,一个不漏;
  • 少:圈的个数尽量少(乘积项最少);
  • 大:每个圈尽量大(每项因子最少)。

七、例题:由浅入深

例 2(三变量)

化简Y(A,B,C)=∑m(0,2,4,5,6)Y(A,B,C)=\sum m(0,2,4,5,6)⁠。

解:

第 1 步:填图(⁠AA作行,BCBC作列):

AA \ BCBC 00 01 11 10
0 1(⁠m0m_0⁠) 0 0 1(⁠m2m_2⁠)
1 1(⁠m4m_4⁠) 1(⁠m5m_5⁠) 0 1(⁠m6m_6⁠)

第 2 步:找圈:

  • 第 1 列和第 4 列的 4 个 1(⁠m0m_0⁠、m4m_4⁠、m2m_2⁠、m6m_6⁠),因为左右两边相邻,可以组成一个 4 格圈。圈内CC始终为 0,AA⁠、BB都在变 → C‾\overline{C}⁠。
  • m5m_5还没圈。它的邻居有m4m_4(左)、m7m_7(右,是 0)、m1m_1(上,是 0)。只能和m4m_4组成 2 格圈:A=1A=1⁠、B=0B=0不变,CC变 → AB‾A\overline{B}⁠。(⁠m4m_4被重复使用,没关系。)

第 3 步:写结果:

Y=C‾+AB‾Y=\overline{C}+A\overline{B}

例 3(四变量,用到"卷起来")

化简Y(A,B,C,D)=∑m(0,2,3,4,6,7,8,10,11,15)Y(A,B,C,D)=\sum m(0,2,3,4,6,7,8,10,11,15)⁠。

解:填图并圈出,见图 2:

例题卡诺图:三个圈 CD、A'D'、B'D' AB CD 00 01 11 10 00 01 11 10 1 0 1 1 1 0 1 1 0 0 1 0 1 0 1 1 蓝圈:m3、m7、m15、m11 整列 CD=11 → CD 绿圈:m0、m4、m2、m6 左右两列上两行 → A'D' 橙圈:四个角 m0、m2、m8、m10 → B'D' Y = CD + A'D' + B'D'

图 2:例 3 的卡诺图。蓝圈是整列,绿圈利用了左右边相接,橙圈利用了四个角相接

逐个分析:

  • m4m_4和m6m_6:m4m_4的邻居m5m_5⁠、m12m_{12}是 0,只剩m0m_0和(左右相接的)m6m_6⁠。最大能和m0m_0⁠、m2m_2⁠、m6m_6组成 4 格的"上两行、左右两列"圈(绿)。圈内A=0A=0⁠、D=0D=0不变 → A‾ D‾\overline{A}\,\overline{D}⁠。
  • m8m_8和m10m_{10}:m8m_8的邻居m9m_9⁠、m12m_{12}是 0,只剩m0m_0(上下相接)和m10m_{10}(左右相接)。四个角m0m_0⁠、m2m_2⁠、m8m_8⁠、m10m_{10}正好都是 1,组成 4 格圈(橙)→ B‾ D‾\overline{B}\,\overline{D}⁠。
  • m3m_3⁠、m7m_7⁠、m15m_{15}⁠、m11m_{11}:整个第 3 列都是 1,4 格圈(蓝)→ CDCD⁠。

所有 1 都圈到了,没有多余的圈:

Y=CD+A‾ D‾+B‾ D‾Y=CD+\overline{A}\,\overline{D}+\overline{B}\,\overline{D}

例 4(四个角 + 中心)

化简Y(A,B,C,D)=∑m(0,2,5,7,8,10,13,15)Y(A,B,C,D)=\sum m(0,2,5,7,8,10,13,15)⁠。

解:

ABAB \ CDCD 00 01 11 10
00 1 0 0 1
01 0 1 1 0
11 0 1 1 0
10 1 0 0 1
  • 四个角m0m_0⁠、m2m_2⁠、m8m_8⁠、m10m_{10} → B‾ D‾\overline{B}\,\overline{D}⁠;
  • 中间 2×2 方块m5m_5⁠、m7m_7⁠、m13m_{13}⁠、m15m_{15}⁠:B=1B=1⁠、D=1D=1不变 → BDBD⁠。
Y=B‾ D‾+BDY=\overline{B}\,\overline{D}+BD

这其实就是B⊙DB\odot D(同或)。从这道题能看出卡诺图的威力:8 个最小项一眼就看成了 2 项。

例 5(陷阱:先圈大圈反而多余)

化简Y(A,B,C,D)=∑m(1,5,6,7,11,12,13,15)Y(A,B,C,D)=\sum m(1,5,6,7,11,12,13,15)⁠。

解:填图后,中间有一个很显眼的 2×2 方块m5m_5⁠、m7m_7⁠、m13m_{13}⁠、m15m_{15}(就是BDBD⁠)。很多同学第一反应是先把它圈了——但请按步骤来,看看会发生什么:

动画:逐个画圈,先圈只有一种圈法的 1,最后发现中间的大圈多余 AB CD 00 01 11 10 00 01 11 10 0 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 ① m1 只能和 m5 圈 → A'C'D ② m6 只能和 m7 圈 → A'BC ③ m12 只能和 m13 圈 → ABC' ④ m11 只能和 m15 圈 → ACD ⑤ 中间 BD 圈:4 个 1 都已被圈 过 → 多余,不要它! Y = A'C'D + A'BC + ABC' + ACD

图 3:例 5 逐个画圈的过程(动画循环播放)。四个 2 格圈都是"只有一种圈法"的必选圈;它们圈完之后,中间的BDBD大圈里每个 1 都已被圈过,成了多余的圈

按"先圈只有一种圈法的 1"来做:

  • ① m1m_1⁠:邻居中只有m5m_5是 1(⁠m0m_0⁠、m3m_3⁠、m9m_9都是 0)→ 必须圈m1m_1⁠、m5m_5 → A‾ C‾D\overline{A}\,\overline{C}D⁠;
  • ② m6m_6⁠:邻居中只有m7m_7是 1 → 圈m6m_6⁠、m7m_7 → A‾BC\overline{A}BC⁠;
  • ③ m12m_{12}⁠:邻居中只有m13m_{13}是 1 → 圈m12m_{12}⁠、m13m_{13} → ABC‾AB\overline{C}⁠;
  • ④ m11m_{11}⁠:邻居中只有m15m_{15}是 1 → 圈m11m_{11}⁠、m15m_{15} → ACDACD⁠。

此时 8 个 1 全部圈完了。⑤ 再看中间的BDBD圈:m5m_5⁠、m7m_7⁠、m13m_{13}⁠、m15m_{15}都已经被前面的圈覆盖,它是多余的,不要!

Y=A‾ C‾D+A‾BC+ABC‾+ACDY=\overline{A}\,\overline{C}D+\overline{A}BC+AB\overline{C}+ACD

如果先圈了BDBD⁠,最后会得到 5 项,虽然逻辑上也对,但不是最简。

这道题的教训:"圈要尽量大"是对每一个圈说的(能扩大就扩大),但"选哪些圈"要先保证必选圈,最后删掉多余圈。

例 6(结果不唯一)

化简Y(A,B,C)=∑m(1,2,3,4,5,6)Y(A,B,C)=\sum m(1,2,3,4,5,6)⁠。

解:

AA \ BCBC 00 01 11 10
0 0 1 1 1
1 1 1 0 1

6 个 1 围成一个"环",每个 1 都有两个相邻的 1,没有哪个 1 只有一种圈法。所以可以有两套圈法:

  • 圈(m4,m5)(m_4,m_5)⁠、(m1,m3)(m_1,m_3)⁠、(m2,m6)(m_2,m_6)⁠:Y=AB‾+A‾C+BC‾Y=A\overline{B}+\overline{A}C+B\overline{C}⁠;
  • 圈(m4,m6)(m_4,m_6)⁠、(m1,m5)(m_1,m_5)⁠、(m3,m2)(m_3,m_2)⁠:Y=AC‾+B‾C+A‾BY=A\overline{C}+\overline{B}C+\overline{A}B⁠。

两种都是 3 项、每项 2 个因子,都是最简与或式,都对。考试写任一种即可。


八、圈 0:求反函数与最简或与式

大白话

卡诺图里不是 1 就是 0。把所有 1 圈起来得到YY⁠;那把所有 0 圈起来,得到的就是Y‾\overline{Y}(反函数)。当 0 比 1 少很多时,圈 0 更省事。

方法

  1. 按同样规则圈 0(大小2k2^k⁠、矩形、尽量大、尽量少);
  2. 读出每个圈的乘积项,相加得Y‾\overline{Y}的最简与或式;
  3. 需要YY时,对Y‾\overline{Y}整体取反,用摩根定理展开,就得到YY的最简或与式。

例 7:已知Y(A,B,C,D)Y(A,B,C,D)只有m5m_5⁠、m7m_7⁠、m13m_{13}⁠、m15m_{15}四格为 0,其余 12 格都为 1,求YY的最简式。

解:圈 1 要圈好几个大圈;圈 0 只需一个:m5m_5⁠、m7m_7⁠、m13m_{13}⁠、m15m_{15}是中间 2×2 方块,B=1B=1⁠、D=1D=1不变:

Y‾=BD\overline{Y}=BD

取反:

Y=BD‾=B‾+D‾Y=\overline{BD}=\overline{B}+\overline{D}

用圈 1 来验证:上下两行(⁠B=0B=0的AB=00AB=00⁠、1010行)8 个 1 → B‾\overline{B}⁠;左右两列(⁠D=0D=0的CD=00CD=00⁠、1010列)8 个 1 → D‾\overline{D}⁠。结果一样:Y=B‾+D‾Y=\overline{B}+\overline{D}⁠。✓

例 8:用圈 0 求Y(A,B,C)=∑m(0,2,4,5,6)Y(A,B,C)=\sum m(0,2,4,5,6)(例 2 的函数)的最简或与式。

解:0 格是m1m_1⁠、m3m_3⁠、m7m_7⁠。

  • m1m_1⁠、m3m_3⁠:A=0A=0⁠、C=1C=1 → A‾C\overline{A}C⁠;
  • m3m_3⁠、m7m_7⁠:B=1B=1⁠、C=1C=1 → BCBC⁠。
Y‾=A‾C+BC\overline{Y}=\overline{A}C+BC

取反并用摩根定理:

Y=A‾C+BC‾=A‾C‾⋅BC‾=(A+C‾)(B‾+C‾)Y=\overline{\overline{A}C+BC}=\overline{\overline{A}C}\cdot\overline{BC}=(A+\overline{C})(\overline{B}+\overline{C})

验算:展开(A+C‾)(B‾+C‾)=AB‾+AC‾+B‾ C‾+C‾=AB‾+C‾(A+\overline{C})(\overline{B}+\overline{C})=A\overline{B}+A\overline{C}+\overline{B}\,\overline{C}+\overline{C}=A\overline{B}+\overline{C}(后三项被C‾\overline{C}吸收),与例 2 结果一致。✓

⚠️ 易错点:圈 0 读出来的是Y‾\overline{Y}⁠,最后一定别忘了取反!这是考场上最常见的丢分点。


九、卡诺图的其他用途

卡诺图不只是用来化简,下面几件事它也做得又快又稳:

  • 判断两个式子是否相等:把两个式子各填一张卡诺图,图案完全一样就相等。比列两张真值表省事,因为可以"按项填"。
  • 求反函数:把卡诺图里的 1 和 0 互换,就是Y‾\overline{Y}的卡诺图。
  • 两个函数做运算:Y1⋅Y2Y_1\cdot Y_2的卡诺图 = 两张图对应格子"相与"(都为 1 才为 1);Y1+Y2Y_1+Y_2 = 对应格子"相或"。
  • 看出电路功能:棋盘格是异或类;整行整列是单个变量;四角是两个反变量相与……熟练后看一眼就知道函数的大概样子。
  • 为后面的设计打基础:第 08 讲组合电路设计、第 17 讲同步时序电路设计,都要用卡诺图求驱动方程、输出方程;第 12 讲还会在卡诺图上判断"竞争-冒险"(两个圈相切的地方)。

例 9:用卡诺图判断Y1=AB+A‾C+BCY_1=AB+\overline{A}C+BC与Y2=AB+A‾CY_2=AB+\overline{A}C是否相等。

解:Y1Y_1按项填:ABAB → m6m_6⁠、m7m_7⁠;A‾C\overline{A}C → m1m_1⁠、m3m_3⁠;BCBC → m3m_3⁠、m7m_7⁠。填 1 的格是 1、3、6、7。Y2Y_2填 1 的格:ABAB → 6、7;A‾C\overline{A}C → 1、3。也是 1、3、6、7。两张图一样,所以Y1=Y2Y_1=Y_2⁠,这正是上一讲消项法的公式。从图上还能看出原因:BCBC占的m3m_3⁠、m7m_7两格早已分别被A‾C\overline{A}C和ABAB盖住了,它是个多余的圈。


十、常见错误汇总

  1. 行列顺序写成 00、01、10、11:卡诺图立刻失效。必须是格雷码 00、01、11、10。
  2. 圈了 3 个或 6 个格:圈的格数只能是 2 的整数次幂。
  3. 漏了"卷起来"的相邻:左右边、上下边、四个角都可以合并。
  4. 把对角线当相邻:斜着挨的格子差两个变量,不相邻。
  5. 只顾圈大圈,忘了删多余圈(见例 5)。
  6. 读圈时把变化的变量留下了:保留的是"圈内不变"的变量。
  7. 圈 0 后忘记取反。
  8. 编号填错位置:第 3 行是 12、13、15、14,第 4 行是 8、9、11、10。

速记卡

项目 要点
行列排列 格雷码 00、01、11、10;变量顺序与Y(A,B,C,D)Y(A,B,C,D)一致,高位作行
四变量编号 第 1 行 0 1 3 2;第 2 行 4 5 7 6;第 3 行 12 13 15 14;第 4 行 8 9 11 10
相邻 上下左右;最左列↔最右列;最上行↔最下行;四角;对角线不相邻
填图 ∑m\sum m直接填;乘积项缺kk个变量占2k2^k格
圈的要求 2k2^k格、矩形(可卷起来)、只圈 1
读圈 圈内不变的变量保留(1 原 0 反),变化的消去;2k2^k格消kk个变量
步骤 孤立 1 → 只有一种圈法的 1 → 大圈盖剩余 → 删多余圈 → 写结果
口诀 全(不漏)、少(圈数少)、大(圈要大)
圈 0 得Y‾\overline{Y}⁠;取反 + 摩根定理 → YY的最简或与式

自测练习

1. 用卡诺图化简Y(A,B,C)=∑m(1,3,5,7)Y(A,B,C)=\sum m(1,3,5,7)⁠。

答案与提示

1 在BC=01BC=01⁠、1111两列(两行全是 1),4 格圈,只有CC不变且为 1。Y=CY=C⁠。

2. 用卡诺图化简Y(A,B,C)=∑m(0,1,2,3,6,7)Y(A,B,C)=\sum m(0,1,2,3,6,7)⁠。

答案与提示

第 1 行(⁠A=0A=0⁠)全是 1 → A‾\overline{A}⁠;第 3、4 列(⁠BC=11BC=11⁠、1010⁠,即B=1B=1⁠)两行全是 1 → BB⁠。Y=A‾+BY=\overline{A}+B⁠。

3. 用卡诺图化简Y(A,B,C,D)=∑m(0,1,4,5,8,9,12,13)Y(A,B,C,D)=\sum m(0,1,4,5,8,9,12,13)⁠。

答案与提示

第 1、2 列(⁠CD=00CD=00⁠、0101⁠,即C=0C=0⁠)4 行全是 1,8 格圈 → C‾\overline{C}⁠。Y=C‾Y=\overline{C}⁠。

4. 用卡诺图化简Y(A,B,C,D)=∑m(0,2,4,5,6,8,10,12,13,14)Y(A,B,C,D)=\sum m(0,2,4,5,6,8,10,12,13,14)⁠。

答案与提示

第 1 列和第 4 列(⁠D=0D=0⁠)共 8 个 1,左右相接组成 8 格圈 → D‾\overline{D}⁠;剩m5m_5⁠、m13m_{13}⁠,和m4m_4⁠、m12m_{12}组成 2×2 圈(⁠B=1B=1⁠、C=0C=0⁠)→ BC‾B\overline{C}⁠。Y=D‾+BC‾Y=\overline{D}+B\overline{C}⁠。

5. 用卡诺图化简Y(A,B,C,D)=∑m(0,1,2,5,8,9,10)Y(A,B,C,D)=\sum m(0,1,2,5,8,9,10)⁠。

答案与提示

m0,m1,m8,m9m_0,m_1,m_8,m_9(⁠B=0B=0⁠、C=0C=0⁠)→ B‾ C‾\overline{B}\,\overline{C}⁠;四角m0,m2,m8,m10m_0,m_2,m_8,m_{10} → B‾ D‾\overline{B}\,\overline{D}⁠;m5m_5只能和m1m_1圈(⁠A=0A=0⁠、C=0C=0⁠、D=1D=1⁠)→ A‾ C‾D\overline{A}\,\overline{C}D⁠。Y=B‾ C‾+B‾ D‾+A‾ C‾DY=\overline{B}\,\overline{C}+\overline{B}\,\overline{D}+\overline{A}\,\overline{C}D⁠。

6. Y(A,B,C,D)=∑m(2,3,6,7,8,9,10,11,12,13,14,15)Y(A,B,C,D)=\sum m(2,3,6,7,8,9,10,11,12,13,14,15)⁠。分别用圈 1 和圈 0 求最简式。

答案与提示

圈 1:下两行(⁠A=1A=1⁠)8 格 → AA⁠;第 3、4 列(⁠C=1C=1⁠)8 格 → CC⁠。Y=A+CY=A+C⁠。

圈 0:0 格为m0,m1,m4,m5m_0,m_1,m_4,m_5(⁠A=0A=0⁠、C=0C=0⁠)→ Y‾=A‾ C‾\overline{Y}=\overline{A}\,\overline{C}⁠,取反Y=A+CY=A+C⁠。两种方法一致。

7.(华师真题风格)用卡诺图将Y(A,B,C,D)=∑m(1,3,4,5,6,7,9,11,12,13)Y(A,B,C,D)=\sum m(1,3,4,5,6,7,9,11,12,13)化为最简与或式,并写出化简过程中每个圈包含的最小项。

答案与提示
  • m4,m5,m7,m6m_4,m_5,m_7,m_6(第 2 行整行,AB=01AB=01⁠)→ A‾B\overline{A}B⁠;
  • m4,m5,m12,m13m_4,m_5,m_{12},m_{13}(⁠B=1B=1⁠、C=0C=0⁠)→ BC‾B\overline{C}⁠;
  • m1,m3,m9,m11m_1,m_3,m_9,m_{11}(第 1、4 行与第 2、3 列交叉,上下相接;B=0B=0⁠、D=1D=1⁠)→ B‾D\overline{B}D⁠。

Y=A‾B+BC‾+B‾DY=\overline{A}B+B\overline{C}+\overline{B}D⁠。(⁠m12m_{12}的 4 格圈只能是BC‾B\overline{C}⁠;m11m_{11}的 4 格圈只能是B‾D\overline{B}D⁠;m6m_6的 4 格圈只能是A‾B\overline{A}B⁠,所以三个圈都必选。它们圈完后所有 1 已覆盖,C‾D\overline{C}D那一列虽然也全是 1,却是多余的圈,和例 5 是同一个道理。)


下一讲预告

下一讲(第 04 讲下)给卡诺图加上"万能牌"——无关项 ×,完整解出 2026 回忆题第 5 题,并学习多输出化简和与非-与非等形式变换。

👉 点击进入下一讲:第04讲(下)|无关项、多输出函数与逻辑形式变换

评论

还没有评论。 来写第一条。

留下一条评论

选填,不会公开

纯文本,链接会自动识别。