¿Hay una mejor manera de planificar un circuito para cuadrar un número binario de 3 bits?

0

Necesito planificar un circuito que cuadrará un número binario de 3 bits: $$ \ {Y_2, Y_1, Y_0 \} \ rightarrow \ {S_5, S_4, S_3, S_2, S_1, S_0 \} $$

Pensé en la forma común en que multiplicamos los números y lo usamos para planificar el circuito (como se puede ver en la parte superior izquierda de la imagen adjunta)

¿Qué piensas? ¿Hay una mejor manera de hacer lo siguiente usando las puertas básicas, FA, HA y MUX?

    
pregunta Quaker

2 respuestas

8

Por supuesto que hay.

Primero escribimos la tabla de verdad:

 Y    S
000 000000
001 000001
010 000100
011 001001
100 010000
101 011001
110 100100
111 110001

De inmediato notamos que S0 = Y0, S1 = 0, y S5 = Y1 * Y2. Vamos a eliminar esos.

 Y   S
210 432
000 000
001 000
010 001
011 010
100 100
101 110
110 001
111 100

Y ahora vemos que S2 = Y1 *! Y0, S3 = Y0 * (Y1 ^ Y2), y S4 = Y2 * (! Y1 + Y0) = Y2 *! S2. Dado que ahora tiene las 6 ecuaciones para los bits en S, construir un circuito lógico es fácil y se deja como un ejercicio para el lector.

    
respondido por el Ignacio Vazquez-Abrams
3

Este problema solo tiene 8 entradas posibles, por lo que una tabla de búsqueda podría ser una buena respuesta, especialmente si se encuentra dentro de un FPGA.

    
respondido por el Olin Lathrop

Lea otras preguntas en las etiquetas