27
Circuitos Digitais 03/11/2014 1 7. Funções de Lógica Combinacional Circuitos Digitais 697 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 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 Circuitos Digitais 699 7. Funções de Lógica Combinacional 1. Somadores Básicos Circuitos Digitais 700

7. Funções de Lógica Combinacional - walderson.comwalderson.com/site/wp-content/uploads/2014/08/Circuitos-Digitais... · •Usar um codificador de decimal para BCD com prioridade

Embed Size (px)

Citation preview

Circuitos Digitais 03/11/2014

1

7. Funções de Lógica Combinacional

Circuitos Digitais 697

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

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

Circuitos Digitais 699

7. Funções de Lógica Combinacional1. Somadores Básicos

Circuitos Digitais 700

Circuitos Digitais 03/11/2014

2

Introdução

• 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 somador-completo

Circuitos Digitais 701

O Meio-Somador

• Um meio-somador soma dois bits e produz um resultado (soma) e um carry de saída

Circuitos Digitais 702

O Meio-Somador

• Circuito lógico do meio-somador• A soma pode ser implementado com a porta EX-OR

• O carry pode ser implementado com a porta AND

Circuitos Digitais 703

O Somador-Completo

• Um somador-completo tem um carry de entrada, enquanto que um meio-somador não tem

Circuitos Digitais 704

Circuitos Digitais 03/11/2014

3

O Somador-Completo

• Circuito lógico do somador-completo• Carry de saída:

• Resultado da soma:

Circuitos Digitais 705

O Somador-Completo

• Somador-completo implementado com dois meio-somadores e uma porta OR

Circuitos Digitais 706

O Somador-Completo

• Exemplo: Para cada um dos três somadores-completos na Figura abaixo, determine as saídas para as entradas mostradas.

Circuitos Digitais 707

O Somador-Completo

• Solução:

Circuitos Digitais 708

Circuitos Digitais 03/11/2014

4

Revisão

• Respostas

Circuitos Digitais 709

7. Funções de Lógica Combinacional2. Somadores Binários Paralelos

Circuitos Digitais 710

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

Introdução

Circuitos Digitais 712

Circuitos Digitais 03/11/2014

5

Introdução

Circuitos Digitais 713

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 714

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

Somadores Paralelos de Quatro Bits• Um grupo de quatro bits é denominado de nibble

• Um somador paralelo de 4 bits básico é implementado com quatro estágios de somadores-completos

• 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

6

Somadores Paralelos de Quatro Bits

Circuitos Digitais 717

Somadores Paralelos de Quatro Bits

Circuitos Digitais 718

Somadores Paralelos de Quatro Bits• Em termos do método usado para operar com carries em somadores paralelos, existem dois tipos• o somador com carry ondulante (ripple carry)

• o somador com carry antecipado (lookahead carry)

Circuitos Digitais 719

Somadores Paralelos de Quatro Bits• Exemplo: Use a tabela-verdade do somador

paralelo de 4 bits para determinar a soma e o carryde saída para a adição dos seguintes números de 4 bits se o carry de entrada (Cn – 1) for 0:

Circuitos Digitais 720

Circuitos Digitais 03/11/2014

7

Somadores Paralelos de Quatro Bits• Solução:

Circuitos Digitais 721

Uma Aplicaçã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 722

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 somador-completo passam então para os dois bits menos significativos de um somador paralelo binário

Circuitos Digitais 723

Uma Aplicação

• 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 724

Circuitos Digitais 03/11/2014

8

Uma Aplicação

• Os resistores das entradas de cada somador-completo 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

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 728

Circuitos Digitais 03/11/2014

9

Expansão de um Somador

• Somadores podem ser expandidos, conectados em cascata, para operarem mais bits

Circuitos Digitais 729

Expansão de um Somador

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 carryde 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 731

7. Funções de Lógica Combinacional3. Somadores com Carry Ondulante versus Somadores com Carry Antecipado

Circuitos Digitais 732

Circuitos Digitais 03/11/2014

10

Introdução

• Os somadores paralelos podem ser classificados em duas categorias baseado na forma em que os carriesinternos 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

Circuitos Digitais 733

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 734

Somador com Carry Ondulante

Circuitos Digitais 735

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 carryondulante é denominado adição com carryantecipado

• 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 736

Circuitos Digitais 03/11/2014

11

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

Circuitos Digitais 737

Somador com Carry Antecipado

