COMPARADOR
LÓGICO
INTRODUCCIÓN
En la electrónica digital se utilizan diferentes componentes que complementan
sistemas electrónicos en los que la información está codificada en estados discretos
entre ellos, el comparador lógico es uno de ellos, este se convierte en un elemento
clave en el diseño de circuitos de lógica digital y se utiliza en varios otros circuitos
de lógica clave.
A continuación, expondremos un poco sobre este componente, para que se utiliza,
como funciona y como crearlo a partir de compuertas lógicas, el ejemplo que
mostraremos será un comparador lógico de 1 nibble de entrada (4 bits) realizado
tanto por teoremas de Boole como por mapa de Karnaugh.
CIRCUITO COMPARADOR
1.1 Puertas Lógicas
1.1.1 Definición
Puerta lógica, o compuerta lógica, es un dispositivo electrónico el cual es la
expresión física de un operador booleano en la lógica de conmutación, estas se
comunican entre sí (incluidos los microprocesadores), usando el sistema binario.
Cada puerta lógica consiste en una red de dispositivos interruptores que cumple las
condiciones booleanas para el operador particular. Son esencialmente circuitos de
conmutación integrados en un chip.
1.1.2 Tipos de Puertas Lógicas
Hay diferentes compuertas entre ellas: AND, OR, NOT, NAND, NOR, XOR, XNOR
e IF, cada compuerta tiene asociada una tabla de verdad, que expresa en forma de
lista el estado de su salida para cada combinación posible de estados en la(s)
entrada(s) y es posible combinarlas entre sí para obtener funciones nuevas.
1.2 Comparadores Digitales
1.2.1 Definición
Es un circuito que se encarga de comparar entradas de N bits tomadas como un
número entero.
1.2.2 Tipos de Comparadores
Existen dos tipos comunes de comparadores digitales, un comparador de identidad
y un comparador de magnitud. Un comparador de identidad tiene solo una salida y
se activa si los dos datos aplicados en sus entradas son idénticos, mientras que un
comparador de magnitud tiene tres salidas. El comparador de magnitud puede
detectar si las entradas son mayores, menores o iguales entre sí A=B, A>B y A<B.
Solo una de estas salidas se debe mostrar en 1 y las demás estarán en 0
dependiendo de los valores de las entradas.
1.3 Teoremas del Algebra de Boole
1.3.1 Definición
El álgebra de Boole, también llamada álgebra booleana, en electrónica digital,
informática y matemática es una estructura algebraica que esquematiza las
operaciones lógicas. Se denomina así en honor a George Boole (2 de noviembre de
1815 a 8 de diciembre de 1864), matemático inglés autodidacta, que fue el primero
en definirla como parte de un sistema lógico.
1.3.2 Principales Teoremas
Teoremas con 1 sola variable:
AND OR NOT
A+0 = A A*0 = 0 Ǡ=A
A+1 = 1 A*1 = A DeMorgan:
A+A = A A*A = A ̅̅̅̅̅̅̅
A+B=A ̅⋅B
̅
A+Ā = 1 A*Ā = 0 ̅̅̅̅̅̅
A⋅B= A ̅+B̅
Teoremas con múltiples variables:
A+B = B+A Leyes conmutativas: Indican que el orden en que se
A*B = B*A aplican las operaciones OR y AND a 2 variables no
importa.
A+(B+C) = (A+B)+C = A+B+C Leyes Asociativas: Establecen que podemos agrupar las
A(BC) = (AB)C = ABC variables de una expresión AND en una expresión OR de
cualquier forma que necesitemos, o viceversa.
A(B+C) = AB + AC Ley Distributiva: Establece que para expandir una
(D+A)(B+C) = DB+AB+DC+AC expresión se multiplica termino por termino, de igual
forma que en el álgebra ordinaria.
A+AB = A
A+ĀB = A+B
Ā+AB = Ā+B
1.4 Mapa de Karnaugh
1.4.1 Definición
Un mapa de Karnaugh (también conocido como tabla de Karnaugh o diagrama de
Veitch, abreviado como Mapa-K o Mapa-KV) es un diagrama utilizado para la
simplificación de funciones algebraicas Booleanas.
1.5 Ejemplo de Comparador
Para comenzar se observa la tabla de verdad con 4 entradas (Sistema binario del
0 al 15).
ABCD S ABCD S
0 0000 A=A 8 1000 A>B
En la tabla las primeras 2 entradas
1 0001 A<B 9 1001 A>B
(A y B) se toman como A y las otras
2 0010 A<B 10 1010 A=B
2 (C y D) se toman como B para
3 0011 A<B 11 1011 A<B
que se vean de esta manera A1, A2,
4 0100 A>B 12 1100 A>B
B1, B2 y así poder compararlas.
5 0101 A=B 13 1101 A>B
6 0110 A<B 14 1110 A>B
7 0111 A<B 15 1111 A=B
Lo siguiente que tenemos que hacer es separar las diferentes salidas que queremos
obtener, que son las que ya se mencionaron anteriormente:
A>B ̅ BC̅D
A ̅ + 𝐴𝐵̅𝐶̅ 𝐷
̅ + 𝐴𝐵̅𝐶̅ 𝐷 + 𝐴𝐵𝐶̅ 𝐷
̅ + 𝐴𝐵𝐶̅ 𝐷 + 𝐴𝐵𝐶𝐷
̅
A=B ̅B
A ̅ C̅D
̅ + 𝐴̅𝐵𝐶̅ 𝐷 + 𝐴𝐵̅𝐶𝐷
̅ + 𝐴𝐵𝐶𝐷
A<B ̅B
A ̅ C̅𝐷 + 𝐴̅𝐵̅𝐶𝐷
̅ + 𝐴̅𝐵̅𝐶𝐷 + 𝐴̅𝐵𝐶𝐷
̅ + 𝐴̅𝐵𝐶𝐷 + 𝐴𝐵̅𝐶𝐷
Y a continuación se simplifican utilizando el álgebra de Boole comenzando por
A>B
S = A’BC’D’+AB’C’D’+AB’C’D+ABC’D’+ABC’D+ABCD’
S= A’BC’D’+AB’C’(D’+D)+ABC’(D’+D)+ABCD’
S= A’BC’D’+AC’(B’+B)+ABCD’
S= A’BC’D’+AC’+ABCD’
A<B
S = A’B’C’D+A’B’CD’+A’B’CD+A’BCD’+A’BCD+AB’CD
S= A’B’C’D+A’B’C(D’+D)+A’BC(D’+D)+AB’CD
S= A’B’C’D+A’C(B’+B)+AB’CD
S= A’B’C’D+A’C+AB’CD
Para comprobar vamos a realizar este mismo ejercicio, pero por el mapa de
Karnaugh, para ello tenemos que insertar un 1 en donde corresponda de acuerdo a
las ecuaciones que obtuvimos anteriormente y después aplicar el proceso de
agrupación que se hace en pares, cuádruples y/u octetos.
A>B A=B
̅ C̅ + 𝐵𝐶̅ 𝐷
A ̅ + 𝐴𝐵𝐶𝐷
̅ ̅B
A ̅ C̅D
̅ + 𝐴̅𝐵𝐶̅ 𝐷 + 𝐴𝐵̅𝐶𝐷
̅ + 𝐴𝐵𝐶𝐷
CD CD
00 01 11 10 00 01 11 10
AB AB
00 00 1
01 1 01 1
11 1 1 1 11 1
10 1 1 10 1
A<B ̅ C + 𝐴̅𝐵̅𝐷 + 𝐴𝐵̅𝐶𝐷
A
CD
00 01 11 10
AB
00 1 1 1
01 1 1
11
10 1
Una vez que obtenemos y simplificamos las funciones que relacionan las salidas
con las entradas, dichas funciones pueden implementarse, es decir, llevarse a la
práctica mediante un circuito de puertas lógicas básicas, realizamos el ejercicio en
Proteus utilizando solo las compuertas básicas: AND, OR y NOT.
1.5 Conclusiones
1.5.1
El comparador lógico es muy eficiente y facilita mucho la comparación de 1 nibble
de entrada, tal es así que para desarrollar un comparador como el utilizado en la
práctica fue requerido de muchas compuertas básicas.
1.5.2
Es importante conocer y tener claro como es el funcionamiento de los diferentes
tipos de compuerta lógica y teoremas para un desarrollo más efectivo.
1.5.3
Pusimos en práctica lo que es reducir las funciones a su mínima expresión
empleando mapas de Karnaugh para evitar problemas al momento de la simulación
e implementación.