En electrónica digital , un decodificador binario es un circuito lógico combinacional que convierte la información binaria de las n entradas codificadas en un máximo de 2n salidas únicas. Se utilizan en una amplia variedad de aplicaciones, incluidas la decodificación de instrucciones, la multiplexación y demultiplexación de datos, las pantallas de siete segmentos y como decodificadores de direcciones para memoria y E/S mapeadas por puerto .
Existen varios tipos de decodificadores binarios, pero en todos los casos un decodificador es un circuito electrónico con múltiples señales de entrada y múltiples señales de salida, que convierte cada combinación única de estados de entrada en una combinación específica de estados de salida. Además de las entradas de datos enteros, algunos decodificadores también tienen una o más entradas de "habilitación". Cuando la entrada de habilitación se niega (deshabilita), todas las salidas del decodificador se fuerzan a sus estados inactivos.
Dependiendo de su función, un decodificador binario convertirá la información binaria de n señales de entrada en hasta 2 n señales de salida únicas. Algunos decodificadores tienen menos de 2 n líneas de salida; en tales casos, al menos un patrón de salida puede repetirse para diferentes valores de entrada.
Un decodificador binario se suele implementar como un circuito integrado (CI) independiente o como parte de un CI más complejo. En este último caso, el decodificador puede sintetizarse mediante un lenguaje de descripción de hardware como VHDL o Verilog . Los decodificadores más utilizados suelen estar disponibles en forma de CI estandarizados.
Un decodificador binario 1 de n tiene n bits de salida. Este tipo de decodificador activa exactamente uno de sus n bits de salida, o ninguno de ellos, para cada valor de entrada entero. La "dirección" (número de bit) de la salida activada se especifica mediante el valor de entrada entero. Por ejemplo, el bit de salida número 0 se selecciona cuando se aplica el valor entero 0 a las entradas.
Algunos ejemplos de este tipo de decodificador incluyen:
Los traductores de código se diferencian de los decodificadores 1 de n en que varios bits de salida pueden estar activos al mismo tiempo. Un ejemplo de esto es un decodificador de siete segmentos , que convierte un número entero en la combinación de señales de control de segmento necesarias para mostrar el valor del número entero en un dígito de visualización de siete segmentos .
Una variante del decodificador de siete segmentos es el decodificador BCD a siete segmentos , que traduce un valor decimal codificado en binario en las señales de control de segmento correspondientes para valores enteros de entrada de 0 a 9. Esta función de decodificador está disponible en circuitos integrados estándar como el CMOS 4511 .
Un decodificador binario a unario convierte cada valor binario en su representación unaria asociada . A diferencia del decodificador 1 de n (one-hot), se pueden afirmar múltiples bits de salida para cada valor de entrada. Estos decodificadores se pueden utilizar en DAC donde cada bit tiene la misma ponderación y en circuitos que requieren una máscara o ventana binaria. [1]