• 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 738

Somador com Carry Antecipado

Circuitos Digitais 739

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 740

Circuitos Digitais 03/11/2014

12

Combinação de Somadores com Carry Antecipado e Somadores comCarry Ondulante• 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 741

Revisão

• 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 somador-completo quando Cin = 1, Cg = 0 e Cp = 1.

• Respostas

Circuitos Digitais 742

7. Funções de Lógica Combinacional4. Comparadores

Circuitos Digitais 743

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

Circuitos Digitais 744

Circuitos Digitais 03/11/2014

13

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

Circuitos Digitais 745

Igualdade

• 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 746

Desigualdade

• Além da saída de igualdade, muitos CIscomparadores proveem saídas adicionais que indicam qual dos dois números binários comparados é maior

Circuitos Digitais 747

Desigualdade

• 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 748

Circuitos Digitais 03/11/2014

14

Desigualdade

• 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.

Circuitos Digitais 749

Revisão

• 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 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

Circuitos Digitais 751

7. Funções de Lógica Combinacional5. Decodificadores

Circuitos Digitais 752

Circuitos Digitais 03/11/2014

15

Introdução

• 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

Circuitos Digitais 753

Decodificador Binário Básico

• 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 754

Decodificador Binário Básico

• 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:

Circuitos Digitais 755

Decodificador de 4 Bits

• 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 756

Circuitos Digitais 03/11/2014

16

Decodificador de 4 Bits

Circuitos Digitais 757

Decodificador de 4 Bits

Circuitos Digitais 758

Decodificador de BCD para Decimal

Circuitos Digitais 759

Decodificador de BCD para 7 Segmentos

Circuitos Digitais 760

Circuitos Digitais 03/11/2014

17

Decodificador de BCD para 7 Segmentos

Circuitos Digitais 761

Decodificador de BCD para 7 Segmentos

Circuitos Digitais 762

Revisão

• 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?

Circuitos Digitais 763

Respostas

• 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 764

Circuitos Digitais 03/11/2014

18

7. Funções de Lógica Combinacional6. Codificadores

Circuitos Digitais 765

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

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

Codificador de Decimal para BCD

Circuitos Digitais 768

Circuitos Digitais 03/11/2014

19

Codificador de Decimal para BCD(Figura 6-38)

Circuitos Digitais 769

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 770

Um Codificador de Decimal para BCD (74HC147, Figura 6-39)

Circuitos Digitais 771

Um Codificador de 8 Linhas para 3 Linhas (74LS148)

Circuitos Digitais 772

Circuitos Digitais 03/11/2014

20

Um codificador de 16 linhas para4 linhas usando CIs 74LS148 elógica externa

Circuitos Digitais 773

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 774

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 776

Circuitos Digitais 03/11/2014

21

Revisão

• Respostas

Circuitos Digitais 777

7. Funções de Lógica Combinacional7. Multiplexadores

Circuitos Digitais 778

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

Introdução

Circuitos Digitais 780

Circuitos Digitais 03/11/2014

22

Introdução

• 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

Expressão de Saída

Circuitos Digitais 782

Circuitos Digitais 783

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 784

Circuitos Digitais 03/11/2014

23

Circuitos Digitais 785

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 786

7. Funções de Lógica Combinacional8. Demultiplexadores

Circuitos Digitais 787

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

Circuitos Digitais 788

Circuitos Digitais 03/11/2014

24

Introdução

Circuitos Digitais 789

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 790

Exemplo

Circuitos Digitais 791

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 792

Circuitos Digitais 03/11/2014

25

7. Funções de Lógica Combinacional9. Resumo

Circuitos Digitais 793

Resumo

Circuitos Digitais 794

7. Funções de Lógica Combinacional10. Exercícios de Fixação

Circuitos Digitais 795

Exercícios de Fixação

• 1. Um meio-somador é caracterizado por• (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

• 2. Um somador-completo é caracterizado por• (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

26

Exercícios de Fixação

Circuitos Digitais 797

Exercícios de Fixação

Circuitos Digitais 798

Exercícios de Fixação

Circuitos Digitais 799

Gabarito

Circuitos Digitais 800

Circuitos Digitais 03/11/2014

27

7. Funções de Lógica Combinacional11. Exercícios para Entregar na Próxima Aula

Circuitos Digitais 801

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)• 1-23

• 26-29

Circuitos Digitais 802