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