Лекция 5. Алгебра логики и логические функции
89
Аналогично можно записать алгоритм перехода от табличной
формы задания функции к СКНФ (правило записи функции по нулям).
1. Выбрать те наборы аргументов, на которых f(x
1
, x
2
, ... x
n
) = 0.
2. Объединить дизъюнкцией логические переменные. Если при
этом x
i
имеет значение «0», то переменная остается без измене-
ний. Если «1», то она берется с отрицанием.
3. Все дизъюнктивные члены соединить знаком конъюнкции (ло-
гического умножения).
Способ записи СДНФ по СКНФ и обратно
В предыдущем разделе из табл. 5.5 были получены две записи одной и
той же фу
нкции – СКНФ и СДНФ:
000 0 01 100 101 111
123 1 23 1 2 3 123 12 3 123
101 100 001
123 123 1 23
(, , )
()()()
xxx xxx xxx xxx xxx xxx
xxx xxx xx x
=⋅⋅+⋅ ⋅+⋅⋅+⋅⋅+⋅⋅=
=++⋅++⋅++
Таким образом, видно, что общее число членов в этих двух формах
равно сумме нулей и единиц функции, то есть равно 2
n
. Если в исход-
ной форме функции, записанной в СКНФ или СДНФ, содержится z
членов, то в другой ее форме (т. е. СДНФ или СКНФ) их будет (2
n
– z).
Покажем на примере рассмотренной функции, как можно перейти
от одной формы записи к другой. Пусть дана СДНФ функции f из
табл. 5.5. Для того чтобы получить ее эквивалентную запись, восполь-
зуемся следующим приемом. Найдем инверсию функции f, записанную
в таблице:
fF = . Для этого нужно заменить значения «0» на «1», а «1»
на «0». СДНФ для нее будет состоять из трех членов, 010, 011, 101. Это
все недостающие до 2
n
члены, причем их легко определить по степе-
ням, записанным в СДНФ для функции f.
010 0 1 1 101
123 123 1 23 1 2 3 123
( , , ) ( , , ) Fx x x
xxx x xx x x x xx x==⋅⋅+⋅⋅+⋅⋅
.
Для того чтобы получить из инверсии саму функцию f, от суммы
этих членов нужно взять инверсию. Далее, пользуясь правилами
де Моргана, получим выражение для эквивалентной СКНФ:
000 0 0 1 100 10 1 111
123 1 23 1 2 3 123 12 3 123
010011101 101 100 0 01
123 1 2 3 123 1 2 3 1 2 3 1 2 3
(, , )
()()()
fxxx xxx x x x xxx xx x xxx
xxxxxxxx xxx xxx xxx
=⋅⋅+⋅ ⋅ +⋅⋅+⋅⋅+⋅⋅=
=⋅⋅+⋅⋅+⋅⋅= ++ ⋅ ++ ⋅ ++
Аналогично можно перейти от СКНФ к СДНФ.
Составление СДНФ и СКНФ необходимо при проектировании
(синтезе) цифровых схем, выполняющих ту или иную логическую
функцию. Следующей основной задачей при синтезе цифровых схем
является минимизация логических функций (в результате получают
минимальные ДНФ или КНФ, МДНФ или МКНФ). Чем проще логиче-
ское выражение, описывающее функцию, тем проще и де
шевле будет
схема. Метод минимизации может основываться только на тождествен-
ном преобразовании логических выражений.
Наконец, конечной целью проектирования является построение
схемы устройства.