Os materiais didáticos aqui disponibilizados estão licenciados através de Creative Commons Atribuição-SemDerivações-SemDerivados CC BY-NC-ND. Você possui a permissão para visualizar e compartilhar, desde que atribua os créditos do autor. Não poderá alterá-los e nem utilizá-los para fins comerciais.
Atribuição-SemDerivações-SemDerivados
CC BY-NC-ND
Cursos / Automação Industrial / 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 (A3,A2,A1,A0) e B (B3,B2,B1 e B0) 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 (IA>B, IA<B e IA=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 (A3, A2, A1, A0 e B3, B2, B1, B0) e três saídas de comparação. Além disso, existem também as entradas de cascateamento (IA>B$,I_{A < B}eI_{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 OA>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 A3<B3, a saída OA>B estará em nível baixo (L), a saída OA<B estará em nível alto (H) e a saída OA=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 (A2 e B2; A1 e B1; A0 e B0), pois se os bits mais significativos de cada um dos números (A3 e B3) 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 A3=B3.
Nesse caso, iremos comparar A2 e B2. Se A2>B2 (3ª linha), a saída OA>B estará em nível alto (H), a saída OA<B estará em nível baixo (L) e a saída OA=B estará em nível baixo (L). Por sua vez, se A2<B2 (4ª linha), a saída OA>B estará em nível baixo (L), a saída OA<B estará em nível alto (H) e a saída OA=B estará em nível baixo (L).
Quando A2=B2, a comparação passará para o bit seguinte (A1 e B1), como vimos na 5ª e na 6ª linha da tabela. E quando A1=B1, a comparação segue para o bit seguinte (A0 e B0), como mostram as duas linhas seguintes (7ª e 8ª linhas).
Quando todos os bits forem iguais (A3=B3, A2=B2, A1=B1 e A0=B0), 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