Diseño de circuitos digitales y tecnología de computadores/Decodificadores y codificadores

Decodificadores editar

Los bloques decodificadores son sistemas combinacionales que disponen de n líneas de entrada y m líneas de salida, tal que m ≤ 2n.

Para cada una de las combinaciones binarias aplicadas en la entrada se activa una de las salidas.

El siguiente ejemplo muestra el bloque funcional y la tabla de verdad de un decodificador uno entre cuatro con entrada de desinhibición.


 
Entradas Salidas
EN E0 E1 S0 S1 S2 S3
1 0 0 0 0 0 1
1 0 1 0 0 1 0
1 1 0 0 1 0 0
1 1 1 1 0 0 0
0 X X 0 0 0 0

La etiqueta genérica X/Y significa convertidor de código, y se emplea tanto para codificadores como para decodificadores. El decodificador uno entre cuatro puede interpretarse como un convertidor de binario a cifras del sistema de numeración en base 4. "Uno entre cuatro" significa que a cada número (combinación de la entrada) entre 0 y 3 se le asigna una variable de salida. En general, un decodificador 1 entre n asigna a cada número entre 0 y n-1 una variable de salida.

En la etiqueta de identificación X/Y, la X denota el código de la entrada y la Y, el código de la salida. En el caso de un decodificador octal (1 entre 8) se emplea la etiqueta BIN/OCT, y en el de un decodificador hexadecimal, BIN/HEX. Un decodificador decimal (BIN/DEC) funciona igual que el hexadecimal, con la diferencia de que realiza solamente la función de las diez primeras salidas (de 0 a 9).

Codificadores editar

Los bloques codificadores son sistemas combinacionales que disponen de m líneas de entrada y n líneas de salida, tal que m ≤ 2n.

En las líneas de salida se presenta el código binario correspondiente al decimal asignado a la entrada que esté activa.

Una aplicación típica de los decodificadores es como generadores de códigos de teclas para introducir en el ordenador datos desde un teclado.

Codificador sin prioridad editar

Sólo puede estar activa una entrada en cada momento, de lo contrario el código de salida es erróneo.

El siguiente ejemplo muestra el bloque funcional y la tabla de verdad de un codificador sin prioridad de 3 bits.


 
Entrada
activa
Salidas
4 2 1
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1

Codificador con prioridad editar

Se codifica solamente la entrada activa de mayor peso, ignorando todas las demás de menor peso.

El siguiente ejemplo muestra el bloque funcional, la tabla de verdad y las funciones lógicas de salida de un codificador con prioridad de 2 bits.


 
Entradas Salidas
3 2 1 0 2 1
0 0 0 X 0 0
0 0 1 X 0 1
0 1 X X 1 0
1 X X X 1 1

S1 = E3 E2 E1 + E3 = E2 E1 + E3

S2 = E3 E2 + E3 = E2 + E3