Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Студентам ФОЭ / Усольцев В.К. ФОЭ конспект лекций / ФОЭ Ч5 Логические элементы.doc
Скачиваний:
273
Добавлен:
20.02.2016
Размер:
1.09 Mб
Скачать

5.1.3 Законы (правила преобразования) алгебры логики

Правила преобразования логических формул позволяют преобразовать логическую формулу с целью упрощения или для возможности реализации на конкретном типе логических элементов.

Таблица 5.3 Правила преобразования алгебры логики

Логические формулы

Закон

a b = b a ; a + b = b + a

Переместительный

( a + b ) c = a c + b c

Распределительный

( a + c ) ( b + c ) = a b + c

Распределительный

a.a = a ; a + a = a

Повторения

a .1 = a ; a + 1 = 1

Множества

Дополнения

де Моргана

де Моргана

Склеивания

Докажем справедливость неочевидных преобразований:

;

;

.

Справедливость привил де Моргана докажем, сравнив таблицы соответствия.

1

2

3

4

5

6

7

8

9

10

1

0

0

1

1

0

0

1

1

1

1

2

0

1

1

0

0

1

0

1

1

0

3

1

0

0

1

0

1

0

1

1

0

4

1

1

0

0

1

1

0

0

0

0

Сравнивая восьмой и девятый столбцы, докажем равенство .

Сравнивая седьмой и десятый столбцы, докажем равенство .

Преобразование ДНФ в СДНФ.

Совершенные формы единственны и обычно являются исходными для минимизации по алгоритмам, обеспечивающим получения минимальных логических формул.

Для развертывания ДНФ в каждое слагаемое добавляется недостающая переменная, используя правило , и раскрываются скобки.

Процедура повторяется до тех пор, пока слагаемые не станут содержать все переменные.

Пример. ДНФ = , преобразуем в СДНФ

Преобразование КНФ в СКНФ.

В каждую сумму добавляем недостающую переменную, используя правило . Разворачиваем результат в КНФ, используя правило

.

Процедура повторяется до тех пор, пока суммы не станут содержать все переменные.

Пример. КНФ= , преобразуем вCRYA

5.1.4 Способы минимизации логических функций

Минимизация логических функций (уменьшение числа букв в логической формуле) необходима для реализации функции минимальным числом логических элементов. Минимизация осуществляется путем преобразования логической формулы по правилам, приведенным в табл.4.3, или по карте Карно.

Условия минимизации:

  • Задана логическая функция в виде логической формулы, таблицы состояния, СДНФ, карты Карно.

  • Система элементарных логических функций, которой будет реализована минимальная формула.

  • Сложность реализации (цена) каждой элементарной функции.

  • Критерий минимизации (экономичность, быстродействие, минимум элементов и т.д.).

Реально разработаны алгоритмы минимизирующие число букв в логическом выражении в элементном базисе И. ИЛИ, НЕ. Считается, что инверсия не требует дополнительных затрат. Такие алгоритмы хорошо подходят для релейных схем. Для бесконтактных логических элементов минимизация заключается в минимизации корпусов микросхем, что трудно формализовать.

Непосредственная минимизация по алгоритму Квайна

Исходной является СДНФ. Соседними слагаемыми называются такие, которые отличаются значением только одной переменной, то есть в одном слагаемом переменная без инверсии, в другом с инверсией.

1. Для каждой пары соседних слагаемых применяют операцию склеивания .

2. Приводят подобные слагаемые по правилу а + а = а.

3. повторяют пункты 1 и 2 пока это возможно.

4. Применяют, если это возможно, формулу .

Пример. Минимизировать СДНФ .

Имеем три пары соседних слагаемых (каждое слагаемое может многократно входить в пару).

Соседние слагаемые

Результат склеивания

Минимизация логической функции с помощью карты Карно

Минимизация логической функции с помощью карты Карно осуществляется по следующему алгоритму:

  • Для получения ДНФ все единицы объединяются в прямоугольные контуры, не содержащие внутри нулей, с числом клеток в контуре , гдеn = 0, 1, 2, 3,...

  • Контур проводится через соседние клетки, т.е. клетки, отличающие значением только одной переменной.

  • Контуры могут частично накладываться друг на друга и должны иметь максимальные возможные размеры.

  • Единичному контуру соответствует произведение переменных, в области единичного значения которых он находится полностью, т.е. границ их изменения не пересекает.

  • ДНФ получается в виде суммы значений всех единичных контуров.

  • Для получения минимальной ДНФ размеры контуров должны быть максимальны, а их число минимально.

  • Для получения КНФ все нули объединяются в прямоугольные контуры, не содержащие внутри единиц, с числом клеток в контуре , гдеn = 0, 1, 2, 3...

  • Контур проводится через соседние клетки, т.е. клетки, отличающие значением только одной переменной.

  • Контуры могут частично накладываться друг на друга и должны иметь максимальные возможные размеры.

  • Нулевому контуру соответствует сумма инвертированных значений переменных, в области единичного или нулевого значения которых он находится полностью, т.е. границ их изменения не пересекает.

  • КНФ получается в виде произведения значений всех нулевых контуров.

  • Для получения минимальной КНФ размеры контуров должны быть максимальны, а их число минимально.

Пример: Минимизировать карту Карно, приведенную на рис.4.2.

Рис.5.2 Карта Карно с единичными и нулевыми контурами

Анализ единичных контуров дает следующее выражение для ДНФ

(5.3)

/ \

контур 1 контур 2

Анализ нулевых контуров дает следующее выражение для КНФ

(5.4)

/ \

контур 3 контур 4

Переход от логической формулы к логической схеме

Логические элементы, при построении логической схемы, располагаются в том же порядке, в каком выполняются логические операции в формуле. При этом формула преобразуется так, чтобы группы операций соответствовали функциям, выполняемым элементами, на базе которых строится схема.

Пример: Постройте логическую схему на базе элементов «И-НЕ» и «НЕ» для логической формулы .

Преобразуем формулу, выразив ее через операции «И-НЕ» и «НЕ», для чего применим закон двойного отрицания, а затем правило де Моргана

. (5.5)

Логическая схема, соответствующая преобразованному выражению (4.5) приведена на рис.4.3.

Рис.5.3 Схемная реализация формулы (4.5).

Пример: Постройте логическую схему на базе элементов «ИЛИ-НЕ» и «НЕ» для логической формулы .

Преобразуем формулу, выразив ее через операции «ИЛИ-НЕ» и «НЕ», для чего применим закон двойного отрицания, а затем правило де Моргана

. (5.6)

Логическая схема, соответствующая преобразованному выражению (5.6) приведена на рис.5.4. Следует отметить, что структура реализации формул (5.5) и (5.6) отличаются лишь инвертором в схеме рис. 5.4, то есть реализация в базисе ИЛИ-НЕ оказалась более сложной. Однако, если за исходную формулу взять КНФ, то реализация в базисе ИЛИ-НЕ окажется более компактной, чем реализация в базисе И-НЕ.

Рис5.4 Схемная реализация формулы (5.6)