- •5 Логические (цифровые) устройства 106
- •5.1 Комбинационные логические элементы 106
- •5.2 Последовательностные устройства 130
- •5 Логические (цифровые) устройства
- •5.1 Комбинационные логические элементы
- •5.1.1 Основные определения алгебры логики
- •5.1.2 Представление логических функций
- •5.1.3 Законы (правила преобразования) алгебры логики
- •5.1.4 Способы минимизации логических функций
- •5.1.5 Основные параметры и характеристики цис
- •5.1.6 Основные серии цифровых интегральных схем
- •5.1.7 Схемотехника логических элементов на диодах
- •5.1.8 Схемотехника ттл логики
- •5.10 Ттл логический элемент или-не
- •5.1.9 Схемотехника кмоп логических элементов
- •5.1.10 Сумматоры
- •5.1.11 Дешифраторы
- •5.1.12 Мультиплексоры
- •5.2 Последовательностные устройства
- •5.2.1 Rs-триггер
- •Синтез rs-триггера на элементах или-не
- •5.2.2 Счетный т-триггер
- •5.2.4 Универсальный jk-триггер
- •5.2.5 Счетчики сигналов
- •5.2.6 Регистры
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.3)
/ \
контур 1 контур 2
Анализ нулевых контуров дает следующее выражение для КНФ
(5.4)
/ \
контур 3 контур 4
Переход от логической формулы к логической схеме
Логические элементы, при построении логической схемы, располагаются в том же порядке, в каком выполняются логические операции в формуле. При этом формула преобразуется так, чтобы группы операций соответствовали функциям, выполняемым элементами, на базе которых строится схема.
Пример: Постройте логическую схему на базе элементов «И-НЕ» и «НЕ» для логической формулы .
Преобразуем формулу, выразив ее через операции «И-НЕ» и «НЕ», для чего применим закон двойного отрицания, а затем правило де Моргана
. (5.5)
Рис.5.3 Схемная реализация формулы (4.5).
Пример: Постройте логическую схему на базе элементов «ИЛИ-НЕ» и «НЕ» для логической формулы .
Преобразуем формулу, выразив ее через операции «ИЛИ-НЕ» и «НЕ», для чего применим закон двойного отрицания, а затем правило де Моргана
. (5.6)
Логическая схема, соответствующая преобразованному выражению (5.6) приведена на рис.5.4. Следует отметить, что структура реализации формул (5.5) и (5.6) отличаются лишь инвертором в схеме рис. 5.4, то есть реализация в базисе ИЛИ-НЕ оказалась более сложной. Однако, если за исходную формулу взять КНФ, то реализация в базисе ИЛИ-НЕ окажется более компактной, чем реализация в базисе И-НЕ.
Рис5.4 Схемная реализация формулы (5.6)