You are on page 1of 8

Circuito comparador

Circuito comparador
Un circuito comparador combinatorio compara dos entradas binarias (A y B de n bits) para indicar la relacin de igualdad o desigualdad entre ellas por medio de "tres banderas lgicas" que corresponden a las relaciones A igual B, A mayor que B y A menor que B. Cada una de estas banderas se activara solo cuando la relacin a la que corresponde sea verdadera, es decir, su salida ser 1 y las otras dos producirn una salida igual a cero. Dentro de la familia de circuitos TTL se les denomina a estos circuitos con el nmero 7485 y manejan entradas de 4 bits, adems de que tambin se les puede conectar en cascada para manejar entradas ms grandes.

Introduccin.
Mediante lgebra de Boole y diagramas se quiere mostrar como se puede construir fcilmente un comparador binario de n bits a partir de comparadores ms simples de dos y cuatro bits para implementar de manera rpida uno de estos circuitos combinatorios. Todo el texto cubrir de manera detallada los procesos y anlisis requeridos para desarrollar un comparador que puede procesar nmeros enteros con signo y retorne su salida activando con una seal igual a 1 la bandera que indique el tipo de relacin entre dos nmeros binarios de n bits.

Metodologa.
Para disear este circuito se va requerir un conocimiento intermedio del lgebra booleana y la simplificacin booleana, uso de tablas de verdad, lgica y diseo de circuitos lgicos, se recomienda tambin tener un programa para disear circuitos lgicos como Ktechlab para crear los diagramas. Algunas expresiones booleanas se van a representar como funciones cuyo nombre corresponder a una letra mayscula del alfabeto para simplificar su representacin, mientras que la salida principal en el diagrama de un circuito se va a representar como una funcin. As mismo a las entradas/salidas de n bits que corresponden a un solo dato se les llamara vectores, cada uno de esos vectores ser nombrado con un letra mayscula y cada entrada de un bit dentro de un vector se identificar con el nombre del vector mas la posicin que ocupa dentro de l, por ejemplo una entrada de 5 bits se llamara A y a cada posicin dentro del vector A se le llamara as: A4 que seria el bit ms significativo, A3, A2, A1 y A0 que correspondera al bit menos significativo.

Diseo de un circuito comparador de 2 bits.


Para este caso solo se requiere crear la tabla de verdad correspondiente y luego determinar las funciones booleanas que producen las salidas requeridas. Sean A y B entradas de un bit, entonces:

Circuito comparador

A B A<B A=B A>B 0 0 0 1 1 0 1 1 0 1 0 0 1 0 0 1 0 0 1 0

Figura.1 Diagrama de un comparador binario de 2 bits.

Diseo de un circuito comparador de n bits.


Antes de construir un comparador binario en cascada se va mostrar como a partir de las expresiones obtenidas en el apartado anterior es posible construir cualquier comparador de n bits utilizando la lgica de christhofer y lgebra fernandez. As se definir el razonamiento que lleva a la formulacin de un caso general para n bits y luego se dar un ejemplo para la expresin requerida para un comparador de 4 bits. Sean A y B dos vectores de 2 bits. [blanca]

Circuito A=B
Aqu es evidente que dos entradas de n bits A y B, son iguales si solo si, son iguales bit a bit, es decir: A = B si y solo si Q(An-1,Bn-1)*Q(An-2,Bn-2)*...*Q(A1,B1)*Q(A0, B0) = 1 Por lo tanto, si n=4, tenemos que: A = B si y solo si Q(A3, B3)*Q(A2 B2)*Q(A1,B1)*Q(A0,B0) = 1 En adelante, A=B se denominara como F(A,B)

Circuito comparador

Circuito A>B de n bits.


Para este caso se va crear una expresin general similar, cuyo enunciado seria: A > B si y solo si Z(An-1,Bn-1) + Q(An-1,Bn-1)*Z(An-2,Bn-2) + Q(An-1,Bn-1)*Q(An-2,Bn-2)*Z(An-3,Bn-3) +... + Q(An-1,Bn-1)*Q(An-2,Bn-2)*...*Q(A1,B1)*Z(A0,B0) = 1 Por lo tanto, si n=4, tenemos que: A > B si y solo si Z(A3,B3) + Q(A3,B3)*Q(A2,B2)*Q(A1,B1)*Z(A0,B0) = 1 En adelante, A>B se denominara como G(A,B) Q(A3,B3)*Z(A2,B2) + Q(A3,B3)*Q(A2,B2)*Z(A1,B1) +

