Digital-electronics 简明教程
Maxterm Representation of Boolean Expression
K-Map 或 Karnaugh Map 是一种简化复杂布尔函数或表达式的系统方法。Karnaugh 图(K 图)基本上是一个由一定数量的相邻单元格组成的图或图表。每个单元格表示变量在求和或乘积形式中的特定组合。
但是,我们可以使用 Karnaugh 图来简化任何数量变量的布尔函数,但对于涉及五个或更多变量的函数来说,这变得很繁琐。在实际应用中,我们通常使用 Karnaugh 图来简化多达六个变量的布尔函数。
n 个变量的布尔函数在乘积和(SOP)形式中可能具有 2n 个乘积项的组合,或者在求和积(POS)形式中可能具有 2n 个求和项的组合。
因此,对于 2 个变量的布尔函数,Karnaugh 图将具有 22 = 4 个单元格,对于 3 个变量的函数,它将具有 23 = 8 个单元格,依此类推。
布尔函数可以用两种规范或标准形式表示,即 SSOP (Standard Sum of Products) Form and SPOS (Standard Product of Sums) Form 。
SSOP 形式是一种布尔函数表示为乘积项和的形式,其中表达式的每个项都包含函数的所有变量,以取反或未取反的形式。SSOP 形式中逻辑表达式的每个乘积项称为 minterm 。
例如,
\mathrm{Y \: = \: AB \: + \: \overline{A}B}
这里,Y 是两个变量 A 和 B 的布尔函数。项 AB 和 AB' 是函数的最小项。
在 SPOS 形式中,布尔函数表示为求和项的乘积,其中每个求和项(称为 maxterm )都包含函数的所有变量,以取反或非取反的形式。
例如,
\mathrm{Y \: = \: \lgroup A \: + \: B\rgroup \: .\: \lgroup \overline{A} \: + \: B \rgroup}
这里,Y 是两个变量 A 和 B 的布尔函数,项 (A+B) 和 (A'+B) 是该函数的两个最大项。
这篇文章主要是为了解释如何在 K-map 上用最长乘积范式表示布尔函数。因此,让我们讨论一下最长乘积表示法或在 K-map 上绘制 0。
Plotting Zeros (Maxterm Representation)
正如我们之前讨论过的,标准 POS 形式表达式中的每个和项称为一个最长乘积项。一个最长乘积项用大写字母 M 表示,其下标表示该最长乘积项的十进制标记。
要将一个标准 POS 表达式表示在 K-map 上,需要在表达式中表示的最长乘积项对应的单元格中绘制 0,对于表达式中没有的最长乘积项,则不进行任何条目。
现在,为了更好地理解绘制 0 或最长乘积表示法的概念,让我们讨论一些已解决的例子。
Example 1
在 K-Map 上绘制以下 2 个变量布尔表达式。
\mathrm{Y \: = \: \lgroup A \: + \: B \rgroup\lgroup A \: + \: \overline{B} \rgroup\lgroup \overline{A} \:+ \: B \rgroup}
Solution
根据最长乘积项可将给定布尔表达式表示为,
\mathrm{Y \: = \: M_{3} \cdot M_{2} \cdot M_{1} \: = \: \prod M \lgroup 0, \: 1, \: 2 \rgroup}
此函数的最长乘积表示法在 K-map 上的图 1 中展示。
Example 2
在 K-map 上绘制以下 3 个变量布尔函数。
\mathrm{Y \: = \: \lgroup A \: + \: B \: + \: C \rgroup\lgroup \overline{A} \: + \: \overline{B} \: + \: C\rgroup \lgroup A \: + \: B \: + \: \overline{C}\rgroup\lgroup \overline{A} \: + \: B \: + \: \overline{C} \rgroup \lgroup \overline{A} \: + \: \overline{B} \: + \: \overline{C}\rgroup}
Tutorial Problems
尝试解决以下教程问题以更清楚地理解该概念。
Q1. 在 K-map 中用最长乘积表示绘制以下布尔表达式。
\mathrm{f( A, \: B) \: = \: (A \: + \: B)\cdot(\overline{A} \: + \: B).(\overline{A} \: + \: \overline{B})}
Q2. 在 K-map 中用最长乘积表示绘制以下 3 个变量布尔函数。
\mathrm{f(A, \: B, \: C) \: = \: (A \: + \: B \: + \: \overline{C})\cdot(A \: + \: \overline{B} \: + \: C)\cdot( \overline{A} \: + \: \overline{B} \: + \: C)\cdot(\overline{A} \: + \: B \: + \: \overline{C})}