Funções de Lógica Combinacional
Transcrição
Funções de Lógica Combinacional
Circuitos Digitais 03/11/2014 Objetivos • Fazer distinção entre meio-somadores e somadores-completos • Usar somadores-completos para implementar somadores binários em paralelo • Explicar as diferenças entre somadores em paralelo com carry ondulante e com carry antecipado • Usar o comparador de magnitude para determinar a relação entre dois números binários e usar comparadores em cascata para conseguir realizar comparações de números com maior número de bits 7. Funções de Lógica Combinacional Circuitos Digitais 697 Circuitos Digitais 698 Objetivos • Implementar um decodificador binário básico • Usar decodificadores de BCD para 7 segmentos em sistemas com display • Usar um codificador de decimal para BCD com prioridade numa aplicação com um teclado simples 7. Funções de Lógica Combinacional 1. Somadores Básicos Circuitos Digitais 699 Circuitos Digitais 700 Circuitos Digitais 03/11/2014 Introdução O Meio-Somador • Os somadores são importantes em computadores e também em outros tipos de sistemas digitais nos quais dados numéricos são processados • Uma compreensão da operação básica de um somador é fundamental no estudo de sistemas digitais • Serão apresentados o meio-somador e o somadorcompleto • Um meio-somador soma dois bits e produz um resultado (soma) e um carry de saída Circuitos Digitais 701 Circuitos Digitais O Meio-Somador O Somador-Completo • Circuito lógico do meio-somador • Um somador-completo tem um carry de entrada, enquanto que um meio-somador não tem • A soma pode ser implementado com a porta EX-OR • O carry pode ser implementado com a porta AND Circuitos Digitais 703 Circuitos Digitais 702 704 Circuitos Digitais 03/11/2014 O Somador-Completo O Somador-Completo • Circuito lógico do somador-completo • Somador-completo implementado com dois meiosomadores e uma porta OR • Carry de saída: • Resultado da soma: Circuitos Digitais 705 Circuitos Digitais O Somador-Completo O Somador-Completo • Exemplo: Para cada um dos três somadorescompletos na Figura abaixo, determine as saídas para as entradas mostradas. • Solução: Circuitos Digitais 707 Circuitos Digitais 706 708 Circuitos Digitais 03/11/2014 Revisão 7. Funções de Lógica Combinacional • Respostas 2. Somadores Binários Paralelos Circuitos Digitais 709 Introdução Circuitos Digitais 710 Circuitos Digitais 712 Introdução • Um único somador-completo é capaz de somar dois números de 1 bit e um carry de entrada • Para somar números binários com mais de 1 bit, temos que usar somadores-completos adicionais • Quando um número binário é somado a outro, cada coluna gera um bit de soma e um bit de carry (que pode ser 1 ou 0) para a próxima coluna à esquerda • A saída de carry de cada somador é conectada à entrada de carry do próximo somador de maior ordem Circuitos Digitais 711 Circuitos Digitais 03/11/2014 Introdução Introdução • Exemplo: Determine a soma gerada pelo somador paralelo de 3 bits visto na Figura abaixo e mostre os carries intermediários quando os números binários 101 e 011 são somados. Circuitos Digitais 713 Circuitos Digitais 714 Somadores Paralelos de Quatro Bits Introdução • Solução: Os LSBs dos dois números são somados no somador-completo mais à direita • Os bits do resultado e os carries intermediários são indicados em cinza na Figura abaixo Circuitos Digitais 715 • Um grupo de quatro bits é denominado de nibble • Um somador paralelo de 4 bits básico é implementado com quatro estágios de somadorescompletos • A saída de carry de cada somador é conectada à entrada de carry para o próximo somador de ordem mais alta • Esses são denominados de carries internos Circuitos Digitais 716 Circuitos Digitais 03/11/2014 Somadores Paralelos de Quatro Bits Circuitos Digitais Somadores Paralelos de Quatro Bits 717 Circuitos Digitais 718 Somadores Paralelos de Quatro Bits Somadores Paralelos de Quatro Bits • Em termos do método usado para operar com carries em somadores paralelos, existem dois tipos • Exemplo: Use a tabela-verdade do somador paralelo de 4 bits para determinar a soma e o carry de saída para a adição dos seguintes números de 4 bits se o carry de entrada (Cn – 1) for 0: • o somador com carry ondulante (ripple carry) • o somador com carry antecipado (lookahead carry) Circuitos Digitais 719 Circuitos Digitais 720 Circuitos Digitais 03/11/2014 Somadores Paralelos de Quatro Bits Uma Aplicação • Solução: • Um exemplo de aplicação de somador-completo e somador paralelo é um simples sistema de votação que pode ser usado para fornecer simultaneamente o número de votos “sim” e o número de votos “não” • Esse tipo de sistema pode ser usado quando um grupo de pessoas é reunido e é necessário determinar imediatamente opiniões (a favor ou contra), tomar decisões ou votar certa questão ou outras matérias Circuitos Digitais 721 Circuitos Digitais 722 Uma Aplicação Uma Aplicação • Em sua forma mais simples, o sistema inclui uma chave para seleção do “sim” ou do “não” em cada um do grupo e um display digital para o número de votos “sim” e um outro para o número de votos “não” • Cada somador-completo pode produzir a soma de até três votos • A soma e o carry de saída de cada somadorcompleto passam então para os dois bits menos significativos de um somador paralelo binário • As duas entradas mais significativas do somador paralelo são conectadas em GND (0) porque não existe nenhum caso em que a entrada binária exceda a 0011 (decimal 3) • Para esse sistema básico de 6 posições, as saídas do somador paralelo vão para um decodificador de BCD para 7 segmentos que aciona um display de 7 segmentos • Circuitos adicionais têm que ser incluídos quando o sistema é expandido Circuitos Digitais 723 Circuitos Digitais 724 Circuitos Digitais 03/11/2014 Uma Aplicação • Os resistores das entradas de cada somadorcompleto para GND garantem que cada entrada será nível BAIXO quando a chave estiver na posição neutra (a lógica CMOS é usada) • Quando uma chave é comutada para a posição “sim” ou posição “não”, um nível ALTO (VCC) é aplicado na entrada do somador-completo associado Circuitos Digitais 725 Circuitos Digitais 726 Circuitos Digitais 728 Um Somador Paralelo de 4 Bits (74LS283) • Um exemplo de um somador paralelo de 4 bits que é comercializado é o CI 74LS283 • Nesse CI, VCC é o pino 16 e GND é o pino 8, que é uma configuração padrão • Esse dispositivo pode ser comercializado em outras famílias TTL e CMOS • Texas Instruments http://www.ti.com Circuitos Digitais 727 Circuitos Digitais 03/11/2014 Expansão de um Somador Expansão de um Somador • Somadores podem ser expandidos, conectados em cascata, para operarem mais bits Circuitos Digitais 729 Circuitos Digitais 730 Revisão • 1. Dois números de 4 bits (1101 e 1011) são aplicados num somador paralelo de 4 bits. O carry de entrada é 1. Determine a soma (∑) e o carry de saída. • 2. Quantos CIs 74LS283 seriam necessários para somar dois números binários em que cada um representa números decimais até 100010? • Respostas Circuitos Digitais 7. Funções de Lógica Combinacional 3. Somadores com Carry Ondulante versus Somadores com Carry Antecipado 731 Circuitos Digitais 732 Circuitos Digitais 03/11/2014 Introdução Somador com Carry Ondulante • Os somadores paralelos podem ser classificados em duas categorias baseado na forma em que os carries internos de um estágio para o outro são operados • As categorias são carry ondulante e carry antecipado • Externamente, os dois tipos de somadores são iguais em termos de entradas e saídas • A diferença é a velocidade na qual eles podem somar números • O somador com carry antecipado é muito mais rápido que o somador com carry ondulante • Um somador com carry ondulante é aquele no qual a saída de carry de cada somador-completo (FA – full-adder) é conectada à entrada de carry do próximo estágio de maior ordem (um estágio corresponde a um somador-completo) • A soma e o carry de saída de qualquer estágio não podem ser gerados antes que o carry de entrada seja estabelecido • Isso provoca um atraso no processo de adição Circuitos Digitais 733 Somador com Carry Ondulante Circuitos Digitais 734 Somador com Carry Antecipado • A velocidade com a qual uma adição pode ser realizada é limitada pelo tempo necessário para os carries se propagarem (ondulação) através de todos os estágios de um somador paralelo • Um método de aumentar a velocidade do processo de adição que elimina esse atraso do carry ondulante é denominado adição com carry antecipado • Esse somador antecipa o carry de saída de cada estágio e, com base nas entradas, produz o carry de saída através da geração ou da propagação de carry Circuitos Digitais 735 Circuitos Digitais 736 Circuitos Digitais 03/11/2014 Somador com Carry Antecipado Somador com Carry Antecipado • A geração de carry ocorre quando um carry de saída é produzido (gerado) internamente pelo somador-completo • Um carry é gerado apenas quando os dois bits de entrada são 1s • O carry gerado, Cg, é expresso como uma função AND dos dois bits de entrada, A e B • A propagação de carry ocorre quando um carry de entrada passa através dos somadores (ondulação) até se tornar um carry de saída • Um carry de entrada pode ser propagado pelo somador-completo quando um ou os dois bits de entrada forem 1s • O carry propagado, Cp, é expresso como a função OR entre os bits de entrada Circuitos Digitais 737 Somador com Carry Antecipado Circuitos Digitais 738 Somador com Carry Antecipado • O carry de saída de um somador-completo pode ser expresso em termos do carry gerado (Cg) e do carry propagado (Cp) Circuitos Digitais 739 Circuitos Digitais 740 Circuitos Digitais 03/11/2014 Combinação de Somadores com Carry Antecipado e Somadores com Carry Ondulante Revisão • O CI 74LS283 (somador de 4 bits) que foi apresentado anteriormente é um somador com carry antecipado • Quando esses somadores são associados em cascata para expandir sua capacidade de operar números binários com mais de 4 bits, o carry de saída de um somador é conectado à entrada de carry do próximo • O somador resultante é na realidade uma combinação de somador com carry antecipado e carry ondulante Circuitos Digitais • 1. Os bits de entrada para um somador-completo são A = 1 e B = 0. Determine Cg e Cp. • 2. Determine o carry de saída de um somadorcompleto quando Cin = 1, Cg = 0 e Cp = 1. • Respostas 741 Circuitos Digitais 742 Introdução • A função básica de um comparador é comparar as magnitudes de dois números binários para determinar a relação comparativa entre eles • Em sua forma mais simples, um circuito comparador determina se dois números são iguais 7. Funções de Lógica Combinacional 4. Comparadores Circuitos Digitais 743 Circuitos Digitais 744 Circuitos Digitais 03/11/2014 Igualdade Igualdade • A porta EX-OR pode ser usada como um comparador básico porque sua saída é nível 1 se os dois bits de entrada forem diferentes e é 0 se os bits de entrada forem iguais • Para comparar números binários com dois bits cada um, é necessário mais uma porta EX-OR • Exemplo: Considerando os seguintes conjuntos de números binários e o circuito comparador mostrado anteriormente, determine a saída do circuito para cada conjunto. • (a) 10 e 10 • (b) 11 e 10 • Solução: Circuitos Digitais 745 Circuitos Digitais Desigualdade Desigualdade • Além da saída de igualdade, muitos CIs comparadores proveem saídas adicionais que indicam qual dos dois números binários comparados é maior • Exemplo: Determine as saídas A = B, A > B e A < B para os números de entradas mostrados no comparador visto na Figura abaixo. Circuitos Digitais 747 Circuitos Digitais 746 748 Circuitos Digitais 03/11/2014 Desigualdade Revisão • Solução: O número nas entradas A é 0110 e o número nas entradas B é 0011. • A saída A > B é nível ALTO e as outras saídas são nível BAIXO. • 1. Os números binários A = 1011 e B = 1010 são aplicados nas entradas de um comparador de 4 bits. Determine as saídas. • 2. Os números binários A = 11001011 e B = 11010100 são aplicados ao comparador de 8 bits. Determine as saídas, caso este comparador tenha sido implementado usando-se dois comparadores de 4 bits em cascata. Circuitos Digitais 749 Circuitos Digitais 750 Respostas • 1. A > B = 1, A < B = 0, A = B = 0 quando A = 1011 e B = 1010 • 2. • Comparador da direita: A < B = 1; A = B = 0; A > B = 0 • Comparador da esquerda: A < B = 0; A = B = 0; A > B = 1 7. Funções de Lógica Combinacional 5. Decodificadores Circuitos Digitais 751 Circuitos Digitais 752 Circuitos Digitais 03/11/2014 Introdução Decodificador Binário Básico • Um decodificador é um circuito digital que detecta a presença de uma combinação específica de bits (código) em suas entradas indicando a presença desse código através de um nível de saída especificado • Em sua forma geral, um decodificador tem n linhas de entrada para manipular n bits e de uma a 2n linhas de saída para indicar a presença de uma ou mais combinações de n bits • Suponha que precisamos determinar quando um binário 1001 ocorre nas entradas de um circuito digital • Uma porta AND pode ser usada como o elemento de decodificação básico porque ela produz um nível ALTO na saída apenas quando todas as suas entradas estão em nível ALTO Circuitos Digitais 753 Circuitos Digitais 754 Decodificador Binário Básico Decodificador de 4 Bits • Exemplo: Determine a lógica necessária para decodificar o número binário 1011 produzindo um nível ALTO na saída. • Solução: A função de decodificação pode ser obtida complementando apenas as variáveis que aparecem como 0 no número binário desejado, como a seguir: • Para decodificar todas as combinações possíveis de quatro bits, são necessárias dezesseis portas de decodificação (24 = 16) • Esse tipo de decodificador é normalmente denominado decodificador de 4 linhas para 16 linhas porque existem quatro entradas e dezesseis saídas ou decodificador 1 de 16 porque para um dado código nas entradas, uma das dezesseis saídas é ativada Circuitos Digitais Circuitos Digitais 755 756 Circuitos Digitais 03/11/2014 Decodificador de 4 Bits Circuitos Digitais Decodificador de 4 Bits 757 Decodificador de BCD para Decimal Circuitos Digitais Circuitos Digitais 758 Decodificador de BCD para 7 Segmentos 759 Circuitos Digitais 760 Circuitos Digitais 03/11/2014 Decodificador de BCD para 7 Segmentos Circuitos Digitais Decodificador de BCD para 7 Segmentos 761 Circuitos Digitais 762 Revisão Respostas • 1. Um decodificador de 3 linhas para 8 linhas pode ser usado para a decodificação de octal para decimal. Quando um binário 101 for colocado nas entradas, qual linha de saída é ativada? • 2. Quantos CIs 74HC154 (decodificador 1 de 16) são necessários para decodificar um número binário • de 6 bits? • 3. Você escolheria um decodificador/driver com saídas ativas em nível ALTO ou BAIXO para acionar um display de LEDs do tipo catodo comum? • 1. A saída 5 é ativada quando 101 estiver nas entradas. • 2. Quatro CIs 74HC154 são usados para decodificar um número binário de 6 bits. • 3. Uma saída ativa em nível BAIXO aciona um display de LED de catodo comum. Circuitos Digitais 763 Circuitos Digitais 764 Circuitos Digitais 03/11/2014 Introdução • Um codificador é um circuito lógico que realiza essencialmente a função “inversa” do decodificador • Um codificador aceita um nível ativo em uma de suas entradas representando um dígito, tal como um dígito decimal ou octal, e o converte em uma saída codificada, tal como binário ou BCD • Codificadores também podem ser implementados para codificar vários símbolos e caracteres alfabéticos • O processo de conversão de símbolos familiares ou números para um formato codificado é denominado de codificação 7. Funções de Lógica Combinacional 6. Codificadores Circuitos Digitais 765 Codificador de Decimal para BCD Circuitos Digitais 766 Codificador de Decimal para BCD • Este tipo de codificador tem dez entradas – uma para cada dígito decimal – e quatro saídas correspondentes ao código BCD Circuitos Digitais 767 Circuitos Digitais 768 Circuitos Digitais 03/11/2014 Codificador de Decimal para BCD (Figura 6-38) Codificador de Prioridade de Decimal para BCD • Um codificador de prioridade oferece também uma flexibilidade adicional na qual ele pode ser usado em aplicações que requerem detecção de prioridade • A função de prioridade significa que o codificador produzirá uma saída BCD correspondente à entrada do dígito decimal mais significativo que estiver ativado ignorando qualquer outra entrada ativa menos significativa • Por exemplo, se as entradas 6 e 3 estiverem ativas, a saída BCD será 0110 (que representa o decimal 6) Circuitos Digitais 769 Um Codificador de Decimal para BCD (74HC147, Figura 6-39) Circuitos Digitais Circuitos Digitais 770 Um Codificador de 8 Linhas para 3 Linhas (74LS148) 771 Circuitos Digitais 772 Circuitos Digitais 03/11/2014 Um codificador de 16 linhas para 4 linhas usando CIs 74LS148 e lógica externa Exemplo • Se aparecerem níveis BAIXOs nos pinos 1, 4 e 13 do CI 74HC147, indique o estado das quatro saídas. Todas as outras entradas estão em nível ALTO. • Solução: Circuitos Digitais 773 Circuitos Digitais 774 Circuitos Digitais 776 Uma Aplicação • Um exemplo de aplicação clássica é um codificador de teclado • Os dez dígitos decimais no teclado de um computador, por exemplo, tem que ser codificado para ser processado pelo circuito lógico • Quando uma das teclas é pressionada, o dígito decimal é codificado para o código BCD correspondente Circuitos Digitais 775 Circuitos Digitais 03/11/2014 Revisão 7. Funções de Lógica Combinacional • Respostas 7. Multiplexadores Circuitos Digitais 777 Introdução Circuitos Digitais 778 Circuitos Digitais 780 Introdução • Um multiplexador (MUX) é um dispositivo que permite que informações digitais de diversas fontes sejam encaminhadas para uma única linha para serem transmitidas nessa linha para um destino comum • Um multiplexador básico tem várias linhas de entrada de dados e uma única linha de saída • Ele também possui entradas de seleção de dados, as quais permitem que os dados digitais de quaisquer entradas sejam comutados para a linha de saída • Os multiplexadores também são conhecidos como seletores de dados Circuitos Digitais 779 Circuitos Digitais 03/11/2014 Introdução Expressão de Saída • Como os dados podem ser selecionados a partir de qualquer uma das linhas de entrada, esse circuito também é denominado de seletor de dados Circuitos Digitais 781 Circuitos Digitais 782 Exemplo • As formas de onda da entrada de dados e das entradas de seleção de dados vistas na Figura a seguir (a) são aplicadas no multiplexador mostrado na Figura anterior • Determine a forma de onda de saída em relação às entradas Circuitos Digitais 783 Circuitos Digitais 784 Circuitos Digitais 03/11/2014 Exemplo • Solução: Os estados binários das entradas de seleção de dados durante cada intervalo determina qual dado de entrada é selecionado • Observe que as entradas de seleção de dados passam pela sequência binária repetitiva: 00, 01, 10, 11, 00, 01, 10, 11 e assim por diante • A forma de onda de saída resultante é mostrada na Figura anterior (b) Circuitos Digitais 785 Circuitos Digitais 786 Introdução • Um demultiplexador (DEMUX) basicamente inverte a função da multiplexação • Ele recebe informações digitais a partir de uma linha e as distribui para um determinado número de linhas de saída • Por essa razão, o demultiplexador também é conhecido como distribuidor de dados • Os decodificadores também podem ser usados como demultiplexadores 7. Funções de Lógica Combinacional 8. Demultiplexadores Circuitos Digitais 787 Circuitos Digitais 788 Circuitos Digitais 03/11/2014 Introdução Exemplo • A forma de onda de entrada de dados em série e as entradas de seleção de dados (S0 e S1) são mostradas na Figura a seguir • Determine as formas de onda da saída de dados D0 a D3 para o demultiplexador visto na Figura anterior Circuitos Digitais 789 Exemplo Circuitos Digitais 790 Exemplo • Solução: Observe que as linhas de seleção seguem uma sequência binária de forma que cada bit sucessivo de entrada é direcionado para D0, D1, D2 e D3 na sequência, conforme mostra as formas de onda vistas na Figura anterior. Circuitos Digitais 791 Circuitos Digitais 792 Circuitos Digitais 03/11/2014 Resumo 7. Funções de Lógica Combinacional 9. Resumo Circuitos Digitais 793 Circuitos Digitais 794 Exercícios de Fixação • 1. Um meio-somador é caracterizado por • • • • 7. Funções de Lógica Combinacional • 2. Um somador-completo é caracterizado por • • • • 10. Exercícios de Fixação Circuitos Digitais (a) duas entradas e duas saídas (b) três entradas e duas saídas (c) duas entradas e três saídas (d) duas entradas e uma saída 795 (a) duas entradas e duas saídas (b) três entradas e duas saídas (c) duas entradas e três saídas (d) duas entradas e uma saída Circuitos Digitais 796 Circuitos Digitais 03/11/2014 Exercícios de Fixação Circuitos Digitais Exercícios de Fixação 797 Exercícios de Fixação Circuitos Digitais Circuitos Digitais 798 Circuitos Digitais 800 Gabarito 799 Circuitos Digitais 03/11/2014 Exercícios para Entregar na Próxima Aula (10/11/2014) • Resolver os seguintes problemas do Capítulo 6 (Funções de Lógica Combinacional), do livro do Floyd (pode ser em dupla) 7. Funções de Lógica Combinacional • 1-23 • 26-29 11. Exercícios para Entregar na Próxima Aula Circuitos Digitais 801 Circuitos Digitais 802