📅  最后修改于: 2021-01-08 05:43:47             🧑  作者: Mango
在上一章中,我们讨论了K-map方法,这是一种最小化布尔函数(最多5个变量)的便捷方法。但是,使用这种方法很难简化具有超过5个变量的布尔函数。
Quine-McClukey表格方法是基于素数蕴涵概念的表格方法。我们知道素数蕴涵是一个乘积(或和)项,无法通过与给定布尔函数的任何其他乘积(或和)项组合来进一步减少。
通过重复使用以下布尔标识,此表格方法可用于获取素蕴。
xy + xy’= x(y + y’)= x.1 = x
请按照以下步骤使用Quine-McClukey表格方法简化布尔函数。
步骤1-按升序排列给定的最小项,并根据其二进制表示形式中存在的项的数量进行分组。因此,如果布尔函数有“ n”个布尔变量或最小项的二进制等效项中有“ n”个位,则最多将有“ n + 1”个组。
步骤2-比较连续组中存在的最小项。如果只有一位的位置发生变化,则应采用这两个最小项中的一对。将此符号“ _”放在不同的位位置,并保持其余位不变。
步骤3-用新形成的术语重复步骤2 ,直到获得所有素数蕴涵。
步骤4-制定素数蕴涵表。它由行和列的集合组成。素数蕴含项可以按行放置,最小项可以按列放置。将“ 1”放置在与每个素数蕴涵的最小项相对应的单元格中。
步骤5-通过观察每一列找到基本素蕴涵。如果最小项仅由一个素数蕴涵项覆盖,则它是必不可少的素数蕴涵项。这些基本的素数蕴涵将成为简化布尔函数。
步骤6-通过删除每个基本素数行和对应于该基本素数所涵盖的最小项的列,来减少素数表。对精简蕴涵表重复步骤5。给定布尔函数的所有最小项都结束时,停止此过程。
让我们简化以下布尔函数$ f \ left(W,X,Y,Z \ right)= \ sum m \ left(2,6,8,9,10,11,14,15 \ right)$使用Quine-McClukey表格方法。
给定的布尔函数是最小项形式的和。它具有4个变量W,X,Y和Z。给定的最小项分别为2、6、8、9、10、11、14和15。这些最小项的升序基于它们中存在的个数二进制等效项是2、8、6、9、10、11、14和15。下表显示了这些min项及其等效二进制表示形式。
Group Name | Min terms | W | X | Y | Z |
---|---|---|---|---|---|
GA1 | 2 | 0 | 0 | 1 | 0 |
8 | 1 | 0 | 0 | 0 | |
GA2 | 6 | 0 | 1 | 1 | 0 |
9 | 1 | 0 | 0 | 1 | |
10 | 1 | 0 | 1 | 0 | |
GA3 | 11 | 1 | 0 | 1 | 1 |
14 | 1 | 1 | 1 | 0 | |
GA4 | 15 | 1 | 1 | 1 | 1 |
给定的最小项基于它们的二进制等价项中存在的个数被分为4组。下表显示了可能合并相邻组中的最小项。
Group Name | Min terms | W | X | Y | Z |
---|---|---|---|---|---|
GB1 | 2,6 | 0 | – | 1 | 0 |
2,10 | – | 0 | 1 | 0 | |
8,9 | 1 | 0 | 0 | – | |
8,10 | 1 | 0 | – | 0 | |
GB2 | 6,14 | – | 1 | 1 | 0 |
9,11 | 1 | 0 | – | 1 | |
10,11 | 1 | 0 | 1 | – | |
10,14 | 1 | – | 1 | 0 | |
GB3 | 11,15 | 1 | – | 1 | 1 |
14,15 | 1 | 1 | 1 | – |
将最小项与相邻组的唯一位不同的最小项合并。该不同的位用此符号“-”表示。在这种情况下,分为三组,每组包含两个最小项的组合。下表显示了可能合并相邻组中的最小项对。
Group Name | Min terms | W | X | Y | Z |
---|---|---|---|---|---|
GB1 | 2,6,10,14 | – | – | 1 | 0 |
2,10,6,14 | – | – | 1 | 0 | |
8,9,10,11 | 1 | 0 | – | – | |
8,10,9,11 | 1 | 0 | – | – | |
GB2 | 10,11,14,15 | 1 | – | 1 | – |
10,14,11,15 | 1 | – | 1 | – |
最小项对的连续组(仅在一位位置上有所不同)被合并。该不同的位用此符号“-”表示。在这种情况下,有两组,每组包含四个最小项的组合。在这里,这些4分钟项的组合在两行中可用。因此,我们可以删除重复的行。删除冗余行后的简化表如下所示。
Group Name | Min terms | W | X | Y | Z |
---|---|---|---|---|---|
GC1 | 2,6,10,14 | – | – | 1 | 0 |
8,9,10,11 | 1 | 0 | – | – | |
GC2 | 10,11,14,15 | 1 | – | 1 | – |
不可能进一步合并相邻组中的最小项的组合,因为它们的位置差异超过一个位。上表中有三行。因此,每一行将给出一个素数蕴涵。因此,主要含义是YZ’,WX’和WY。
主要蕴含表如下所示。
Min terms / Prime Implicants | 2 | 6 | 8 | 9 | 10 | 11 | 14 | 15 |
---|---|---|---|---|---|---|---|---|
YZ’ | 1 | 1 | 1 | 1 | ||||
WX’ | 1 | 1 | 1 | 1 | ||||
WY | 1 | 1 | 1 | 1 |
素数含在行中,最小项在列中。 1放在素数蕴含行和相应的最小项列的公共单元格中。
最小项2和6仅由一个素数蕴含项YZ’覆盖。因此,它是必不可少的素数。这将是简化布尔函数的一部分。现在,删除该素数蕴含行和相应的最小项列。简化后的主蕴含表如下所示。
Min terms / Prime Implicants | 8 | 9 | 11 | 15 |
---|---|---|---|---|
WX’ | 1 | 1 | 1 | |
WY | 1 | 1 |
最小项8和9仅由一个素数蕴涵WX’覆盖。因此,它是必不可少的素数。这将是简化布尔函数的一部分。现在,删除该素数蕴含行和相应的最小项列。简化后的主蕴含表如下所示。
Min terms / Prime Implicants | 15 |
---|---|
WY | 1 |
最小项15仅由一个素数蕴涵WY覆盖。因此,它是必不可少的素数。这将是简化布尔函数的一部分。
在此示例问题中,我们得到了三个主要蕴涵,并且这三个都是必不可少的。因此,简化的布尔函数为
f(W,X,Y,Z)= YZ’+ WX’+ WY。