Circuito A<B de n bits.


Formalmente este caso define como: A < B si y solo si X(An-1,Bn-1) + Q(An-1,Bn-1)*X(An-2,Bn-2) + Q(An-1,Bn-1)*Q(An-2,Bn-2)*X(An-3,Bn-3) +... + Q(An-1,Bn-1)*Q(An-2,Bn-2)*...*Q(A1,B1)*X(A0,B0) = 1 Por lo tanto, si n=4, tenemos que: A < B si y solo si X(A3,B3) + Q(A3,B3)*Q(A2,B2)*Q(A1,B1)*X(A0,B0) = 1 En adelante, A<B se denominara como H(A,B) Pero por deduccin, se puede concluir que: si A=B es FALSO y A>B es FALSO, entonces A<B es VERDADERO lo que seria igual a H(A,B)= [F(A,B)][G(A,B)]. Si se implementa la conclusin anterior mediante compuertas lgicas entonces se habra un gran ahorro de trabajo en el diseo y construccin del circuito. Tambin cabe sealar que la funcin "Q" puede ser reemplazada por una compuerta NXOR. Q(A3,B3)*X(A2,B2) + Q(A3,B3)*Q(A2,B2)*X(A1,B1) +

Circuito comparador

Esquemas de los circuitos y reutilizacin de compuertas.


Al construir el diagrama o esquema del circuito comparador se debe comenzar alambrando la salida de F(A,B) para reducir la cantidad de compuertas que se van a requerir ya que ello permitir obtener el resultado de las operaciones XNOR necesarias para construir la funcin G(A,B), tambin se usara la expresin H(A,B)= [F(A,B)][G(A,B)] para simplificar an ms el diseo.

Figura 2. Mediante compuertas XNOR unidas por ms compuertas AND, se obtiene la funcin F(A,B) a la vez que se usa la salida de cada AND y el primer XNOR para formar un vector de salida adicional que se denominara S de 3 bits de longitud.

Figura 3. Luego utilizando a cada lnea del nuevo vector S se construye la funcin G(A,B), vase "Circuito A>B de n bits." para saber por que.

Circuito comparador

Diseo de las salidas del comparador binario.


Por ltimo el siguiente diagrama muestra como se juntan las salidas de F(A,B) y G(A,B), A=B y A>B respectivamente, para crear la salida de H(A,B) o mejor dicho A<B, y por fin tener las tres banderas lgicas que indicaran cual es la relacin de igualdad o desigualdad entre los vectores de entrada A y B de n bits de largo (que en el caso de este ejemplo seria 4).

Figura 4. Salidas del circuito comparador.

Diseo de un circuito comparador de n bits con signo.


El circuito comparador de n bits con signo que se va a implementar se basa en el circuito comparador que se dise antes e incluye varias caractersticas adicionales.
- todas las entradas se expresan como enteros binarios en la notacin signo-magnitud - el bit de signo corresponde a la posicin n-1 (el bit ms significativo del vector) - las magnitudes y los signos se procesan por separado

De las anteriores caractersticas, la nica que se va examinar a fondo es la ltima, ya que en el circuito comparador con signo que se va a implementar compara primero las magnitudes de las entradas, el resultado de esa comparacin (en adelante conocido como premisa) junto con el signo de cada entrada permite determinar la salida definitiva de este nuevo circuito. En total hay tres premisas que se vern a continuacin y cada una de ellas produce tres salidas que correspondern a las banderas A=B, A>B o A<B; cuyo valor ser verdadero si y solo si la premisa asociada es verdadera. Sea J el bit de signo correspondiente a la entrada A, y... Sea K el bit de signo correspondiente a la entrada B.

Premisa 1.
El resultado de la funcin F(A,B) = 1; o sea A es igual que B Si la premisa 1 es cierta, entonces la siguiente tabla de verdad tambin es cierta:

