我正在尝试使用K-Map
找到以下函数的产品总和:
F(A,B,C,D) = m(0, 1, 5, 7, 8, 10, 14, 15)
由于函数已经是产品形式的总和,我想要做的只是在函数中给出的值框上的K-map
上标记'1',然后简化它。
以下是我在结果中得到的结果:
B'C'D' + AC'D + B'CD + A'CD'
但在书中,答案是这样写的:
AC'D' + BC'D + A'CD + B'CD'
OR
AB'D' + ABC' + A'BD + A'B'C
我不知道我哪弄错了?
答案 0 :(得分:1)
假设函数F(A,B,C,D)= m(0,1,5,7,8,10,14,15)转换为真值表 (并且没有"不关心" 状态):
index | ABCD | output
----------------------------------------
0 | 0000 | 1 ... m_0 = ¬A·¬B·¬C·¬D
1 | 0001 | 1 ... m_1 = ¬A·¬B·¬C·D
2 | 0010 | 0 M_2 = A + B + ¬C + D
3 | 0011 | 0 M_3 = A + B + ¬C + ¬D
4 | 0100 | 0 M_4 = A + ¬B + C + D
5 | 0101 | 1 ... m_5 = ¬A·B·¬C·D
6 | 0110 | 0 M_6 = A + ¬B + ¬C + D
7 | 0111 | 1 ... m_7 = ¬A·B·C·D
8 | 1000 | 1 ... m_8 = A·¬B·¬C·¬D
9 | 1001 | 0 M_9 = ¬A + B + C + ¬D
10 | 1010 | 1 ... m_10 = A·¬B·C·¬D
11 | 1011 | 0 M_11 = ¬A + B + ¬C + ¬D
12 | 1100 | 0 M_12 = ¬A + ¬B + C + D
13 | 1101 | 0 M_13 = ¬A + ¬B + C + ¬D
14 | 1110 | 1 ... m_14 = A·B·C·¬D
15 | 1111 | 1 ... m_15 = A·B·C·D
相应的 minterms(规范DNF)总和如下所示:
F(A,B,C,D) = ∑(m_0, m_1, m_5, m_7, m_8, m_10, m_14, m_15) =
= m_0 + m_1 + m_5 + m_7 + m_8 + m_10 + m_14 + m_15 =
= ¬A·¬B·¬C·¬D + ¬A·¬B·¬C·D + ¬A·B·¬C·D + ¬A·B·C·D +
+ A·¬B·¬C·¬D + A·¬B·C·¬D + A·B·C·¬D + A·B·C·D .
你可以在第一张卡诺图中看到规范(完整)DNF的所有minterms(单独圈出):
m_0 = ¬A·¬B·¬C·¬D (blue)
m_1 = ¬A·¬B·¬C·D (purple)
m_5 = ¬A·B·¬C·D (green)
m_7 = ¬A·B·C·D (orange)
m_8 = A·¬B·¬C·¬D (black)
m_10 = A·¬B·C·¬D (yellow)
m_14 = A·B·C·¬D (brown)
m_15 = A·B·C·D (pink)
第二个K-map 显示原始函数的最小DNF:
F(A,B,C,D) = ¬A·¬B·¬C (blue) + ¬A·B·D (purple) + A·¬B·¬D (orange) + A·B·C (green)
和第三张K-map 也是最小的DNF,但与之前的表达式不同:
F(A,B,C,D) = ¬B·¬C·¬D (orange) + ¬A·¬C·D (blue) + A·C·¬D (green) + B·C·D (purple)
您还可以使用 maxterms 将原始输出功能表示为其产品。这将是规范的CNF:
F(A,B,C,D) = ∏(M_2, M_3, M_4, M_6, M_9, M_11, M_12, M_13) =
= M_2·M_3·M_4·M_6·M_9·M_11·M_12·M_13 =
= (A + B + ¬C + D)·(A + B + ¬C + ¬D)·(A + ¬B + C + D)·
·(A + ¬B + ¬C + D)·(¬A + B + C + ¬D)·(¬A + B + ¬C + ¬D)·
·(¬A + ¬B + C + D)·(¬A + ¬B + C + ¬D) .
第二张图片的第一张K-map 显示原始功能的所有maxterms分别圈出:
M_2 = A + B + ¬C + D (purple)
M_3 = A + B + ¬C + ¬D (green)
M_4 = A + ¬B + C + D (blue)
M_6 = A + ¬B + ¬C + D (orange)
M_9 = ¬A + B + C + ¬D (pink)
M_11 = ¬A + B + ¬C + ¬D (yellow)
M_12 = ¬A + ¬B + C + D (black)
M_13 = ¬A + ¬B + C + ¬D (brown)
第二张图片的第二张和第三张K图都显示原始函数的最小CNF(可能不止一张):
F(A,B,C,D) = (A + B + ¬C) ... blue
·(A + ¬B + D) ... purple
·(¬A + B + ¬D) ... orange
·(¬A + ¬B + C) ... green
F(A,B,C,D) = (¬B + C + D) ... orange
·(A + ¬C + D) ... green
·(B + ¬C + ¬D) ... purple
·(¬A + C + ¬D) ... blue
如果您有任何其他问题,请评论我的答案。
照片是用乳胶制作的。