in

Codificadores y decodificadores en lógica digital

gfg 200x200 min

Requisito previo: codificador, decodificadores

Se puede utilizar un código binario de N dígitos para almacenar 2norte distintos elementos de información codificada. Para esto se utilizan los codificadores y decodificadores. Codificadores convertir 2norte líneas de entrada en un código de N bits y Decodificadores decodificar los N bits en 2norte líneas.

1. Codificadores –
Un codificador es un circuito combinacional que convierte información binaria en forma de 2norte líneas de entrada en N líneas de salida, que representan el código de N bits para la entrada. Para codificadores simples, se supone que solo una línea de entrada está activa a la vez.

Como ejemplo, consideremos Octal a binario codificador. Como se muestra en la siguiente figura, un codificador de octal a binario toma 8 líneas de entrada y genera 3 líneas de salida.

111 3

Mesa de la verdad –

D7 D6 D5 D4 D3 D2 D1 D0 X Y Z
0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 1 0 0 0 1
0 0 0 0 0 1 0 0 0 1 0
0 0 0 0 1 0 0 0 0 1 1
0 0 0 1 0 0 0 0 1 0 0
0 0 1 0 0 0 0 0 1 0 1
0 1 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 1 1 1

Como se ve en la tabla de verdad, la salida es 000 cuando D0 está activo; 001 cuando D1 está activo; 010 cuando D2 está activo y así sucesivamente.

Implementación –
De la tabla de verdad, la línea de salida Z está activa cuando el dígito octal de entrada es 1, 3, 5 o 7. De manera similar, Y es 1 cuando el dígito octal de entrada es 2, 3, 6 o 7 y X es 1 para los dígitos octales de entrada 4, 5, 6 o 7. Por tanto, las funciones booleanas serían:

X = D4 + D5 + D6 + D7
Y = D2 +D3 + D6 + D7
Z = D1 + D3 + D5 + D7 

Por lo tanto, el codificador se puede realizar con puertas OR de la siguiente manera:

222 6

Una limitación de este codificador es que solo una entrada puede estar activa en un momento dado. Si hay más de una entrada activa, la salida no está definida. Por ejemplo, si D6 y D3 están activos, entonces, nuestra salida sería 111, que es la salida para D7. Para superar esto, utilizamos codificadores de prioridad.

Otra ambigüedad surge cuando todas las entradas son 0. En este caso, el codificador emite 000, que en realidad es la salida para D0 activa. Para evitar esto, se puede agregar un bit adicional a la salida, llamado bit válido que es 0 cuando todas las entradas son 0 y 1 en caso contrario.

Codificador de prioridad –
Un codificador de prioridad es un circuito codificador en el que se asignan prioridades a las entradas. Cuando hay más de una entrada activa al mismo tiempo, la entrada con mayor prioridad tiene prioridad y se genera la salida correspondiente.

Consideremos el codificador de prioridad 4 a 2 como ejemplo.
De la tabla de verdad, vemos que cuando todas las entradas son 0, nuestro bit V o el bit válido es cero y las salidas no se utilizan. Las x en la tabla muestran la condición de indiferencia, es decir, puede ser 0 o 1. Aquí, D3 tiene la prioridad más alta, por lo tanto, cualesquiera que sean las otras entradas, cuando D3 es alta, la salida tiene que ser 11. Y D0 tiene la prioridad más baja, por lo tanto, la salida sería 00 solo cuando D0 es alta y las otras líneas de entrada son bajas. De manera similar, D2 tiene mayor prioridad sobre D1 y D0 pero menor que D3, por lo tanto, la salida sería 010 solo cuando D2 es alta y D3 es baja (D0 y D1 son indiferentes).

Mesa de la verdad –

D3 D2 D1 D0 X Y V
0 0 0 0 X X 0
0 0 0 1 0 0 1
0 0 1 X 0 1 1
0 1 X X 1 0 1
1 X X X 1 1 1

Implementación –
Se puede ver claramente que la condición para que el bit válido sea 1 es que al menos una de las entradas debe ser alta. Por eso,

V = D0 + D1 + D2 + D3 

Para X:

333 1

=> X = D2 + D3
Para y:

444 1

=> Y = D1 D2 ‘+ D3

Por lo tanto, el codificador de prioridad 4 a 2 se puede realizar de la siguiente manera:

555 2

2. Decodificadores –
Un decodificador hace el trabajo opuesto al de un codificador. Es un circuito combinacional que convierte n líneas de entrada en 2norte líneas de salida.

Tomemos un ejemplo de decodificador de 3 a 8 líneas.

Mesa de la verdad –

X Y Z D0 D1 D2 D3 D4 D5 D6 D7
0 0 0 1 0 0 0 0 0 0 0
0 0 1 0 1 0 0 0 0 0 0
0 1 0 0 0 1 0 0 0 0 0
0 1 1 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0
1 0 1 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0
1 1 1 0 0 0 0 0 0 0 1

Implementación –
D0 es alto cuando X = 0, Y = 0 y Z = 0. Por lo tanto,

D0 = X’ Y’ Z’ 

Similar,

D1 = X’ Y’ Z
D2 = X’ Y Z’
D3 = X’ Y Z
D4 = X Y’ Z’
D5 = X Y’ Z
D6 = X Y Z’
D7 = X Y Z 

Por eso,

666

¡Atención lector! No dejes de aprender ahora. Practique el examen GATE mucho antes del examen real con los cuestionarios generales y por materia disponibles en Curso de la serie de pruebas GATE.

Aprende todo Conceptos de GATE CS con clases gratuitas en vivo en nuestro canal de youtube.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

apple touch icon@2

python – ¿Cómo importar la clase dentro del mismo directorio o subdirectorio?

Dios contra el diablo: diferencia y comparación