2016-07-24 5 views
1

Я пытаюсь найти сумму произведений следующих функций с помощью K-Map:Как взять сумму произведения следующей функции?

F(A,B,C,D) = m(0, 1, 5, 7, 8, 10, 14, 15) 

Поскольку функция уже есть в сумме продуктов форме, что я пытаюсь сделать, это просто знак «1» на K-map на шкалах значений, заданных в функции, а затем упростите их.

Вот что я получаю в результате:

B'C'D' + AC'D + B'CD + A'CD' 

Но в книге, ответ написано что-то вроде этого:

AC'D' + BC'D + A'CD + B'CD' 

ИЛИ

AB'D' + ABC' + A'BD + A'B'C 

Я надеваю Не знаете, где я ошибаюсь?

+0

Вы, вероятно, либо имеете _typo_ в выражении 'F (A, B, C, D) = m (0, 1, 5, 7, 8, 10, 14, 15)', потому что оба ответа (булево выражения), которые вы скопировали из своей книги, соответствуют «F (A, B, C, D) = Σ (2, 3, 5, 7, 8, 10, 12, 13)» (minterms по этим индексам), OR вы могли бы _mismatched_ функцию и ее предполагаемое решение. Не могли бы вы проверить это? – BBerry

ответ

1

Предполагая, что функция Р (А, В, С, D) = т (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 

соответствующей суммы минтермов (канонический 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 . 

Corresponding K-maps

Вы можете увидеть все минтермы канонического (полного) DNF (обведено отдельно) в первой карты Карно:

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-карте показывает минимальный ДНФ к оригиналу функция:

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 (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) . 

CNFs in K-maps

Первый K-карта второго изображения показывает все 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 

Комментарий к моему ответу, пожалуйста, если у вас есть дополнительные вопросы.

Фотографии были созданы с использованием латекса.