首页

K-Map(卡诺图)

卡诺图(K-map)是由贝尔实验室的电信工程师莫里斯·卡诺(Maurice Karnaugh)于1953年提出的,是爱德华·维奇图(Edward Veitch’s Veitch’s diagram)的一种改进技术,是一种简化或降低布尔表达式复杂性的方法。

卡诺映射法或K-map法是布尔方程的图形表示,布尔运算被用来降低求解布尔方程的复杂性。这些可以被看作是“真值表”的特殊或扩展版本。

卡诺图可以解释为“一个包含2k个单元格的数组,格式类似网格,其中k是布尔表达式中需要减少或优化的变量的数量”。由于它是通过真值表方法求值的,K-map中的每个单元格将表示真值表的单行,一个单元格由一个正方形表示。

k-map中的单元按这样一种方式排列,即在单个变量中不同的连接被分配到相邻的行中。K-map方法支持消除潜在的竞争条件,并允许快速识别。

利用卡诺映射技术,我们可以简化包含任意数量变量的布尔表达式,如2变量布尔表达式、3变量布尔表达式、4变量布尔表达式,甚至7变量布尔表达式,这些布尔表达式用正则布尔定理和定律求解起来比较复杂。

卡诺图的最小化和K-map的优点

  • K-MAPS用于将布尔方程的真实表转换为最小化的SOP形式。
  • 简单易行的基本规则为简化。
  • K-MAP方法比布尔代数的其他简化技术更快,更高效。
  • K-map中的所有行都用一个方形的单元格表示,其中的每个单元格将表示一个最小项。
  • 很容易将真相表转换为k-map和k映射到产品形式方程的总和。

将布尔方程式转换为K-MAP中有2个表格:

  1. 未经优化的形式
  2. 优化的形式
  • 未经优化的形式:它涉及在SOP方程中将1的数量转换为相等的产品项(MIN术语)。
  • 优化的形式:它涉及减少SOP方程中的分钟数量。

K-map变量分组

  • 在对k -map中的变量进行分组时,需要遵循一些规则。他们是
  • 包含“1”的正方形应该被简化,至少一次。
  • 包含'1'的正方形可以考虑多次,因为可以使用分组。
  • 组不应该包含任何0(0)。
  • 一个组应该是尽可能大的。
  • 组可以是水平或垂直的。不允许以对角线方式分组变量。

K-map变量分组

K-map变量的分组

  • 如果含有'1'的方形无可能置于组中,那么它应该添加到最终表达式中。
  • 组可以重叠。
  • 一组平方的数目必须等于2的幂,如1、2、4、8等。
  • 团体可以包裹。当k映射被认为是球形或折叠时,拐角处的正方形(在柱或行的末端)应该被认为是它们相邻的正方形。
  • K-MAP变量的分组可以通过多种方式进行,因此获得的简化方程不需要始终是唯一的。
  • 布尔方程必须是必须是标准形式,才能画出K-map。

K-map变量分组

K-map变量分组

2变量K-maps

2变量k-map中有4个单元格(22个)。它看起来像(见下图)

2变量K-maps

具有2个变量(a和b)的可能分钟术语是a.b,a.b',a'.b和a'.b'。变量(a,b)和(a',b)的缀合在底行的小区中的顶行和(a,b')和(a',b')的单元中表示。下表显示了K-MAP上的2变量布尔函数的所有可能输出的位置。

2变量k-map

2变量K-map图的一般表示如下所示。

2变量k映射

当我们使用Karnaugh Map简化布尔方程式时,我们表示包含连接术语的K-Map的每个单元格,其中包含尺寸为2或4的尺寸将相邻的单元分组为2或4。,我们可以将变量分组为8或16的较大尺寸。

变量组应该是矩形的,这意味着这些组必须通过垂直或水平地组合相邻的单元格来形成。不允许使用对角线或l形分组。下面的例子演示了一个二元布尔方程的K-map简化。

例子

用K-map对给定的二元布尔方程进行简化。

f = x y'+ x'y + x'y'

首先,让我们构建给定方程的真相表,

例子

我们把1放在方程的输出项上。

2 VAR的前女友

In this K-map, we can create 2 groups by following the rules for grouping, one is by combining (X’, Y) and (X’, Y’) terms and the other is by combining (X, Y’) and (X’, Y’) terms. Here the lower right cell is used in both groups.
分组变量之后,下一步是确定最小化的表达式。

通过减少每一组,我们得到最小化的表达式的合取,例如从两个组中取出公共项,即X '和Y '。所以简化后的方程是X ' +Y '

3变量k映射

对于3变量布尔函数,可能有8个输出分钟术语。使用3变量的所有MIN术语的一般表示如下所示。

3个变量k映射1

一个典型的3变量K-map图如下所示。可以看到,第10列和第11列的位置互换了,因此相邻单元格中只有一个变量发生了变化。这一修改将使逻辑最小化。

3变量k映射

在3变量K-map的情况下,最多可以将8个单元格分组,其他可能性为1、2和4。

例子

使用K-MAP简化给定的3变量布尔方程式。

F = x ' y z + x ' y ' z + x ' y z + x ' y ' z + x ' y ' z + x ' y ' z

首先,让我们构建给定方程的真相表,

3 var exm真值表

我们把1放在方程的输出项上。

在3变量k-MAP中有8个细胞(23)。它看起来像(见下面的图片)。

