1

我对卡诺图中的“不在乎”条件有些困惑。众所周知,卡诺图是用来实现的

  1. 完全的
  2. 准确/精确
  3. 最佳

输出 16 位或有时 32 位二进制解决方案的方程,直到一切正常,但是当我们在其中插入不关心条件时,问题就出现了。 我的问题是, 由于即使是不关心条件也是从真值表的 o 或 1 解生成的,并且在卡诺图中,我们有时会得出结论或有时忽略卡诺图组中的不关心条件。那么我们忽略卡诺图中的不关心条件是卡诺图中的歧义吗因为我们不知道不关心条件的背后是什么,它是 1 还是 0。所以之后我们如何自信地说我们的解决方案是完整或准确的,而我们却忽略了其中的不关心条件。可能是我们忽略的 dont care 在 sop 中包含 1,在 pos 中包含 0,因此根据它可能包含错误。

4

2 回答 2

1

“不在乎”就是这样。我们不在乎的东西。它为我们提供了额外优化的机会,因为该值不受限制。我们可以随心所欲,以实现最佳解决方案。

因为我们不关心它,所以价值是什么并不重要。我们将使用最适合我们的方式(最低成本、最快等......“最佳”)。如果它在一个实现中更好,10在另一个实现中更好,那就这样吧,没关系。

是的,总是有另一种不关心的情况,但我们可以说它是完整/准确的,因为我们不关心另一个。我们会以使我们的实施更好的方式来对待它。

于 2019-05-23T18:15:50.740 回答
0

让我们举一个非常简单的例子来理解“不关心条件”的确切含义。

F是用户定义的二变量布尔函数,如下所示:

A  B    F

0  0    1
0  1    0

A当 的值为时,未定义此函数1

这可能意味着两件事之一:-

  1. 用户不关心Fwhen 产生的值A = 1
  2. 用户保证A = 1永远不会作为F.

这两种情况统称为“无关条件”。

F现在,实现此功能的人可以通过扩展 的定义以包括 时的情况来利用这一事实A = 1

使用 K-Map,

     B'  B
A' | 1 | 0 |
A  | X | X |

如果没有这些无关条件, 的代数表达式F将写为A'B',即F = A'B'

但是,如果我们如下修改这张地图,

     B'  B
A' | 1 | 0 |
A  | 1 | 0 |

那么F可以表示为F = B'

通过修改这张图,我们基本扩展了F如下的定义:

A  B    F

0  0    1
0  1    0
1  0    1
1  1    0

这种方法之所以有效,是因为实现该功能的人已经知道,要么用户不会关心什么时候会发生什么A = 1,要么用户永远不会将A = 1其用作F.

另一个例子是一个四变量布尔函数,其中每个4变量都表示一个BCD值的一个不同位,并且该函数给出的输出1好像等效的十进制数是偶数,0如果它是奇数。在这里,由于可以保证输入永远不会是1010, 1011, 1100, 1101, 1110&之一1111,因此实现函数的人可以通过包含这些情况来扩展函数的定义以发挥他们的优势。

于 2021-10-23T08:13:11.260 回答