Дешифратор – преобразователь двоичного кода в позиционный. Дешифраторы применяются в качестве преобразователей кодов для реализации произвольных булевых функций. Также дешифраторы применяются для формирования сигналов выбора внешних устройств в вычислительных системах по коду их адреса. На принципиальных схемах дешифраторы обозначают следующим образом:
V2
C
B
A
Активность выводов
6-й выход активен
1-ы на всех выходах
4-й выход активен
А, В, С – адресные входы, V2, V1, V0 – стробирующие входы и выходы 0 ÷ 7. Окружности на выходах означают, что активный уровень выхода 0.Чтобы дешифратор работал необходимо, чтобы на стробирующих входах присутствовали активные уровни. Если хотя бы один из стробирующих сигналов не соответствует активному уровню, то на всех выходах дешифратора будут логические единицы. Если дешифратор находится в рабочем состоянии, то один из выходов находится в активном, т.е. нулевом состоянии, определяемым кодом АВС, остальные выходы находятся в единичном состоянии.
Схема состоит из 3-х дешифраторов, каждый из которых дешифрирует 3 двоичных разряда адреса. Схема будет работать только в том случае, если адрес блока и субблока будет соответствовать тем, которые указаны в таблице истинности. В противном случае, на разрешающих входах дешифраторов не будут присутствовать активные логические уровни и они работать не будут.
В приведённом примере адрес ВУ состоит из трёх компонент. Старшая триада адреса (А8 - А6) указывает на адрес блока, в нашем случае этот адрес соответствует 6-му блоку. Средняя триада (А5 - А3) указывает на адрес субблока, в нашем случае этот адрес соответствует 5-у субблоку. Младшая триада в нашем случае указывает на выбираемое внешнее устройство. Таким образом, выходы третьего дешифратора будут выбирать восемь внешних устройств 5-го блока, 6-го субблока.
Как правило, в схемах дешифрации адреса используется только один дешифратор, который анализирует самые младшие разряды адреса. Для анализа старших разрядов адреса используется схема селектора адреса на вентилях. Её выходы подключают к стробирующим входам дешифратора, тем самым, разрешая или запрещая его работу. Рассмотрим подобную схему подробнее.
В приведённой схеме старшие разряды адреса «собираются» на внешней логике и формируют сигнал разрешения работы дешифратора. Если хотя бы один разряд адреса не совпадёт с тем, на который настроена логика, дешифратор работать не будет и внешние устройства выбираться не будут.
Также как и мультиплексоры, дешифраторы бывают сдвоенными. На принципиальных схемах подобные дешифраторы обозначают следующим образом:
Использование дешифратора для реализации произвольной логической функции. При реализации логической функции, выходы дешифратора можно считать проинвертированными минтермами или макстермами. Выходы дешифратора – это полный набор всех возможных проинвертированных минтермов от переменных, подаваемых на адресные входы.
Рассмотрим применение дешифратора для реализации логической функции на следующем примере. Пусть логическая для СДНФ функция задана следующим выражением:
.
Тогда принципиальная схема будет выглядеть следующим образом (см. рис.).
Это чистое СДНФ. Выходы дешифратора (без учёта инверсии) - это минтермы, которые затем проходят через «ИЛИ», образованное инверсией выходов дешифратора и элемента «И-НЕ».
Если выходы дешифратора рассматривать с учётом инверсии, то его выхода образуют макстермы. Таким образом, при реализации СКНФ, схема может иметь вид, аналогичный представленному выше, с тем лишь изменением, что на выходе должен быть установлен дополнительный инвертор. Инвертор необходим для того, чтобы нейтрализовать инверсию на выходе элемента «И-НЕ». Таким образом, для СКНФ имеющей выражение, приведённое ниже, принципиальная схема может иметь вид:
.
Расширение дешифратора по выходам. Рассмотрим ситуацию, когда необходимо из нескольких дешифраторов с 16-ю выходами получить один, но с 64-ю выходами. У указанного дешифратора должно быть 6 адресных входов. Однако у дешифраторов с 16-ю выходами только 4 адресных входа. Таким образом, необходима внешняя схема, которая в зависимости от состояний 2-х старших (5-ый и 6-ой) разрядов адреса будет подключать один из четырёх дешифраторов. Четыре младших разряда адреса на всех четырёх дешифраторах должны быть включены в параллель.
Так, если обозначить старшие разряды адреса как E и F, то к первому дешифратору (на его стробирующие входы и ) эти разряды необходимо подключить напрямую, тогда он будет дешифрировать первые 16 значений адреса. К следующему дешифратору (на аналогичные адресные входы) необходимо подключить старшие разряды адреса в виде F, , тогда он будет дешифрировать адреса с 17 по 32. Далее должен идти дешифратор, к которому подключены старшие разряды адреса в виде , Е, тогда он будет дешифрировать адреса с 33 по 48. И к последнему дешифратору необходимо подключить старшие разряды адреса в виде , , тогда он будет дешифрировать адреса с 49 по 64.