Двоичные дешифраторы
Лекция 1.1
Двоичные дешифраторы
Наряду с булевыми функциями вида (1.11) можно рассматривать более сложные отображения
, (1.12)
которые каждому значению m-мерного двоичного вектора из множества ставит в соответствие определённое значение n-мерного двоичного вектора из множества . Устройства, реализующие отображения вида (1.12), называются функциональными преобразователями.
Чтобы упростить построение функциональных преобразователей, вместо одного отображения реализуют n функций вида (1.11) , где i = 1, …, n. Этот приём представлен на рис. 1.8.
Наряду с булевыми функциями (2) можно рассматривать отображения
, (3)
которые каждому значению n-мерного двоичного вектора из множества ставит в соответствие определенное значение m-мерного двоичного вектора из множества . Устройства, реализующие отображения вида (3), называются функциональными преобразователями.
Чтобы упростить построение функциональных преобразователей, вместо одного отображения реализуют m функций вида (2) . Этот приём представлен на рис. 1.
3.1.1. Определение двоичного дешифратора
Двоичный дешифратор [Deсoder] это комбинационное цифровое устройство (КЦУ), относящееся к преобразователям кодов и преобразующее двоичный код в код “1 из N ” (унитарный десятичный код). Дешифратор позволяет распознать m-разрядное входное двоичное число путём получения логической единицы на одном из выходов.
Если значение на разрешающем входе EN равно 1, то в кодовой комбинации (таблице истинности) дешифратора только одна позиция будет занята единицей, а все остальные нулями; если EN = 0, то все выходы будут нулевыми. Например, двоичный дешифратор 2-4, преобразующий двухразрядный (двухбитный) двоичный код в код “1 из 4”, содержащий 4 кодовые комбинации, будет иметь следующую таблицу истинности:
Таблица 3.1
Вход EN |
Входы |
Десятичное значение входного кода |
Выходы |
||||
x1 |
x0 |
F0 |
F1 |
F2 |
F3 |
||
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
2 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
3 |
0 |
0 |
0 |
1 |
0 |
x |
x |
x |
0 |
0 |
0 |
0 |
Примечание: x любое значение
Таблица истинности полного трёхвходового дешифратора (3-8) представлена в табл. 3.2.
Из таблицы истинности видно, что двоичный дешифратор, в общем случае имеющий m входов, должен иметь N = 2m выходов, соответствующих числу разных комбинаций в m-разрядном двоичном коде. В зависимости от входного двоичного кода на выходе дешифратора возбуждается одна и только одна из выходных цепей, номер которой равен десятичному эквиваленту входной двоичной комбинации, поэтому в определённом смысле дешифратор можно назвать преобразователем двоичного кода в десятичный.
Таблица 3.2
EN |
x2 |
x1 |
x0 |
F0 |
F1 |
F2 |
F3 |
F4 |
F5 |
F6 |
F7 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
x |
x |
x |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Если у дешифратора используются все входные комбинации, то дешифратор называют полным. Если часть входных наборов не используется, то дешифратор называют неполным, и у него число выходов будет меньше 2m.
Условное графическое обозначение (УГО) полного двоичного дешифратора 4-16 показано на рис. 3.1. В условном обозначении дешифраторов проставляются буквы DC (от англ. DeCoder). Информационные входы дешифратора принято обозначать их двоичными весами по степеням числа 2 (1, 2, 4, 8, …, 2m) или соответствующими степенями (0, 1, 2, 3, …, m). Кроме информационных входов дешифратор обычно имеет один или несколько входов разрешения работы, обозначаемых как EN (ENable разрешить) или просто E. Вход разрешения имеет ещё несколько обозначений: английское CS (Crystal/Chip Select выбор кристалла/чипа) или русский эквивалент ВК (выбор кристалла); иногда входы разрешения обозначаются как G.
Если входов разрешения несколько, то они нумеруются (например, EN1, EN2, …). Некоторые разрешающие входы могут быть инверсными (например, на рис. 3.1 вход EN2 инверсный), тогда для разрешения работы на него надо подавать “0”. Итоговый сигнал разрешения работы образуется как конъюнкция сигналов отдельных входов. Например, для шифратора на рис. 3.1 получим
.
Дополнительные входы дешифраторов (входы разрешения, входы стробирования) позволяют избежать ложных сигналов на выходах при изменяющихся наборах на входе. Пусть осуществляется переход от набора 0001 = 1 к набору 0010 = 2, кодовое расстояние между которыми d = 2 (т. е. наборы отличаются в трёх разрядах). Тогда в процессе перехода кратковременно может появиться (2d 2) = 22 2 = 2 набора: 0011 = 3, 0000 = 0. Следовательно, на выходах F3 и F0 могут появиться импульсы помех. С помощью дополнительного входа запрещают формирование единичных сигналов на выходах в процессе смены наборов и разрешают его только после завершения переходных процессов.
Часто дешифратор имеет инверсные выходы. В этом случае только один выход имеет нулевое значение, а все остальные единичное. При запрещении работы такого дешифратора на всех его выходах будет присутствовать логическая единица.
Функционирование дешифратора в общем случае с m входами описывается системой конъюнкций (рядом показаны выражения для шифратора, заданного таблицей 1):
(3.1)
3.1.2. Схемотехническая реализация дешифраторов
На основании выражений (3.1) для выходов дешифратора задачу синтеза дешифратора с m входами и N = 2m выходами можно рассматривать как синтез N одновыходовых КЦУ. При необходимости формулы (3.1) можно преобразовать в другой базис.
Схемотехнически дешифратор представляет собою совокупность конъюнкторов (элементов И) (или элементов И-НЕ в дешифраторах с инверсными выходами), не связанных между собой (рис. 3.2). Каждый элемент И (И-НЕ) вырабатывает одну из выходных функций.
Заметим, что дешифраторы с прямыми выходами, построенные на основе конъюнкторов, удобнее других для рассмотрения и функционального описания, в силу чего и описаны в этом параграфе. В то же время для многих схемотехнических реализаций операция И-НЕ оказывается более удобной, чем операция И. Поэтому в стандартных сериях элементов дешифраторы с инверсными выходами встречаются значительно чаще, чем с прямыми.
Кроме элементов для выработки выходных функций, дешифратор, как и многие другие ИС, снабжён схемами для выработки парафазных сигналов из однофазных (прямых), поступающих на входы ИС. Заметим, что входная прямая переменная непосредственно в схеме не используется, а вырабатывается повторно как двойная инверсия от входной. Это сделано для того, чтобы максимально разгружать линии внешних входов (здесь внешние входы нагружены только на один вход инвертора). Внешние линии входов максимально разгружаются всегда, поскольку они и без того нагружены ёмкостью из-за своей относительно большой длины и конструкции выводов корпуса ИС, что снижает скорость передачи сигнала по линии.
Сокращённая схема дешифратора с показом одной входной линии и одной выходной линии (для определённости взята линия с номером 5) дана на рис. 3.2. Время установления выходного сигнала дешифратора
tDC = 2tз.инв. + max(tз10, tз01),
где tз.инв. задержка сигнала в инверторе; tз10, tз01 задержки переключений конъюнктора.
Как известно, корпуса ИС с большим числом выводов изготовлять сложно, и они дороги. С этой точки зрения дешифраторы относятся к крайне неудачным схемам, т. к. у них при простой внутренней структуре и малом числе схемных элементов много внешних выводов. Для размещения в обычном недорогом корпусе годится только дешифратор с 4 информационными входами. Дешифраторов с большим количеством входов в сериях ИС нет.
В интегральном исполнении серийно выпускаются различные структуры дешифраторов, в которых бывает 2, 3, 4 входа. В одном корпусе может быть несколько дешифраторов.
В качестве примера рассмотрим микросхему К155ИД4, содержащую сдвоенный двухвходовой дешифратор с активными нулевыми выходными сигналами (табл. 3.3).
Таблица 3.3
Общие входы |
Секция D |
Секция E |
|||||||||||
Входы |
Выходы |
Входы |
Выходы |
||||||||||
А |
В |
D |
V1 |
D0 |
D1 |
D2 |
D3 |
Е |
V2 |
E0 |
E1 |
E2 |
E3 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
x |
x |
0 |
x |
1 |
1 |
1 |
1 |
1 |
x |
1 |
1 |
1 |
1 |
x |
x |
x |
1 |
1 |
1 |
1 |
1 |
x |
1 |
1 |
1 |
1 |
1 |
Два дешифратора с двух шин на четыре (2-4) получаются в том случае, когда входы A и B служат как информационные (рис. 3.3, а). Для дешифратора D формирование выходных сигналов разрешает комбинация , для дешифратора E комбинация . При отсутствии разрешающих комбинаций на всех выходах устанавливается единичное значение сигнала.
Микросхема К155ИД4 может выполнять функции дешифратора 3-8 при соединениях, показанных на рис. 3.3, б. Входе V будет общим разрешающим входом. Соответствующая этому случаю таблица истинности представлена ниже (табл. 3.4).
Таблица 3.4
V |
x3 |
x2 |
x1 |
Выходные сигналы |
0 |
0 |
0 |
0 |
E0 = 0, остальные 1 |
0 |
0 |
0 |
1 |
E1 = 0, остальные 1 |
0 |
0 |
1 |
0 |
E2 = 0, остальные 1 |
0 |
0 |
1 |
1 |
E3 = 0, остальные 1 |
0 |
1 |
0 |
0 |
D0 = 0, остальные 1 |
0 |
1 |
0 |
1 |
D1 = 0, остальные 1 |
0 |
1 |
1 |
0 |
D2 = 0, остальные 1 |
0 |
1 |
1 |
1 |
D3 = 0, остальные 1 |
1 |
x |
x |
x |
Все выходы = 1 |
3.1.3. Наращивание размерности дешифратора
Малая разрядность стандартных дешифраторов ставит вопрос о наращивании их разрядности. Из малоразрядных дешифраторов можно построить схему, эквивалентную дешифратору большей разрядности. Для этого входное слово делится на поля. Разрядность поля младших разрядов соответствует числу входов имеющихся дешифраторов. Оставшееся поле старших разрядов служит для получения сигналов разрешения работы одного из дешифраторов, декодирующих поле младших разрядов.
В качестве примера на рис. 3.3 приведена схема дешифрации пятиразрядного двоичного кода с помощью дешифраторов “3-8” и “2-4”. Для получения нужных 32 выходов составляется столбец из четырёх дешифраторов “3-8”. Дешифратор “2-4” принимает два старших разряда входного кода. Возбуждённый единичный выход этого дешифратора отпирает один из дешифраторов столбца по его входу разрешения. Выбранный дешифратор столбца расшифровывает три младших разряда входного слова.
Каждому входному слову соответствует возбуждение только одного выхода. Например, при дешифрации слова = = 110012 = 2510 на входе дешифратора первого яруса имеется код 11, возбуждающий его выход номер три (показан крестиком), что разрешает работу дешифратора DC4. На входе DC4 действует код 001, поэтому единица появится на его выходе 1, т. е. на выходе 25 схемы в целом, что и требуется.
Общее разрешение или запрещение работы схемы осуществляется по входу EN дешифратора первого яруса.
3.1.4. Использование дешифраторов для реализации ЛФ
Дешифраторы совместно со схемами ИЛИ можно использовать для воспроизведения произвольных логических функций. Действительно, на выходах дешифратора вырабатываются все конъюнктивные термы (конституенты единицы), которые можно составить из данного числа аргументов. Логическая функция в СНДФ есть дизъюнкция некоторого числа таких термов. Собирая нужные термы по схеме ИЛИ, можно получить любую функцию данного числа аргументов.
На рис. 3.4 в качестве примера показана схема выработки двух функций и . Такое решение может быть целесообразным при необходимости выработки нескольких функций одних и тех же аргументов. В этом случае для выработки дополнительной функции добавляется только один дизъюнктор. Заметим, что для проверки правильности схемы на рис. 3.4 удобно перевести функции F1 и F2 в СДНФ.
Пример 3.1. Пусть с применением дешифратора с четырьмя входами (m = 4) требуется реализовать функции
; .
Преобразуем заданные функции в СДНФ. Для этого в первой функции конъюнкцию повторяем дважды, с переменной d и с ее отрицанием:
;
аналогично во второй функции повторяем по два раза обе конъюнкции:
.
Рассмотрев таблицу истинности дешифратора с четырьмя входами (табл. 3.5), видим, что
; ,
где каждая функция yi состоит только из одной конъюнкции.
Таблица 3.5
a |
b |
c |
d |
Выходные сигналы |
|
0 |
0 |
0 |
0 |
y0 = 1, остальные 0 |
|
0 |
0 |
0 |
1 |
y1 = 1, остальные 0 |
|
0 |
0 |
1 |
0 |
y2 = 1, остальные 0 |
|
0 |
0 |
1 |
1 |
y3 = 1, остальные 0 |
|
0 |
1 |
0 |
0 |
y4 = 1, остальные 0 |
|
0 |
1 |
0 |
1 |
y5 = 1, остальные 0 |
|
0 |
1 |
1 |
0 |
y6 = 1, остальные 0 |
|
0 |
1 |
1 |
1 |
y7 = 1, остальные 0 |
|
1 |
0 |
0 |
0 |
y8 = 1, остальные 0 |
|
1 |
0 |
0 |
1 |
y9 = 1, остальные 0 |
|
1 |
0 |
1 |
0 |
y10 = 1, остальные 0 |
|
1 |
0 |
1 |
1 |
y11 = 1, остальные 0 |
|
1 |
1 |
0 |
0 |
y12 = 1, остальные 0 |
|
1 |
1 |
0 |
1 |
y13 = 1, остальные 0 |
|
1 |
1 |
1 |
0 |
y14 = 1, остальные 0 |
|
1 |
1 |
1 |
1 |
y15 = 1, остальные 0 |
Объединив схемами ИЛИ выходы дешифратора, входящие в правые части формул для f1 и f2 , получаем более компактную реализацию функций (рис. 3.5), чем при использовании микросхем с малой степенью интеграции.
3.2. Шифраторы. Указатели старшей единицы