В полном дешифраторе все возможные наборы входных переменных последовательно преобразуются в единицы (дешифратор с активной единицей на выходе) или нули (дешифратор с активным нулем на выходе). поэтому для реализации на дешифраторе логическую функцию удобно представить в одной из совершенных нормальных форм – СДНФ, в которой каждый терм (минтерм) представляет единичное значение функции, или СКНФ, в которой каждый терм (макстерм) представляет нулевое значение функции.
Поскольку имеется два вида полных дешифраторов и две совершенные нормальные формы функции, то существуют четыре возможных варианта решения задачи реализации функции на дешифраторе.
Рассмотрим подробно различные дешифраторы 2 – 4 без входов управления. Пример такого дешифратора с активной единицей на выходах показан на рис. 2.1,в, а его таблица истинности приведена в табл. 2.1.
Дешифратор с активным нулем на выходе (таблицу истинности такого дешифратора см. в табл. 2.2) можно получить из дешифратора с активной единицей на выходе заменой выходных элементов И на И-НЕ.
(различные преобразования дешифраторов см. в табл. 2.3, где графа 2 получена из графы 1 заменой конъюнкций на штрих Шеффера, т.е. инвертированием, графа 3 получена из графы 2 путем преобразования по закону де Моргана, графа 4 получена из графы 3 заменой дизъюнкции на стрелку Пирса (инвертированием).)
Пусть требуется реализовать логическую функцию, зависящую от двух переменных и представленную таблицей истинности (см. табл. 2.4).
Таблица 2.3
Активный уровень на выходе
”1”
”0”
”0”
”1”
yi
yi
yi
yi
Таблица 2.4
Сложение по модулю 2
№
b
a
f
СДНФ этой функции
,(4)
цифрами обозначены номера выходов дешифратора и наборы, на которых функция равна 1.
Для реализации этой функции на дешифраторе с активной единицей на выходах достаточно подать сигналы с указанных выходов дешифратора на элемент ИЛИ. На выходе этого элемента будем иметь функцию f (см. рис. 2.7,а).
Чтобы реализовать функцию на дешифраторе с активным нулем на выходах, выполним следующее преобразование
. (5)
Здесь , , – соответствующие выходы дешифратора с активным нулем.
Таким образом, для реализации функции на дешифраторе с активным нулем достаточно подать сигналы с указанных выходов дешифратора на элемент И-НЕ. На выходе этого элемента будем иметь функцию f.
СКНФ функции
. (6)
Здесь цифрами обозначены номера выходов дешифратора с активным нулем и наборы, на которых функция равна 0.
Для реализации функции в такой форме нужен дешифратор с активным нулем на выходах, у которого выходы формируются по правилу, показанному на примере выхода 0:
.
Как видим из уравнения (6), функцию можно реализовать, подав сигналы с указанных выходов дешифратора с активным нулем на элемент И, на выходе этого элемента получим функцию f.
Для реализации функции, представленной СКНФ, на дешифраторе с активной единицей на выходах проведем такое преобразование
. (7)
Теперь можно реализовать нашу функцию, подав сигналы с выходов 0 и 3 дешифратора с активной единицей на выходах на элемент ИЛИ-НЕ.
Таким образом, для реализации логической функции по уравнению (4) требуется дешифратор с активной единицей на выходах и двухвходовый элемент ИЛИ (у функции две единицы в таблице истинности) (рис. 2.7,а); по уравнению (5) требуется дешифратор с активным нулем на выходах и двухвходовый элемент И-НЕ (рис. 2.7,б); по уравнению (6) - дешифратор с активным нулем на выходах и двухвходовый элемент И (в таблице истинности функции два нуля) (рис. 2.7,в) и по уравнению (7) - дешифратор с активной единицей на выходах и двухвходовый элемент ИЛИ-НЕ (рис. 2.7,г).
Из примера следует, что для реализации произвольной логической функции, зависящей от n переменных, требуются дешифратор n в 2n и один логический элемент (ИЛИ, И-НЕ, И, ИЛИ-НЕ) с числом входов не более 2n-1.