最大的组大小是8,但我们也可以可能地组成4和2的组。在3变量的Karnaugh映射中,我们将k-map的最左最列作为最右列的邻列。所以大小为4的基团形成如下图所示。

3 var em 2

在这两种情况下,我们都有“Y”。因此,大小为4的一组随着y的结合而减少。为了消耗每个含有1的细胞,我们将其余的细胞组成大小为2的一组,如下所示。

3 var em 3

大小为2的基团没有公共变量,所以用它们的变量和共轭来表示。所以简化后的方程将是xz ' + Y ' + X ' Z。在这个方程中,没有进一步的最小化是可能的。

4变量K-maps

对于一个4变量布尔函数,有16个可能的最小项。使用4个变量的minterms的一般表示如下所示。

4 var k map1

一个典型的4变量K-map图如下所示。可以看到,10和11的列和行都被交换了。

4-Variable K-map

可以分组在一起的可能数量是1,2,4,8和16。

例子

用k-map简化给出的四变量布尔方程。F (w, x, y, z) = (1,5,12,13)

Sol:F(W,X,Y,Z)=(1,5,12,13)

4 VAR示例

通过准备K-MAP,我们可以最小化给定的布尔方程式

f = w y'z + w'y'z

5个变量K-maps

5变量布尔函数最多可具有32个minterms。所有可能的minterms都在下面表示

一个 B. C D. E. 输出功能 位置K-map
0. 0. 0. 0. 0. A’’C’D’E’ 0.
0. 0. 0. 0. 1 a'b'c'e.e. 1
0. 0. 0. 1 0. 一个’B’C’DE’ 2
0. 0. 0. 1 1 一个’B’C’DE 3.
0. 0. 1 0. 0. A'B'cd'e' 4.
0. 0. 1 0. 1 a'b'cd'e. 5.
0. 0. 1 1 0. A’’CDE’ 6.
0. 0. 1 1 1 A’’CDE 7.
0. 1 0. 0. 0. 公元前’’D’E’ 8.
0. 1 0. 0. 1 公元前’’D’E 9.
0. 1 0. 1 0. 一个公元前’’DE’ 10.
0. 1 0. 1 1 公元前’’DE 11.
0. 1 1 0. 0. a'bcd'e' 12.
0. 1 1 0. 1 一个’BCD’E 13.
0. 1 1 1 0. 一个’BCDE’ 14.
0. 1 1 1 1 一个’BCDE 15.
1 0. 0. 0. 0. ab'c'e' 16.
1 0. 0. 0. 1 ab'c'e.e. 17.
1 0. 0. 1 0. AB’C’DE’ 18.
1 0. 0. 1 1 Ab'c'de. 19.
1 0. 1 0. 0. AB’CD’E’ 20.
1 0. 1 0. 1 AB’CD’E 21.
1 0. 1 1 0. ab'cde' 22.
1 0. 1 1 1 AB’CDE 23.
1 1 0. 0. 0. abc'd'e' 24.
1 1 0. 0. 1 ABC’D’E 25.
1 1 0. 1 0. abc'de' 26.
1 1 0. 1 1 ABC’德 27.
1 1 1 0. 0. ABCD’E’ 28.
1 1 1 0. 1 ABCD’E 29.
1 1 1 1 0. ABCDE' 30.
1 1 1 1 1 中的 31.

在5变量的K-MAP中,我们有32个单元格如下所示。它由f(a,b,c,d,e)表示。它被分成两个16个单元格,其中一个变量(a)在一个网格中为0,另一个网格中为1。

5变量k映射

例子

使用k映射简化给定的5变量布尔方程式。

f (A, B, C, D, E) =∑m(0、5、6、8、9、10、11、16、20日,42岁,25日,26日27)

5 VAR示例

K-MAP与“不关心”条件

“不关心”条件用于替换空单元格以形成可能的变量分组。它们可以用作0或1,基于组中的相邻变量。包含“不关心”条件的细胞由正常0和1的星号(*)符号表示。

在分组变量中,我们也可以忽略“不要关心”。“不关心”条件在分组大尺寸的变量方面非常有用。

用“不在乎”来最小化表达

我们可以通过寻找“不在乎”条件的相关函数,将它们赋值为0或1来最小化布尔表达式。如果n是布尔方程中“不在乎”的个数,则得到的函数个数为2N.

利用K-map实现BCD到Gray码转换器

格雷码是一种数字序列,其中两个连续的数字相差一位。这个代号是由科学家弗兰克·格雷命名的。1953年,他拥有在轴寄存器中使用格雷代码的专利。

我们可以使用k-map简化将二进制编码的十进制(BCD)代码转换为格雷码。

BCD代码和灰色代码的表

BDC码和灰色码

G3的k映射

G3的k映射

G2的k映射

G2的k映射

G2= B3 ' B2 + B3 B2 ' = B3 XOR B2的方程

G1的k映射

G1的k映射

G1 = B1'B2 + B1 B2'= B1 XOR B2的等式

G0的k映射

G0的k映射

G0 = B1'B0 + B1 B0'的等式= B1 XOR B0

使用逻辑门实现BCD到灰色转换如下图所示。使用两个前或门和一个或门。

BCD到灰色

留下一个回复

您的电子邮件地址将不会被公布。必需的地方已做标记*

电子机器Favicon.
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu
map