掌握卡诺图:用真值表与布尔表达式化简逻辑
谁发明了卡诺图?
贝尔实验室电信工程师莫里斯·卡诺于 1953 年设计电话交换电路时发明了卡诺图。
为什么用卡诺图?
卡诺图是可视化工具,比代数操作更快、更直观地化简复杂布尔函数。通过折叠冗余项,减少逻辑门数和输入数,直接为硬件设计师节省成本。
实践中,工程师理解读图后,更倾向用卡诺图而非布尔代数化简。
下图展示同一二输入逻辑函数的五种等价表示:继电器梯形图、门原理图、真值表、卡诺图、布尔表达式。选择取决于哪种格式最适合设计任务。
真值表与卡诺图的关联
两输入 A、B 各为 0 或 1,产生 2² = 4 种输出组合。卡诺图将真值表重排为方格网格,相邻单元格仅差一变量,使模式显而易见。
每个真值表输出对应特定 K 图单元格。例如 A=0, B=0 时输出 α 位于图左上角。β、χ、δ 同理映射。
K 图中相邻(水平或垂直)表示共享布尔变量。α 和 χ 共享 B′,β 和 δ 共享 B,α 和 β 共享 A′,χ 和 δ 共享 A。识别这些关系可快速分组化简。
实战示例
1. 将真值表转移到卡诺图
解:识别真值表中含‘1’的两行,在对应 K 图单元格放‘1’,继续分组。
2. 从 K 图推导布尔表达式
解:分组相邻‘1’,保留组内不变变量,舍弃其余。示例结果为 Out = B。
3. 多分组求最低成本化简
解:水平分组两‘1’得 Out = A′。
4. 跨图合并分组
解:映射真值表后,垂直分组得 Out = B,水平分组得 Out = A。最终表达式 Out = A + B 为最简形式。
5. 处理重叠分组
解:单元格属于多组时,复用它形成更大组,进一步缩短表达式。
化简实际逻辑图
示例 1:
流程:原电路转布尔表达式,乘积项映射到 K 图,分组单元格,推导化简表达式,重绘最小化电路。
示例 2 — 无法化简:
某些情况下,图显示逻辑已达最小形式。即使普遍的异或门(7486 芯片)也常保持原样,因无法进一步化简。
额外资源
- 卡诺图练习题
- 布尔代数练习题
- 基本逻辑门练习题
工业技术