Элемент Шеффера (элемент И-НЕ) - реализует операцию логическое умножение с отрицанием. На выходе сигнал "1" имеет место всегда, кроме случая, когда сигналы "1" на всех входах совпадают (рис. 6.11.).
Элемент Пирса (элемент ИЛИ-НЕ) - реализует операцию логическое сложение с отрицанием. На выходе сигнал "1" имеет место только в случае, если на всех входах одновременно будет сигнал "0" (рис.6.12.).
Логическое уравнение работы элемента Пирса:
. (6.8)
Поэтому логическую схему элемента Пирса можно представить рисунком 6.12.
Рисунок 6.12. Условное обозначение и таблица состояний
элемента Пирса
Пример 6.2. В соответствии с теоремой Моргана имеем: . Отсюда следует, что операцию логического сложения Х1 + Х2можно заменить операцией логического умножения над инверсными значениями переменных, а затем к результату применить операцию инверсии и тем самым исключить элемент ИЛИ.
Реализация операции ИЛИ на элементах И, НЕ:
Следовательно, системы, состоящие из двух элементов (ИЛИ, НЕ либо И, НЕ), также являются функционально полными системами и содержат минимальный логический базис.
6.7. Базис { , Å}
Этот базис образован двумя функциями - конъюнкцией ( ) и суммой по mod2 (Å), и, соответственно, функционально полный набор элементов состоит из многовходовых элементов И и многовходовых элементов «сумматоров по mod2». И те, и другие элементы были рассмотрены выше. Если учесть выражение функции «сложение по mod2» через операции конъюнкции, инверсии и дизъюнкции, то можно понять, каким образом реализуется инверсия. Например, выражение двухместной функции «сложение по mod2» имеет следующий вид:
Y = a Å b = .
Если положить b = 1 и сделать подстановку этого значения в приведённое выражение, то получим
Y = a Å 1 = .
Таким образом, если на один вход элемента 2Å постоянно подать сигнал лог.1, то элемент будет выполнять функцию инверсии (элемента НЕ). А если положить b = 0, то есть на один из входов элемента подать сигнал лог.0, то двухвходовой сумматор по mod2 будет выполнять функцию повторения (играть роль повторителя).
Используя определение функции сложения по модулю два, можно получить алгебраические выражения основных соотношений, необходимых для перехода из базиса {И, ИЛИ, НЕ} в базис { , Å}:
а Å 0 = а; а Å 1 = ; а Å а = 0;
а Å = 1; a + b = а Å b Å ab. (6.9.)
В выражениях (6.9.) под аргументами а и b можно понимать не только простые переменные, но и сложные логические выражения (функции).
Следует отметить, что сумма по mod2 одного и того же аргумента, взятого чётное число раз, равна нулю, если же аргумент суммируется нечётное число раз, то сумма по mod2 будет равна самому аргументу. Поэтому в литературе употребляется иное название этой функции - «свёртка по mod2».
Пример 6.3. Рассмотрим приведение функции мажоритарности «³2 из 3-х» в базис { , Å}. Исходное алгебраическое выражение этой функции имеет вид:
F = ab + bc + ac.
Используем операцию выноса за скобки общих сомножителей и заменим символы дизъюнкции через операции конъюнкции и суммы по mod2 согласно выражениям (6.9.). Тогда получим
F = ab + bc + ac = (a + c) b + ac = b (a Å c Å ac) + ac;
F = ac Å b (a Å c Å ac) (ac Å 1).
По полученному выражению строим функциональную эквивалентную схему мажоритарного элемента в базисе { , Å}.
Рисунок 6.13. Схемы реализации в базисе {&, Å} функций:
НЕ (а), «повторение» (б), мажоритарности «³2 из 3-х» (в)
Эта схема и варианты использования элемента 2Å в качестве элемента НЕ и повторителя, а также реализация функции 2ИЛИ приведены на рис.6.13. На рис.6.13,а и рис.6.13,б показано, как реализуются соответственно элемент НЕ и повторитель, а на рис.6.13,в - мажоритарный элемент. В частности, фрагмент схемы из элементов D1 и D3 иллюстрирует реализацию элемента 2ИЛИ. Кроме того, на этом же рисунке показаны способы реализации шин лог.1 и лог.0.
Причём один элемент 2И останется неиспользованным. Однако в данном случае номенклатура микросхем включает в себя микросхемы двух типов. И это можно считать некоторым недостатком реализации устройств в «многофункциональных» базисах. Другими словами, реализация устройств на функционально полных наборах, состоящих из двух, трёх и т.д. различных типах логических элементов, нежелательна из-за снижения степени унификации получаемых устройств. Вместе с тем переход от «простых» базисов, образованных только одной функцией, к более «сложным», образованным несколькими простыми функциями либо более сложными функциями, позволяет существенно упрощать схемотехнические решения проектируемых устройств.
Гораздо проще воспользоваться матричной формой задания функций, чтобы перейти в избыточный базис { , Å, ИЛИ}. Характерным признаком, по которому можно определить возможность реализации некоторой функции с использованием функций сложения по mod2, является расположение единиц (либо нулей) в «шахматном порядке», т.е. в «не соседних» клетках [19].
Предварительно заметим, что благодаря справедливому в алгебре логики закону тавтологии (а+а+¼+а = а и а·а·¼·а = а), составляемые шахматные узоры могут частично пересекаться, и это следует учитывать при отыскании минимальных алгебраических выражений.
Поскольку алгебраическое выражение находится по единицам, то выражение функции следует записывать в виде дизъюнкции. Выделив шахматный узор рис.6.14,а, замечаем, что он располагается полностью на области .
Рисунок 6.14. Отыскание алгебраического выражения функции логического порога в базисе { , Å, ИЛИ}.
Переменные b и c принимают противоположные значения, поэтому этому узору соответствует сумма по mod2 названных аргументов, умноженная на , то есть . Аналогично по рис.6.14,б находим . Далее по рис.6.14,в и г получим и соответственно. Таким образом, все единичные значения функции покрыты. Теперь можно записать полное алгебраическое выражение функции:
Y = + + + .
Применим операцию выноса за скобки общих сомножителей, тогда получим
Y = + .
В свою очередь в образованных скобочных выражениях получена сумма по mod2, соответственно, аргументов a, d и c, d. Окончательно получаем
Y = + .
На этом примере мы рассмотрели ещё один из методов приведения алгебраических выражений логических функций в заданный базис. Существуют и другие функционально полные наборы логических элементов (и базисы логических функций). Дополнительный материал по различным базисам можно найти в [4].
В общем случае задача приведения произвольных логических функций в заданный или требуемый базис достаточно сложна и до сих пор нет достаточно эффективных методов её решения.
Существуют (в интегральном исполнении) универсальные логические модули, которые по своим свойствам эквивалентны одному из функционально полных наборов логических элементов. Такие микросхемы относятся к ИМС средней степени интеграции, и на них можно строить любые логические устройства.
Ещё весьма существенное замечание. Задача представления произвольных логических функций через другие, выбранные определённым образом логические функции, относится к задаче функциональной декомпозиции логических функций.Эта задача не имеет окончательного решения, хотя существуют некоторые общие подходы к её решению [5]. В указанной литературе можно найти также сведения о классах логических функций, их представления через другие функции и о методах минимизации логических функций.