sistemas digitales - comparadores
DESCRIPTION
Que son y como programar comparadores en VHDL.TRANSCRIPT
S I S T E M A S D I G I T A L E S E Q U I P O 1
COMPARADORES
COMPARADOR
• Un comparador realiza la prueba entre dos palabras binarias del mismo formato y código, y determina si el resultado es mayor, menor o igual. Al no ser conmutativa la comparación, se debe especificar el orden de la comparación.
MEDIO COMPARADOR
• Se analiza primero el medio comparador de 1 bit, es decir, el comparador de palabras de 1 bit que no tiene entradas de comparación de mayor significación. Este medio comparador se muestra en la sig. Fig.• Medio Comparador de 1 bit:
A
B
GoEoLo
La relación lógica en el medio comparador aparece en la sig. Tabla.
• Tabla de Verdad del Medio comparador:
A B MAYOR Go Igual Eo Menor Lo
0 0 0 1 0
0 1 0 0 1
1 0 1 0 0
1 1 0 1 0
• Las ecuaciones lógicas que rigen al medio comparador vienen dadas 1 al 3.
• Go = AB´• Eo = (A ⊕ B)´• Lo = A´ B
• Un medio comparador de un bit es de poca utilidad práctica, dado que está muy limitado, sin embargo sirve para definir comparadores con operandos que tengan una mayor cantidad de bits en su descripción.
COMPARADOR COMPLETO
• El comparador completo de 1 bit es como el que apareció en la figura anterior, tomando A y B como palabras de 1 bit. En la siguiente tabla se encuentran las relaciones lógicas del comparador completo de 1 bit.• Tabla de verdad del comparador completo de 1
bitGi Ei Li A B Go Eo Lo
1 0 0 X X 1 0 0
0 0 1 X X 0 0 1
0 1 0 0 0 0 1 0
0 1 0 0 1 0 0 1
0 1 0 1 0 1 0 0
0 1 0 1 1 0 1 0
• Las relaciones lógicas que rigen al comparador completo de 1 bit se encuentran en las ecuaciones de 4 a 6
• Go = Gi + Ei AB´• Eo = Ei (A ⊕ B)´• Lo = Li + Ei A´B
• El comparador completo de 1 bit puede ser conectado en cascada para obtener comparadores de palabras más grandes, tal como se muestra en la sig. Fig.
AB GiEiLi
AB GiEiLi
AB GiEiLi
AB GiEiLi
AB GiEiLi
GoEoLo
GoEoLo
GoEoLo
GoEoLo
GoEoLo
AoBo A1B1
An-3Bn-3 An-2Bn-2
An-1Bn-1
GnEnLn
COMPARADORES EN VHDL
• La descripción VHDL del medio comparador y el comparador completo de 1 bit no tienen mayor
problema.
• Medio comparador:• Library IEEE;• Use IEEE.std_logic_1164.all;• Entity Medio_comparador_1 is• Port (• A, B : in std_logic; - - Operandos de 1 bit• Go, Eo, Lo : out std_logic - - Salidas• );• End Medio_comparador_1;• Architecture Simple of Medio_comparador_1 is• begin • Go <= A AND NOT (B) ; - - Mayor• Eo <= A XOR B ; - - Igual• Lo <= NOT (A) AND B ; - - Menor• End Simple;
• Comparador completo de 1 bit:• Library IEEE;• Use IEEE.std_logic_1164.all;• • Entity Comparador_1 is• Port (• A, B : in std_logic ; - - Operandos• Gi, Ei, Li : in std_logic ; - - Cascada• Go, Eo, Lo : out std_logic - - Salidas• );• End Comparador_1;• Architecture Simple of Comparador_1 is• begin • Go <= Gi OR (Ei AND (A AND NOT (B))); - - Mayor• Eo <= Ei AND (A XNOR B); - - Igual• Lo <= Li OR (Ei AND (NOT (A) AND B)); - - Menor• End Simple;