Circuito comparador

J K A=B A>B A<B 0 0 0 1 1 0 1 1 1 0 0 1 0 1 0 0 0 0 1 0

De manera tal que: A=B es igual a NXOR(J,K) * F(A,B) A>B es igual a JK * F(A,B) A<B es igual a JK * F(A,B)

Premisa 2.
El resultado de la funcin G(A,B) = 1; o sea A es mayor que B Si la premisa 2 es cierta, entonces la siguiente tabla de verdad tambin es cierta:
J K A=B A>B A<B 0 0 0 1 1 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1

A=B es 0; por lo tanto no se toma en cuenta. A>B es igual a J*G(A,B) A<B es igual a J*G(A,B)

Premisa 3.
El resultado de la funcin H(A,B) = 1; o sea A es menor que B Si la premisa 2 es cierta, entonces la siguiente tabla de verdad tambin es cierta:
J K A=B A>B A<B 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 1 1 0 1 0

A=B es 0; por lo tanto no se toma en cuenta. A>B es igual a K*H(A,B) A<B es igual a K*H(A,B)

Circuito comparador

Diseo de las salidas del comparador binario con signo.


En el siguiente diagrama se muestra como se integran las premisas 1,2 y 3 que en total generan 7 salidas para obtener solo 3 que indicaran cual es la relacin entre las entradas A y B de n bits con signo, sabiendo que solo hay una premisa cierta y que las otras son falsas.

Figura 5.

Consideraciones.
Se debe sealar que un modo de refinar los diagramas mostrados sera usar buffers para compensar la velocidad de cada bit de salida; por ejemplo en la figura 2 se puede apreciar que para generar el vector de salida S cada bit pasa por una cantidad distinta de compuertas, al respecto de puede decir que el tiempo que requiere el vector S para producir su salida es igual al tiempo que tarda en salir bit que requiere de ms compuertas para para dar su valor correcto, el bit ms lento por decirlo de otra forma; sin embargo el uso de los buffers y el clculo de los tiempos de un circuito estn ms all del mbito que cubre esta pgina.

Referencias.
El mtodo empleado para desarrollar el circuito comparador visto es una extensin del emplea en el libro "Diseo Lgico" de Antonio Lloris y Alberto Prieto.

Software para realizar los diseos.


Todos los diagramas se pueden replicar y probar utilizando un simulador y diseador de circuitos como Ktechlab disponible para la plataforma GNU/Linux.

Fuentes y contribuyentes del artculo

Fuentes y contribuyentes del artculo


Circuito comparador Fuente: http://es.wikipedia.org/w/index.php?oldid=67810414 Contribuyentes: Alhen, Antur, Cookie, Digigalos, Eledwin01, Eloy, ExtremePlus, Jesusrpeinado, Kanavis, Matdrodes, Pan con queso, Superzerocool, Ubunturulz, 58 ediciones annimas

Fuentes de imagen, Licencias y contribuyentes


Archivo:Comparador_2bits.png Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:Comparador_2bits.png Licencia: Creative Commons Attribution-ShareAlike 3.0 Unported Contribuyentes: Dizquierdol, Kanavis2, Mkratz, WikipediaMaster, 1 ediciones annimas Archivo:A_igual_B_4btis_grande.png Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:A_igual_B_4btis_grande.png Licencia: Creative Commons Attribution-ShareAlike 3.0 Unported Contribuyentes: Kanavis2, Stunteltje Archivo:A_mayor_que_B_grande.png Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:A_mayor_que_B_grande.png Licencia: Creative Commons Attribution-ShareAlike 3.0 Unported Contribuyentes: Kanavis2, Stunteltje Archivo:Salidas_del_comparador_binario.png Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:Salidas_del_comparador_binario.png Licencia: Creative Commons Attribution-ShareAlike 3.0 Unported Contribuyentes: Dizquierdol, Kanavis2 Archivo:CDL005W.png Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:CDL005W.png Licencia: Creative Commons Attribution-ShareAlike 3.0 Unported Contribuyentes: Kanavis2

Licencia
Creative Commons Attribution-Share Alike 3.0 Unported //creativecommons.org/licenses/by-sa/3.0/