我已经看到了用于逻辑设计的不同风格的卡诺图。这是他们使用的风格:
有人知道这个K-Map是怎么做的吗?如何理解这种地图?或者他们是如何从那张地图上的那个方程推导出来的。该地图与普通地图完全不同,如下所示:
我已经看到了用于逻辑设计的不同风格的卡诺图。这是他们使用的风格:
有人知道这个K-Map是怎么做的吗?如何理解这种地图?或者他们是如何从那张地图上的那个方程推导出来的。该地图与普通地图完全不同,如下所示:
原则上是相同的,只是行和列(或变量)的顺序不同
红色标签表示变量为真,蓝色表示变量为假
这些映射以这种方式相互关联,唯一的区别是对应于变量的单元格(术语)索引或变量的顺序。
感叹号只是对变量的否定的替代。!A 与 ¬A 相同,有时也记为 A'。
!A A A !A ↓CD\AB → 00 01 11 10
+----+----+----+----+ +----+----+----+----+
!B | 1 | 0 | 1 | 0 | !D 00 | 1 | 1 | 1 | 0 |
+----+----+----+----+ +----+----+----+----+
B | 1 | 1 | 1 | 1 | !D ~ 01 | 1 | x | x | 1 |
+----+----+----+----+ +----+----+----+----+
B | x | x | x | x | D 11 | x | x | x | x |
+----+----+----+----+ +----+----+----+----+
!B | 1 | 1 | x | x | D 10 | 0 | 1 | 1 | 1 |
+----+----+----+----+ +----+----+----+----+
!C !C C C
如果您不确定给定 K-map 中的索引,您始终可以通过编写相应的真值表来检查。
例如,“奇怪”K-map 中第一个单元格的输出值等于 1,如果 !A·!B·!C·!D(所有变量都取反),这对应于第一行-table,因此索引为 0。依此类推。
index | A B C D | y
=======+=========+===
0 | 0 0 0 0 | 1
1 | 0 0 0 1 | 1
2 | 0 0 1 0 | 0
3 | 0 0 1 1 | x ~ 'do not care' state/output
-------+---------+---
4 | 0 1 0 0 | 1
5 | 0 1 0 1 | x
6 | 0 1 1 0 | 1
7 | 0 1 1 1 | x
-------+---------+---
8 | 1 0 0 0 | 0
9 | 1 0 0 1 | 1
10 | 1 0 1 0 | 1
11 | 1 0 1 1 | x
-------+---------+---
12 | 1 1 0 0 | 1
13 | 1 1 0 1 | x
14 | 1 1 1 0 | 1
15 | 1 1 1 1 | x
您可以像使用“正常”K-map 来查找蕴涵项(组)一样使用该映射,因为所有 K-map 索引都需要符合 Gray 的代码。
您可以看到简化的布尔表达式在这些 K-map 的两种样式中是相同的:
f(A,B,C,D) = !A·!C + A·C + B + D = ¬A·¬C + A·C + B + D
K-maps 是使用 latex 的 \karnaughmap 命令和 tikz 库生成的。
它实际上是同一张地图,但不是 A,而是 C,而不是 B,它们有 A,而不是 C,它们有 D,而不是 D,它们有 B