В некоторых случаях, при конструировании логического устройства, под руками не оказывается нужных по структурной организации логических элементов. Однако, практически всегда, можно собрать необходимый логический элемент из более простых по структуре логических элементов. Рассмотрим некоторые примеры подобных решений:
1. Расширение логических элементов по входам. Иногда требуются логические элементы с нестандартным количеством входов. Такую ситуацию можно обойти либо поиском уже готовых логических элементов, либо объединением нескольких логических элементов, с меньшим количеством входов, с целью получения необходимой структуры.
Например, если необходимо собрать логический элемент «И» с тремя входами, а под рукой есть подобные элементы только с двумя входами, то выйти из ситуации можно объединением имеющихся элементов. Принципиальная схема подобной структуры имеет вид, показанный на рисунке 11.
Рис. 11. Расширение логических элементов по входам
Логическая функция, показанной на рисунке 11 схемы имеет вид: (Х1*Х2)*Х3 = Х1*Х2*Х3. В левой части уравнения показана логическая функция, реализованная на «сборной» логике, в правой части показана функция, реализованная на «нормальном» элементе с тремя входами. Как видно - функции идентичны. Эти же закономерности справедливы и для логических элементов «ИЛИ», т.е. (Х1+Х2)+Х3 = Х1+Х2+Х3.
2. Реализация инверторов из логических элементов «И-НЕ» и «ИЛИ-НЕ». Иногда необходимо поставить в схеме инвертор, но готовых элементов «НЕ» нет, зато есть «неизрасходованные» из одного корпуса уже применённой логической микросхемы элементы «ИЛИ-НЕ» или «И-НЕ», которые также с успехом можно использовать как элементы «НЕ». В этом случае справедливо следующее включение логических элементов «И-НЕ» и «ИЛИ-НЕ» в качестве элементов «НЕ» (см. рис. 12).
Рис. 12. Реализация инверторов на элементах «И-НЕ» и «ИЛИ-НЕ»
3. Уменьшение входов логических элементов. Иногда, при разработке логических устройств, в схеме применяются многовходовые логические элементы, и может произойти ситуация, когда остаются неиспользованные элементы из частично использованного корпуса микросхемы. В этом случае, неиспользованный многовходовый логический элемент можно использовать как более простой по структуре входов. Однако необходимо отметить одну особенность применения многовходовых элементов в качестве более простых. Дело в том, что в логических элементах обязательно должны быть подключены все входы. Иначе микросхема не сможет функционировать правильно. Таким образом, использование логического элемента «И-НЕ» с четырьмя входами как элемента «И-НЕ» с тремя входами приобретает вид, показанный на рисунке 13.
Рис. 13. Пример уменьшения входов логического элемента
4. Теорема Де Моргана. Указанная теорема оказывается весьма полезной при реализации логических устройств. Применение указанной теоремы позволяет реализовывать булевы функции практически на любых логических элементах.
Теорема: Инверсия булевой функции эквивалента инверсии всех её аргументов и взаимной замене операций логического «И» на «ИЛИ» и наоборот.
Таким образом, абстрактная булева функция может быть представлена как:
.
Анализируя приведённую функцию можно сделать один важный вывод: одну и ту же булеву функцию можно реализовать с помощью разных логических элементов.
Из теоремы Де Моргана следует следующая справедливая замена (см. рис. 14).
Рис. 14. Применения теоремы Де Моргана
Таблица истинности работы такой структуры имеет вид:
Х1
Х2
У1
У
Итак, на основе теоремы Де Моргана мы доказали, что логический элемент «ИЛИ» может быть представлен совокупностью логических элементов «И» (инверторы также можно собрать на элементах «И-НЕ»). На основании теоремы Де Моргана справедливы следующие сопоставления (см. рис. 15).
Рис. 15. Примеры применения теоремы Де Моргана
Обобщая всё вышесказанное, можно выделить несколько базисных наборов логических элементов, на которых можно реализовать любую булеву функцию: