В цифровой электронике двоичный декодер представляет собой комбинационную логическую схему, которая преобразует двоичную информацию из n кодированных входов в максимум 2 n уникальных выходов. Они используются в самых разных приложениях, включая декодирование инструкций, мультиплексирование и демультиплексирование данных, семисегментные дисплеи и как декодеры адресов для памяти и порт-отображенного ввода-вывода .
Существует несколько типов двоичных декодеров, но во всех случаях декодер представляет собой электронную схему с несколькими входными и несколькими выходными сигналами, которая преобразует каждую уникальную комбинацию входных состояний в определенную комбинацию выходных состояний. Помимо целочисленных входов данных, некоторые декодеры также имеют один или несколько «разрешающих» входов. Когда разрешающий вход инвертируется (отключается), все выходы декодера принудительно переводятся в неактивные состояния.
В зависимости от своей функции, двоичный декодер преобразует двоичную информацию из n входных сигналов в 2 n уникальных выходных сигналов. Некоторые декодеры имеют менее 2 n выходных линий; в таких случаях по крайней мере один выходной шаблон может повторяться для разных входных значений.
Двоичный декодер обычно реализуется как отдельная интегральная схема (ИС) или как часть более сложной ИС. В последнем случае декодер может быть синтезирован с помощью языка описания оборудования, такого как VHDL или Verilog . Широко используемые декодеры часто доступны в виде стандартизированных ИС.
Двоичный декодер 1-из-n имеет n выходных битов. Этот тип декодера утверждает ровно один из своих n выходных битов или ни одного из них для каждого целочисленного входного значения. «Адрес» (номер бита) активированного выхода указывается целочисленным входным значением. Например, выходной бит номер 0 выбирается, когда к входам применяется целочисленное значение 0.
Примеры этого типа декодера включают в себя:
Трансляторы кодов отличаются от декодеров 1-из-n тем, что несколько выходных битов могут быть активны одновременно. Примером этого является семисегментный декодер , который преобразует целое число в комбинацию сигналов управления сегментами, необходимых для отображения значения целого числа на семисегментном дисплее .
Одним из вариантов семисегментного декодера является декодер BCD в семисегментный , который преобразует двоично-десятичное значение в соответствующие сигналы управления сегментом для входных целочисленных значений от 0 до 9. Эта функция декодера доступна в стандартных ИС, таких как КМОП- 4511 .
Двоично-унарный декодер преобразует каждое двоичное значение в его связанное унарное представление. В отличие от декодера 1-из-n (one-hot), для каждого входного значения может быть установлено несколько выходных битов. Эти декодеры могут использоваться в ЦАП , где каждый бит имеет одинаковый вес, и схемах, требующих двоичную маску или окно. [1]