Circuito lógico Decodificador BCD-7 segmentos problema resuelto
Disponemos de las notas, N1 y N0, de un alumno codificadas en BCD. Diseñar el circuito lógico con Decodificador BCD-7 segmentos que obtiene la nota final según las preferencias del profesor expresadas con las líneas de control C1C0:
• C1C0 = 00 Nota media redondeada por defecto.
• C1C0 = 01 Nota mínima.
• C1C0 = 10 Nota máxima.
• C1C0 = 11 Nota media redondeada por exceso.
EXPLICACIÓN:
• Antes de comenzar, recordar que dividir entre 2 en binario puro es desplazar un bit a la derecha, o dicho de otro modo, quitar el bit de menos peso: despreciar SO.
• Sumar A y B: A + B = Cout S3S2SlS0. Sumador 4 + 4.
• Dividir entre 2, quitando el bit de la derecha: CoutS3S2Sl.
• Comparar A y B, utilizando A > B y A < B. Comparador de 4 bits.
• Elegir entre A y B, para elegir el menor, según el valor de A < B:
— A < B = I, A es menor que B, MIN = A.
— A < B = 0, A B es menor o igual que A, MIN — B.
Cuádruple multiplexor 2:1.
• Elegir entre A y B, para elegir el mayor, según el valor de A > B:
— A > B = 1, A es mayor que B, MAX = A.
— A > B = 0, A B es mayor o igual que A, MAX — B.
Cuádruple multiplexor 2:1.
• Sumar A y B: A + B = CoutS3S2S1S0. Sumador 4 4- 4.
• Dividir entre 2 quitando el bit de la derecha: CoutS3S2Sl.
• Sumar S0 a la suma anterior, lo que asegura obtener la media por exceso: si S0 = 0, se suma 0; si S0= 1, se suma 1. Téngase en cuenta que S0 se convierte en el decimal a despreciar, el que debe redondearse.
• Elegir entre la media por defecto, el menor, el mayor y la media por exceso en función de C1C0, señales externas. Cuádruple multiplexor 4:1.
• Visualizar en un 7 segmentos lo elegido. Decodificador BCD-7 segmentos.
• Por ejemplo:
A = 0011 (3). A + B = CoutS3-S0 = 00111 CoutS3-Sl = 0011 (3)
B = 0100 (4) CoutS3-Sl + S0 = 0100 (4)
A = 0011 (3), A + B = CoutS3-S0 = 01000 CoutS3-Sl = 0100 (4)
B = 0101 (5) CoutS3-Sl + S0 = 0100 (4)
A = 1000 (8), A + B = CoutS3-S0 = 10001 CoutS3-Sl = 1000 (8)
B = 1001 (9) CoutS3-Sl + S0 = 1001 (9)