Cursos / Eletrônica / Sistemas Digitais / Aula
Já estudamos até aqui os seguintes circuitos combinacionais básicos: somador, multiplexador, demultiplexador e decodificador. Vamos agora estudar o circuito combinacional comparador.
Um circuito comparador combinacional compara duas entradas binárias (A e B) para definir se existe uma igualdade ou diferença entre essas entradas.
O resultado dessa comparação é expresso em uma das três saídas desse circuito: $A = B, A > B$ e $A < B$. Dependendo do resultado da comparação, apenas uma dessas saídas (a que for verdadeira) será colocada em “1”. As outras duas terão valor “0”.
Mas, e quando quisermos comparar entradas com mais de um bit? Será que é possível comparar números com vários bits?
A Figura 29 responde a essa pergunta. Ela mostra o diagrama de um comparador de 4 bits, no qual as entradas A ($A_{3}, A_{2}, A_{1}, A_{0}$) e B ($B_{3}, B_{2}, B_{1}$ e $B_{0}$) são compostas de 4 bits cada uma, ou seja, teremos 4 entradas de um bit para o número A e 4 entradas de um bit para a entrada B.
Mas observe que a quantidade de saídas continua a mesma: 3.
Olhando para a Figura 29, vemos as saídas:
Vemos ainda outras três entradas ($I_{A>B}$, $I_{A < B}$ e $I_{A=B}$), chamadas entradas de cascateamento. Essas entradas podem ser usadas para conectar as saídas de outro comparador e assim podermos expandir a quantidade de bits dos números $A$ e $B$ que queremos comparar.
Então, pela Figura 29, temos as entradas ($A_{3}$, $A_{2}$, $A_{1}$, $A_{0}$ e $B_{3}$, $B_{2}$, $B_{1}$, $B_{0}$) e três saídas de comparação. Além disso, existem também as entradas de cascateamento ($I_{A>B$}, $I_{A < B}$ e $I_{A=B}$) que podem ser conectadas a outros circuitos para expansão da quantidade de bits na operação de comparação.
A Tabela 3 mostra a tabela verdade desse comparador de 4 bits.
Observando a tabela verdade do comparador na Tabela 3, vemos na primeira linha que se $A3>B3$, então, a saída $O_{A>B}$ terá o nível de tensão alto (H = "1") e as outras saídas terão o nível de tensão baixo (L="0"), pois o nº A será maior que o nº B.
Na 2ª linha, podemos notar que se $A_{3} < B_{3}$, a saída $O_{A>B}$ estará em nível baixo (L), a saída $O_{A < B}$ estará em nível alto (H) e a saída $O_{A=B}$ estará em nível lógico baixo (L), sinalizando que o nº A é menor que o nº B.
Você percebe, através dessas duas linhas, que não precisamos verificar os demais bits ($A_{2}$ e $B_{2}$; $A_{1}$ e $B_{1}$; $A_{0}$ e $B_{0}$), pois se os bits mais significativos de cada um dos números ($A_{3}$ e $B_{3}$) são diferentes, isso indica que $A>B$ ou que $A < B$. Somente precisaremos verificar um bit menos significativo quando os bits mais significativos que ele forem iguais aos do outro número que se quer comparar. É o que vemos, por exemplo, na terceira e na quarta linha, quando $A_{3}=B_{3}$.
Nesse caso, iremos comparar $A_{2}$ e $B_{2}$. Se $A_{2}>B_{2}$ (3ª linha), a saída $O_{A>B}$ estará em nível alto (H), a saída $O_{A < B}$ estará em nível baixo (L) e a saída $O_{A=B}$ estará em nível baixo (L). Por sua vez, se $A_{2} < B_{2}$ (4ª linha), a saída $O_{A>B}$ estará em nível baixo (L), a saída $O_{A < B}$ estará em nível alto (H) e a saída $O_{A=B}$ estará em nível baixo (L).
Quando $A_{2}=B_{2}$, a comparação passará para o bit seguinte ($A_{1}$ e $B_{1}$), como vimos na 5ª e na 6ª linha da tabela. E quando $A_{1}=B_{1}$, a comparação segue para o bit seguinte ($A_{0}$ e $B_{0}$), como mostram as duas linhas seguintes (7ª e 8ª linhas).
Quando todos os bits forem iguais ($A_{3}=B_{3}$, $A_{2}=B_{2}$, $A_{1}=B_{1}$ e $A_{0}=B_{0}$), o comparador avaliará as entradas de cascateamento para definir se $A>B$, $A < B$ ou se $A=B$, como mostram as demais linhas da tabela verdade.
Versão 5.3 - Todos os Direitos reservados