Comparador de dos números de 1 bit


Subtemas
- Comparador de dos números de 2 bits
- Comparador de dos números de 3 bits
- Comparador de dos números de 4 bits

El siguiente proyecto es un comparador de dos números de 1 bit, que es la base todos los comparadores desde 2 bits hasta n bits, ya que normalmente un comparador no se diseña por tabla de la verdad y mapas de Karnaugh si no por sentencias lógicas. La tabla es la siguiente:
Que da como resultado las siguientes funciones lógicas:
Se puede ver que la compuerta xnor sirve para comparar si dos bits son iguales, así mismo una compuerta and con una de sus entradas negadas sirve para saber cuando un bit es mayor o menor que otro.  Ahora estas funciones lógicas se corresponden con las siguientes sentencias lógicas:
- Si B es igual a A, entonces x=1.
- Si B es menor que A, entonces y=1.
- Si B es mayor que A, entonces z=1.
Esto ahora nos permitirá realizar el diseño ya no por tabla de verdad y mapas de karnaugh, sino ahora por sentencias lógicas.
El circuito queda de la siguiente manera:
Circuito comparador de dos números de 2 bits
La razón por lo que un comparador se diseña por sentencias lógicas es por la cantidad de variables que se maneja, por ejemplo en el caso del comparador de dos números de 3 bits son 6 variables dando una tabla de verdad de 64 posiciones, y en el caso de que sea un comparador de dos números 4 bits son 8 variables y una tabla de verdad de 256 posiciones!!! Entonces realizar el análisis por sentencias lógicas usando la comparación de bit a bit es la manera más simple de diseñar un comparador de magnitud. Por ejemplo el comparador de 1 bit tiene tres formas de realizarlo usando sentencias lógicas además de la mostrada anteriormente.

Comparador de dos números de 1 bit (forma 2). Las sentencias lógicas son las siguientes:
- Si B es igual a A, entonces x=1.
- Si B es menor a A, entonces y=1.
- Si (B no es igual a A) y si (B no es menor que A), entonces B es mayor que A, z=1.
Ahora cambiando estas sentencias lógicas por sus correspondientes funciones lógicas se tiene:
Y el circuito queda de la siguiente manera:

Comparador de dos números de 2 bits (forma 3). Las sentencias lógicas son las siguientes:
- Si B es igual a A, entonces x=1.
- Si B es mayor que A, entonces z=1.
- Si (B no es igual a A) y si (B no es mayor que A), entonces B es menor que A, y=1.
Cambiando las sentencias lógicas por funciones lógicas queda:
Y el circuito queda de la siguiente manera:

Comparador de dos números de 1 bit (forma 4). Las sentencias lógicas son las siguientes:
- Si B es menor que A, entonces y=1.
- Si B es mayor que A, entonces z=1.
- Si (B no es menor que A) y si (B no es mayor que A), entonces B es igual a A, x=1.
Cambiando las sentencias lógicas por funciones lógicas se tiene:
Y finalmente le circuito queda:

Entonces al momento de diseñar por comparación de bit a bit tenga en cuenta.
- Para saber cuando un bit es igual a otro bit (BX=AX) la función lógica correspondiente es la siguiente:
- Para saber cuando un bit es menor a otro bit (BX<AX) la función lógica correspondiente es la siguiente:
- Para saber cuando un bit es mayor a otro bit (BX>AX) la función lógica correspondiente es la siguiente:
- En las sentencias lógicas las conjunciones "y", "o" y "no" se cambian por sus respectivas funciones lógicas and, or y not.

Temas relacionados

Comentarios