Estoy diseñando un comparador de 4 bits usando solo puertas lógicas básicas (y, o, nand, xor, etc.) En su forma actual, el comparador toma dos números binarios sin signo de 4 bits (A y B) y compara cada valor de bit de más a menos significativo y determina una salida: A > B, A < B o A = B. Bastante simple.
Sin embargo, estoy tratando de agregar un bit de control para indicar si la entrada es binaria sin firmar o complemento de dos. El estado predeterminado, 0, debería significar que la entrada está en binario sin signo, mientras que 1 significa que los números de entrada están en complemento a dos.
Tengo dificultades para entender cómo o dónde implementar el bit de control en el circuito. Entiendo que un método es implementar un sumador, pero no estoy seguro si tendría que existir fuera del circuito que ya he diseñado, y el bit de control cambiaría entre dos circuitos que existen casi independientemente el uno del otro. Estoy seguro de que tiene que haber una solución más elegante e integrada. Si pudiera indicarme la dirección correcta, ¡se lo agradecería enormemente!
Tiene razón en su intuición de que hay una mejor solución que un multiplexor que selecciona entre dos circuitos completamente independientes.
Recordar el significado de un sistema numérico posicional, para una entrada sin signo el valor es
Para el complemento a dos, el único cambio es que el bit de signo toma un valor posicional negativo:
Ahora, la condición para la comparación de dos números en complemento a dos con signo es
Agregue los términos de bit de signo a ambos lados, para obtener
que es la comparación sin signo entre y
Es decir, puede usar su entrada de control para intercambiar el bit de signo y luego alimentar la lógica de comparación normal.
Si un multiplexor no es una de sus puertas fundamentales, entonces este "intercambio" se suma a la complejidad de manera no trivial. Así que echemos un vistazo a esa desigualdad de nuevo:
Agregar a ambos lados y grupo:
Tenga en cuenta que es solo el operador NOT.
y esta es nuevamente la lógica de comparación sin signo aplicada a las dos entradas y
Ahora su entrada de control solo necesita seleccionar entre y (y lo mismo para ), y esta es solo la función XOR.
Finalmente, su comparador de modo dual se hace simplemente tomando su circuito de comparación sin firmar en funcionamiento y alimentando sus entradas con
marcus muller
finbarr
Marga