Исследование возможностей реализации одних логических функций через другие
Цели работы:
· научиться построению логических цепей с использованием ограниченного набора операторов путем практической реализации схемы логической функции с использованием других базовых логических функций, кроме моделируемой;
· практическая реализация схемы логической функции с использованием производных логических функций, кроме моделируемой.
Рассмотрим несколько практических примеров. Напомним, что очень часто при создании логических автоматов в процессе реализации возникают сложности с компонентами: нет под рукой необходимых интегральных микросхем (ИМС). Наряду с этим существует еще одно ограничивающее обстоятельство – количество выпускаемых ИМС с функциями «НЕ», «И», «ИЛИ» очень ограничено, рынок насыщен другими более простыми в реализации: «ИЛИ-НЕ», «И-НЕ» на разное количество входов. В связи с этим возникает необходимость выражения той или иной базовой логической функции через другие (базовые или производные).
Напоминаем, что к базовым логическим функциям относятся: «И», «ИЛИ», «НЕ», а к производным: «ИЛИ-НЕ», «И-НЕ», «ИЛИ ИСКЛЮЧАЮЩЕЕ».
Выражение функции «НЕ» через производную функцию «ИЛИ-НЕ»
Выражения для функций «ИЛИ-НЕ» (NOR) и «И-НЕ» (NAND) выглядят соответственно следующим образом
S=Ø(E1 + E2 + …+ En) и S=ØE1 . ØE2 . …. ØEn.
Если все Ei =1, то E1 = E2 =…=En и тогда
S= Ø(E1+E2+…+En)= ØE1 и S=ØE1 . ØE2 . …. ØEn = ØE1,
что является выражениями для функции «НЕ». Следовательно, эквивалентные схемы (для функций «И-НЕ» и «ИЛИ-НЕ» с двумя входами) выглядят следующим образом (рис. 3.5).
![]() |
E ³1 S E & S E 1 S
Рис. 3.5. Эквивалентные схемы логических функций
Существует еще одно схемное решение, которое студентам предстоит найти самостоятельно при выполнении лабораторной работы. Соответственно, решения будут различными относительно различных производных функций.
Выражение функции «ИЛИ»
а) через функции «НЕ» и «И»
Метод, используемый для получения схемы, называется методом идентификации: отталкиваясь от уравнения искомой функции и зная доступные элементы, с одной стороны, производят поиск идентичных членов, с другой – уравнение пытаются преобразовать к виду, идентичному для тех элементов, которыми располагают. Рассмотрим пример для логических операторов с двумя входами (для операторов с большим количеством входов решения будут аналогичны за некоторым отличием, которое студенты должны сформулировать и исследовать самостоятельно при выполнении лабораторной работы).
Исходные данные:
· имеются ИМС, реализующие логические выражения a·b и логическое отрицание;
· следует реализовать логическое выражение S = А+В.
Преобразуем S в произведение, так как мы располагаем операторами, реализующими логические произведения:
=
(первое преобразование – двойная инверсия; второе – теорема Моргана).
Пусть
и
, тогда 
Мы видим в выражении произведение, характерное для элементов, которыми мы располагаем, и инверсию, которую мы также можем реализовать.
Искомая структурная схема выглядит так, как показано на рис. 3.6. Отметим, что построение схемы следует начинать с выхода и двигаться ко входу справа налево.

