- •Основные положения алгебры логики
- •2 • Стрелка Пирса (символ Лукашевича). Выражение х1i х2 истинно в том и только в том случае, когда обе переменных х1 и х2 ложны:
- •Законы логики. Упрощение логических выражений
- •Представление логических функций
- •Запись логической функции по таблице
- •Способ записи сднф по скнф и обратно
- •Минимизация логических функций
Способ записи сднф по скнф и обратно
В предыдущем разделе из табл. 4.5 были получены две записи одной и той же функции - СКНФ и СДНФ:
I (, х2, х3 ) — х ■ х2 ■ х3 х ■ х2 ■ хз ■ х2 ■ х3 ■ х^ ■ хз ■ х2 ■ х3 — — (х х2 х3) ■ (х х2 х3) ■ (х х^ хз)
Таким образом, видно, что общее число членов в этих двух формах равно сумме нулей и единиц функции, то есть равно 2й. Если в исходной форме функции, записанной в СКНФ или СДНФ, содержится 2 членов, то в другой ее форме (т. е. СДНФ или СКНФ) их будет (2й- г).
Покажем на примере рассмотренной функции, как можно перейти от одной формы записи к другой. Пусть дана СДНФ функции / из табл. 4.5. Для того чтобы получить ее эквивалентную запись, воспользуемся следующим приемом. Найдем инверсию функции / записанную в таблице: Р = /. Для этого нужно заменить значения «0» на «1», а «1» на «0». СДНФ для нее будет состоять из трех членов, 010, 011, 101. Это все недостающие до 2п члены, причем их легко определить по степеням, записанным в СДНФ для функции /
В' (х~1, х^2 , хз ) — / (х~1, х<2, хз ) — х^ • х<2 • х-^ х^ • • хц х^ • Л'2 • х^ .
Для того чтобы получить из инверсии саму функцию /, от суммы этих членов нужно взять инверсию. Далее, пользуясь правилами де Моргана, получим выражение для эквивалентной СКНФ:
/ (х, х2, хз) — х • х2 • хз х • х^ • хз х • х^ • хз х~1 • х2 • х^ х^ • х2 • х^ — — х • х2 • хз х • х2 • хз х • х2 • х~1 — (х х2 х^) • (х х2 хз) • (х х2 х^)
Аналогично можно перейти от СКНФ к СДНФ.
Составление СДНФ и СКНФ необходимо при проектировании (синтезе) цифровых схем, выполняющих ту или иную логическую функцию. Следующей основной задачей при синтезе цифровых схем является минимизация логических функций (в результате получают минимальные ДНФ или КНФ, МДНФ или МКНФ). Чем проще логическое выражение, описывающее функцию, тем проще и дешевле будет схема. Метод минимизации может основываться только на тождественном преобразовании логических выражений.
Наконец, конечной целью проектирования является построение схемы устройства.
Минимизация логических функций
Метод Карно-Вейча — графический способ минимизации логических функций, обеспечивающий относительную простоту работы с большими выражениями. Данный способ заключает в себе многократное применение формул склеивания и поглощения. Карта Карно является перестроенной соответствующим образом таблицей истинности логической функции.
В целом карты Карно являются эквивалентом таблиц истинности, просто в другом графическом представлении. Это представление более удобно потому, что на карте Карно соседними являются ячейки, отличающиеся значением только одной входной переменной. Таким образом, объединяя две соседние ячейки, мы выносим за скобки неизменную часть логического выражения и исключаем одну из переменных. Не являются соседними клетки, расположенные по диагонали.
Количество клеток в карте Карно соответствует числу возможных значений логической функции. Таким образом, если число переменных п, то число клеток т=2п. То есть, для п=2 число клеток т=4, для п=3 число клеток т=8, а для п=4 число клеток т=16. Карты Карно применяются обычно для числа входных переменных, не превышающих 6. В этой лекции будут представлены карты Карно для 2, 3, 4 переменных.
Карта Карно для двух логических переменных
Рассмотрим представление логической функции двух переменных на карте Карно. По сторонам карты Карно стоят переменные и их инверсии таким образом, чтобы в каждой клетке карты на пересечении значений переменных записывалась уникальная комбинация переменных или их инверсий, или минтерм1 (см. рис. 4.1.)
Правила минимизации логических функций при помощи карт Карно
Подводя итог приведенным выше примерам минимизации логических выражений при помощи карт Карно, можно сформулировать следующие правила:
Если восемь клеток карты составляют прямоугольник, то они заменяются конъюнкцией на три ранга ниже. Получившаяся конъюнкция будет включать переменные с одинаковыми для всех объединяемых клеток показателями инвертирования.
Если четыре клетки составляют большой квадрат, столбец, строку карты, то они заменяются конъюнкцией на два ранга ниже. Получившаяся конъюнкция будет включать переменные с одинаковыми для всех объединяемых клеток показателями инвертирования.
Если единицы находятся в двух соседних клетках строки, столбца или в клетках на противоположных концах любой строки, столбца, то соответствующие единицам конъюнкции заменяются конъюнкцией на ранг ниже. Получившаяся конъюнкция будет включать переменные с одинаковыми для всех объединяемых клеток показателями инвертирования.
Начинать объединение клеток необходимо с большего числа клеток: сначала прямоугольники из восьми клеток, затем квадраты или полные строки (столбцы) из четырех клеток, а затем пары клеток.
Каждая клетка может участвовать в нескольких объединениях.
Нельзя объединять две клетки, которые уже были объединены ранее каким либо другим способом.
Все полученные конъюнкции соединяются операцией дизъюнкцией. Полученное выражение будет искомой функцией.
1
