我是使用卡诺图的布尔表达式

时间:2013-09-17 07:12:12

标签: boolean-expression karnaugh-map

我从学校得到一个问题 - 使用卡诺图获取以下布尔表达式的最小形式。 F(U,V,W,Z)=Σ(0,1,2,3,6,7,8,9,10,13,15)

我解决了这个问题

有四对和一个四边形减少,如下所示:
对-1(m7 + m6)减少到U'VW
对-2(m8 + m9)减少到UV'W' 对-3(m13 + m15)减少到UVZ
对-4(m8 + m10)减少到UV'Z' 四(m0 + m1 + m2 + m3)减少到U'V' 给定K-map的简化布尔表达式为F(U,V,W,Z)= U'VW + A'C'O + UVZ + UV'Z'+ U'V'

但我的老师说

  

答案与boolean规则不匹配..因为它需要第一个四边形和   然后配对,但答案显示差异。

我很困惑

2 个答案:

答案 0 :(得分:0)

请按以下步骤操作:

UVZ

uvz

U'W

U'W

V'W'

V'W'

V'Z'

V'Z'

我在http://www.logicminimizer.com/

使用了该工具

答案 1 :(得分:0)

对于给定输出,定义为四个变量u,v,w和z的函数 f

f(u,v,w,z) = ∑(0,1,2,3,6,7,8,9,10,13,15)

可以由下面的真值表表示(其中 s 是当前状态的索引,卡诺图中的匹配单元格和 o 是输出值):

  s | u v w z | o
----|---------|---
  0 | 0 0 0 0 | 1
  1 | 0 0 0 1 | 1
  2 | 0 0 1 0 | 1
  3 | 0 0 1 1 | 1
  4 | 0 1 0 0 | 0
  5 | 0 1 0 1 | 0
  6 | 0 1 1 0 | 1
  7 | 0 1 1 1 | 1
  8 | 1 0 0 0 | 1
  9 | 1 0 0 1 | 1
 10 | 1 0 1 0 | 1
 11 | 1 0 1 1 | 0
 12 | 1 1 0 0 | 0
 13 | 1 1 0 1 | 1
 14 | 1 1 1 0 | 0
 15 | 1 1 1 1 | 1

是您的回答

f(u,v,w,z) = ¬u⋅v⋅w + u⋅¬v⋅¬w + u⋅v⋅z + u⋅¬v⋅¬z + ¬u⋅¬v

一个完全有效的布尔表达式等效于原始函数,但是

如果必须在逻辑电路设计中实现,您可能会考虑实际使用多少变量作为逻辑门的输入,每个变量有多少输入或所选类型的成本和从时间点(以及可能的延迟和危险),金钱或表面采取的逻辑门的数量。某些给定变量甚至可能不是设计中使用的某些逻辑门的输入。

出于这个原因,您通常尝试将表达式最小化到最小可能的变量集群,而不会影响所需的输出值

最小化 - 要么在最小CNF 最小DNF 中获得表达式,要么在K-map中找到最大的可能组< /强>

您不关心找到的组的轻微(不完全)重叠,因为组越大,您实际可能需要包含在设计中的变量就越少。您只需要小心包含仅包含所需的最小值并覆盖所需的输出值,这样如果您必须删除其中一个组,它将更改输出的值为one / some /所有的州。

用简单的语言我认为配方是:圈出所有 1 ,但不是一个 zeros < / em>,但不是一个 one 分别具有最大的 bubbles 可以找到并且每个气泡必须扣入某些东西,其他任何一个都不能有并且还没有更好

所以我认为,老师的意思是第一个四边形然后配对,就是这样。

在下面的图片中(使用latex生成),您的解决方案旁边的等效最小DNF (〜圈出)。

Karnaugh maps with equivalent output value's function selected

您还可以检查,将您的解决方案插入在线工具Wolfram Alpha并检查其DNF和CNF,以确保下一个等式有效。

¬u⋅v⋅w + u⋅¬v⋅¬w + u⋅v⋅z + u⋅¬v⋅¬z + ¬u⋅¬v = ¬u⋅w + ¬v⋅¬w + ¬v⋅¬z + u⋅v⋅z