Рис. 3.6. Искомая структурная схема для функции S
б) через функцию «ИЛИ –НЕ»
Исходные данные:
· имеются ИМС, реализующие логическое выражение
;
· следует реализовать логическое выражение S = A + B.
Оба выражения имеют одинаковый вид (сумма). Обозначим А = а, В = b и получим
S = a + b.
Инвертируем дважды, чтобы получить требуемое выражение из элементов, которыми располагаем,
.
Иначе говоря, S является инверсией логической функции «ИЛИ-НЕ», а как получить инвертор из ИМС, реализующей логическую функцию «ИЛИ-НЕ», уже известно. Искомая схема выглядит, как показано на рис. 3.7.
![]() |
A ³1 ³1 S
B
Рис. 3.7. Искомая структурная схема для функции S
При выполнении студентами лабораторной работы им следует самостоятельно скомпоновать схему при помощи ИМС, реализующих производную логическую функцию «И‑НЕ».
Реализация функции «И»
а) с помощью функций «НЕ» и «ИЛИ»
Исходные данные:
· в наличии имеются ИМС, реализующие логические функции a + b и инверсии;
· следует построить схему, реализующую логическую функцию S = A · B.
Дважды проинвертируем S:
;
пусть
и
, тогда
, что уже легко реализуемо при помощи имеющихся ИМС (рис. 3.8).
![]() |
Рис. 3.8. Искомая реализация функции S
Таким образом, мы убедились, что любую базовую логическую функцию можно реализовать через комбинацию функций: «НЕ», «ИЛИ», «И».
Задачей лабораторной работы является исследование других вариантов.
Порядок выполнения работы
Прежде чем начать выполнение работы, следует внимательно прочесть все задание.
1. Пользуясь законами булевой алгебры сформировать логическую функцию, результат которой будет:
1) все четные варианты – f=0;
2) все нечетные варианты – f=1;
3) варианты, кратные трем, – функция должна быть избыточной, т.е. не зависеть от одной из переменных.
Для сформированной логической функции постройте таблицу истинности, реализуйте функцию в программе LOGO! Soft Comfort, проверьте ее работоспособность. Это задание выполняется во всех вариантах. Повторение функций недопустимы.
2. Найдите второй вариант выражения логической функции «НЕ» через функцию «ИЛИ-НЕ». Реализуйте схему при помощи программы LOGO! Soft Comfort, продемонстрируйте результат работы схемы преподавателю и занесите данные в таблицу истинности. Это задание также выполняется во всех вариантах. Для выполнения, а также для выполнения следующего задания рекомендуется в рабочем поле программы LOGO! Soft Comfort строить как исследуемую логическую цепочку, так и тестируемую. Пример для реализации функции ИЛИ через функции НЕ и И показан на рис. 3.9. При таком решении очень просто проиллюстрировать адекватность исследуемой и тестируемой логических цепочек – при одинаковом состоянии входов должно быть одинаковое состояние выходов. Минимальное число входов для тестируемых функций – два.

Рис. 3.9. Построение схем для исследуемой
и тестируемой логических цепочек
3 Задание выполняется по вариантам, согласно табл. Х. Следует реализовать указанную функцию в определенном базисе. Количество блоков одной функции не ограничено.
Таблица Х
| № варианта | Функция | Базис |
| 1, 11, 20 | импликация | Ù, Ú, Ø |
| 2, 12, 19 | импликация | ï |
| 3, 13, 18 | импликация | Ù, Ø |
| 4, 14, 17 | импликация | Ú, Ø |
| 5, 15, 16 | импликация | ¯ |
| 6, 16, 15 | эквивалентность | Ù, Ú, Ø |
| 7, 17, 14 | эквивалентность | ï |
| 8,18, 13 | эквивалентность | Ù, Ø |
| 9, 19, 12 | эквивалентность | Ú, Ø |
| 10, 20, 11 | эквивалентность | ¯ |
| 11, 1, 10 | «ИЛИ» | «НЕ», «И» |
| 12, 2, 9 | «ИЛИ» | «И-НЕ» |
| 13, 3, 8 | «ИЛИ» | «ИЛИ-НЕ» |
| 14, 4, 7 | «И» | «И-НЕ» |
| 15, 5, 6 | «И» | «ИЛИ-НЕ» |
| 16, 6, 5 | «И» | «НЕ», «ИЛИ» |
| 17, 7, 4 | «ИЛИ-НЕ» | «НЕ», «И» |
| 18, 8, 3 | «ИЛИ-НЕ» | «И-НЕ» |
| 19, 9, 2 | «И-НЕ» | «НЕ», «ИЛИ» |
| 20, 10, 1 | «И-НЕ» | «ИЛИ-НЕ» |
7. Представить по вариантам (табл. 3.16) булевы функции в одной из функционально полных систем (наиболее подходящей) и составить соответствующую модель логического устройства. Сравнить значения исходной функции, полученные с помощью таблицы, с её значениями в функциональной полной системе на модели.
Таблица 3.16
| № варианта | Язык программирования | функции |
| LAD | y(A,B,C)=(( ®B)®A)®B( «A)
| |
| LAD | y(A,B,C)=( ®B(A®C))®( ÚB) .
| |
| LAD | y(A,B,C)=((B®C)®A)®( ÚB® )
| |
| LAD | y(A,B,C)=((C «A)®C)®( ÚC«C).
| |
| LAD | y(A,B,C)=(C®( «BÚC))®(ACÚB«BC)
| |
| LAD | y(A,B,C)=((A ®C)®B)®(A «AÚB).
| |
| LAD | y(A,B,C)=(A®( «AÚC))®(B®AÚC)
| |
| LAD | y(A,B,C)=(A®( «AÚB))®(AÚB«BC)
| |
| LAD | y(A,B,C)=((A«BÚ )®( CÚB® ).
| |
| LAD | y(A,B,C)=(AB®C)®(AÚC®A )
| |
| LAD | y(A,B,C)=( C®(C« ))®( Ú ®A)
| |
| LAD | y(A,B,C)=((A«BC)®C)®(AÚC«B) | |
| LAD | y(A,B,C)= ( B)®(СÚАÚВ) ®С
| |
| LAD | y(A,B,C)= (A«СÚ )®( «AÚC)
| |
| LAD | y(A,B,C)= ((А«В) ® ∙(СÚА))
| |
| FBD | y(A,B,C)=(( ®B)®A)®B( «A)
| |
| FBD | y(A,B,C)=( ®B(A®C))®( ÚB) .
| |
| FBD | y(A,B,C)=((B®C)®A)®( ÚB® )
| |
| FBD | y(A,B,C)=((C «A)®C)®( ÚC«C).
| |
| FBD | y(A,B,C)=(C®( «BÚC))®(ACÚB«BC)
| |
| FBD | y(A,B,C)=((A ®C)®B)®(A «AÚB).
| |
| FBD | y(A,B,C)=(A®( «AÚC))®(B®AÚC)
| |
| FBD | y(A,B,C)=(A®( «AÚB))®(AÚB«BC)
| |
| FBD | y(A,B,C)=((A«BÚ )®( CÚB® ).
| |
| FBD | y(A,B,C)=(AB®C)®(AÚC®A )
| |
| FBD | y(A,B,C)=( C®(C« ))®( Ú ®A)
| |
| FBD | y(A,B,C)=((A«BC)®C)®(AÚC«B) | |
| FBD | y(A,B,C)= ( B)®(СÚАÚВ) ®С
| |
| FBD | y(A,B,C)= (A«СÚ )®( «AÚC)
| |
| FBD | y(A,B,C)= ((А«В) ® ∙(СÚА))
|
Контрольные вопросы
1. Перечислите базовые логические функции.
2. Перечислите производные логические функции.
3. Перечислите аксиомы булевой алгебры.
4. С какой целью используется выражение одних логических функций через другие?
5. Приведите выражения для двух законов инверсии (1‑я и 2-я теоремы Моргана).
6. Какими известными Вам способами можно описать логическую функцию (перечислите)?
7. Для описания, анализа и синтеза каких устройств применяется логическая алгебра (сформулируйте)?
8. Имеет ли значение последовательность использования элементов НЕ и И?
9. Имеет ли значение последовательность использования элементов НЕ и ИЛИ
10. Нарисуйте схемы устройства (на электрических контактах и на логических элементах), которое описывает следующее логическое выражение (сначала попытайтесь упростить):




®B)®A)®B(
®B(A®C))®(
.






