Baixe o app para aproveitar ainda mais
Prévia do material em texto
1111 Circuitos Combinacionais Professora: Priscila Doria, M.Sc. pdoria@area1.edu.br 2 Roteiro • Introdução • Códigos digitais • Codificadores e decodificadores • Circuitos Aritméticos 3 Introdução • Codificação binária pura: número decimal é representado por um número binário equivalente • Nos sistemas digitais, as conversões entre decimal e binário são realizadas com frequência • As conversões entre decimal e binário pode se tornar longas e complicadas para números grandes • Por essa razão, são utilizados códigos para converter os números decimais em binário 4 Introdução • Código: – Representação de números, letras ou palavras através de um conjunto de símbolos – Exemplo: • Código Morse (conjunto de traços e pontos -> alfabeto) • Existem vários códigos no campo da Eletrônica Digital – Exemplos: • BCD, • Excesso 3, • Gray, • Johnson • 9876543210 5 Código BCD 8421 • BCD: – Significa Decimal Codificado em Binário – É um código de 4 bits – Representa os dígitos decimais de 0 a 9 • Binários inválidos: – 1010, 1011, 1100, 1101, 1110 e 1111 • Exemplo de conversão: – 72510� 0111 0010 0101BCD8421 Decimal BCD 8421 0 A B C D 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 6 Código BCD 7421 Decimal BCD 7421 0 A B C D 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 1 0 0 0 8 1 0 0 1 9 1 0 1 0 7 Código BCD 5211 Decimal BCD 5211 0 A B C D 0 0 0 0 1 0 0 0 1 2 0 0 1 1 3 0 1 0 1 4 0 1 1 1 5 1 0 0 0 6 1 0 0 1 7 1 0 1 1 8 1 1 0 1 9 1 1 1 1 8 Código BCD 2421 Decimal BCD 2421 0 A B C D 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 1 0 1 1 6 1 1 0 0 7 1 1 0 1 8 1 1 1 0 9 1 1 1 1 Atenção! De 0 a 4: Atribui 0 ao MSB De 5 a 9: Atribui 1 ao MSB 9 Código Excesso 3 Decimal Excesso 3 0 A B C D 0 0 1 1 1 0 1 0 0 2 0 1 0 1 3 0 1 1 0 4 0 1 1 1 5 1 0 0 0 6 1 0 0 1 7 1 0 1 0 8 1 0 1 1 9 1 1 0 0 • É a transformação do número decimal no binário correspondente, somando-se 3 unidades • Utilizado em alguns casos nos Circuitos Aritméticos 10 Código Gray Decimal Gray 0 A B C D 0 0 0 0 1 0 0 0 1 2 0 0 1 1 3 0 0 1 0 4 0 1 1 0 5 0 1 1 1 6 0 1 0 1 7 0 1 0 0 8 1 1 0 0 9 1 1 0 1 10 1 1 1 1 11 1 1 1 0 12 1 0 1 0 13 1 0 1 1 14 1 0 0 1 15 1 0 0 0 • Característica: – De um número a outro apenas um bit varia • A alteração de um único bit minimiza a chance de erro • Utilização: – Medida de posição de eixo mecânico – Mapas de Karnaugh 11 Código Gray • Conversão: – Exemplo1: 01012 = ?GRAY 0 − + → 1 − + → 0 − + → 1 Binário ↓ ↓ ↓ ↓ 0 1 1 1 Gray – Exemplo2: 0111GRAY = ?2 0 1 1 1 Gray ↓ ↓ ↓ ↓ 0 1 0 1 Binário + + + 12 Diagrama de Karnaugh (Código Gray) A A D B C C B DD B 0 1 32 7 12 8 6 5 4 13 9 10 11 15 14 13 Código Johnson • Características: – É um código refletido • É aquele em que somente um bit varia de um número para o outro – É cíclico • Do último estado volta-se para o primeiro, fechando o ciclo do código e mantendo a variação de apenas um bit entre números vizinhos • Utilização: – Circuitos sequenciais Decimal Johnson 0 A B C D E 0 0 0 0 0 1 0 0 0 0 1 2 0 0 0 1 1 3 0 0 1 1 1 4 0 1 1 1 1 5 1 1 1 1 1 6 1 1 1 1 0 7 1 1 1 0 0 8 1 1 0 0 0 9 1 0 0 0 0 14 Código 9876543210 Decimal 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 2 0 0 0 0 0 0 0 1 0 0 3 0 0 0 0 0 0 1 0 0 0 4 0 0 0 0 0 1 0 0 0 0 5 0 0 0 0 1 0 0 0 0 0 6 0 0 0 1 0 0 0 0 0 0 7 0 0 1 0 0 0 0 0 0 0 8 0 1 0 0 0 0 0 0 0 0 9 1 0 0 0 0 0 0 0 0 0 15 Roteiro • Introdução • Códigos digitais • Codificadores e decodificadores • Circuitos Aritméticos 16 Codificadores e Decodificadores • Codificador: – Circuito combinacional que torna possível a passagem de um código conhecido para um desconhecido • Exemplo: – Circuito inicial de uma calculadora que transforma uma entrada decimal (teclado) em uma saída binária • Decodificador: – O circuito que faz o inverso • Exemplo: – Circuito que recebe o resultado da operação em binário e o transforma em saída decimal 17 Codificadores e Decodificadores • Os termos codificador e decodificador diferenciam-se em função do referencial – Usuário da calculadora: o sistema de entrada é um codificador – Processador aritmético: o sistema de entrada é decodificador D E C O D I F I C A D O R 18 Codificador Decimal/Binário • Elaborar um codificador para transformar um código decimal em binário (BCD 8421) – Entrada: Chaves numeradas de 0 a 9 – Saída: 4 fios para fornecer um código binário de 4 bits 19 Codificador Decimal/Binário Chave BCD 8421 A B C D Ch0 0 0 0 0 Ch1 0 0 0 1 Ch2 0 0 1 0 Ch3 0 0 1 1 Ch4 0 1 0 0 Ch5 0 1 0 1 Ch6 0 1 1 0 Ch7 0 1 1 1 Ch8 1 0 0 0 Ch9 1 0 0 1 20 Codificador Decimal/Binário • Saída A – Vale 1 quando Ch8 ou Ch9 acionada • Saída B – Vale 1 quando Ch4, Ch5, Ch6 ou Ch7 acionada • Saída C – Vale 1 quando Ch2, Ch3, Ch6 ou Ch7 acionada • Saída D – Vale 1 quando Ch1, Ch3, Ch5, Ch7 ou Ch9 21 Codificador Decimal/Binário 22 Decodificador Binário/Decimal • Elaborar um decodificador para transformar um binário (BCD 8421) em decimal (código 9876543210) 23 Decodificador Binário/Decimal A B C D S9 S8 S7 S6 S5 S4 S3 S2 S1 S0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 24 Decodificador Binário/Decimal ADS =9 DAS =8 0 0 0 0 0 0 0 0 X X X X 0 1 X X A A D B C C B DD B 0 0 0 0 0 0 0 0 X X X X 1 0 X X A D C C B DD B B A 25 Decodificador Binário/Decimal BCDS =7 DBCS =6 0 0 0 0 0 0 1 0 X X X X 0 0 X X A A D B C C B DD B 0 0 0 0 0 0 0 1 X X X X 0 0 X X A A D B C C B DD B 26 Decodificador Binário/Decimal DCBS =5 DCBS =4 0 0 0 0 0 1 0 0 X X X X 0 0 X X A A D B C C B DD B 0 0 0 0 1 0 0 0 X X X X 0 0 X X A A D B C C B DD B 27 Decodificador Binário/Decimal DCBS =2 0 0 1 0 0 0 0 0 X X X X 0 0 X X A A D B C B D B 0 0 0 1 0 0 0 0 X X X X 0 0 X X A A B C B DD B C CDBS =3 D D C 28 Decodificador Binário/Decimal DCBAS =1 DCBAS =0 0 1 0 0 0 0 0 0 X X X X 0 0 X X A A D B C C B DD B 1 0 0 0 0 0 0 0 X X X X 0 0 X X A A D B C C B DD B 29 Decodificador Binário/Decimal 30 Projetos de decodificadores • É possível construir decodificadores que passem de qualquer código para qualquer outro • Processo: – Tabela Verdade – Expressão simplificada – Circuito 31 Projetos de decodificadores • Elaborar o decodificador de BCD 8421 para Excesso 3 • Variáveis de entrada: – A – B – C – D • Variáveis de saída: – S3 – S2 – S1 – S0 BCD 8421 Excesso 3 A B C D S3 S2 S1 S0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 0 0 1 1 1 0 1 0 1 1 0 0 0 0 1 1 0 1 0 0 1 0 1 1 1 1 0 1 0 1 0 0 0 1 0 1 1 1 0 0 1 1 1 0 0 32 Projetos de decodificadores DCBCBDBS ++=2 0 0 0 0 0 1 1 1 X X X X 1 1 X X A A D B C B D B 0 1 1 1 1 0 0 0 X X X X 0 1 X X A A B B D B C BCBDAS ++=3 D C C D D 33 Projetos de decodificadores CDDCS +=1 DS =0 1 0 1 0 1 0 1 0 X X X X 1 0 X X A A D B C C B DD B 1 0 0 1 1 0 0 1 X X X X 1 0 X X D C C DD B B B A A 34 Projetos de decodificadores 35 Exercício 1. Elabore um decodificador de Excesso 3 para BCD 8421. 36 Decodificador para Display de 7 segmentos • O display de 7 segmentos permite escrever: – Números decimais de 0 a 9 – Letras – Sinais • Tipos de LEDs: – Anodo Comum: cada segmento acende com 0 aplicado ao respectivo segmento – Catodo Comum: cada segmento acende com 1 aplicado ao respectivosegmento 37 Decodificador para Display de 7 segmentos • Elaborar um decodificador para a partir de um código binário (BCD 8421) escrever a sequência de 0 a 9 em um display de 7 segmentos 38 Decodificador para Display de 7 segmentos 39 Decodificador para Display de 7 segmentos 1 0 1 1 0 1 1 1 X X X X 1 1 X X A A D B C C B DD B DBBDCAa +++= CDDCBb ++= 1 1 1 1 1 0 1 0 X X X X 1 1 X X A A D B C C B DD B 40 Decodificador para Display de 7 segmentos 1 0 1 1 0 1 0 1 X X X X 1 1 X X A A B C B D B DCBDCCBDBAd ++++=DCBc ++= 1 1 1 0 1 1 1 1 X X X X 1 1 X X A A D B C C B DD B C DD 41 Decodificador para Display de 7 segmentos 1 0 0 1 0 0 0 1 X X X X 1 0 X X A A D B C C B DD B DCDBe += DBCBDCAf +++= 1 0 0 0 1 1 0 1 X X X X 1 1 X X D C C B DD B B A A 42 Decodificador para Display de 7 segmentos 0 0 1 1 1 1 0 1 X X X X 1 1 X X A A B C B D B DCCBCBAg +++= C DD 43 Decodificador para Display de 7 segmentos 44 Display de 7 segmentos 45 Exercícios 2. Projete um decodificador para, a partir de um código binário, escrever a sequência da figura abaixo em um display de 7 segmentos. CBACCAd ABCCAc BCb ACBCCBAa ++= += = ++= 1= += += g CBAf CBe 46 Estudo Independente • Leitura: – Capítulo 5 (Idoeta e Capuano) • Seções: 5.1, 5.2 e 5.3 • Atividades: – Lista de Exercícios Nº 5 • Questões: 1, 2, 3, 4, 5, 6, 7, 8 e 9 – Laboratório Nº 2 • Questões: 1, 2 e 3 47 Roteiro • Introdução • Códigos digitais • Codificadores e decodificadores • Circuitos Aritméticos 48 Circuitos Aritméticos • São aqueles que realizam operações aritméticas sobre números binários • São utilizados principalmente para construir a ULA dos microprocessadores • Circuitos aritméticos e seus subsistemas derivados – Meio somador – Somador completo – Meio subtrator – Subtrator completo 49 Meio Somador • Revisão: • Tabela verdade da soma de 2 números de 1 algarismo: 0 0 1 1 + 0 + 1 + 0 + 1 0 1 1 10 1 transporte 0 1 1 0 SA B TS 0 0 0 0 1 0 1 0 0 1 1 1 TS� transporte de saída (0 + 0 = 0 � Ts = 0) (0 + 1 = 1 � Ts = 0) (1 + 0 = 1 � Ts = 0) (1 + 1 = 0 � Ts = 1) 50 Meio Somador • Expressões: BAS BABAS ⊕= += ABTS = A A B B 01 10 A A B B 10 00 51 Meio Somador • Circuito: • Representação em bloco: Meio somador 52 Somador Completo • Meio somador permite a soma de números binários com 1 algarismo – Para se fazer a soma com números binários de mais algarismos, esse circuito torna-se insuficiente • Não permite a introdução do transporte de entrada proveniente da coluna anterior • Exemplo: 11102 + 1102 53 Somador Completo • Para efetuar a soma de 2 números binários de mais algarismos, basta somar coluna a coluna, levando em conta o transporte de entrada (i.e., o Ts da coluna anterior) • Somador completo: é um circuito que efetua a soma completa de uma coluna, considerando o transporte de entrada 54 Somador Completo • Tabela verdade: 11111 10011 10101 01001 1 0 1 0 TE 0 1 1 0 SA B TS 0 0 0 0 0 0 0 1 0 0 1 1 TE� transporte de entrada TS� transporte de saída (0 + 0 + 0 = 0 � Ts = 0) (0 + 0 + 1 = 1 � Ts = 0) (0 + 1 + 0 = 1 � Ts = 0) (0 + 1 + 1 = 0 � Ts = 1) (1 + 0 + 0 = 1 � Ts = 0) (1 + 0 + 1 = 0 � Ts = 1) (1 + 1 + 0 = 0 � Ts = 1) (1 + 1 + 1 = 1 � Ts = 1) 55 Somador Completo • Expressões: 1 0 0 1 01 10A A B B ET ET ET EEEE ABTTBATBATBAS +++= 1 1 1 0 10 00A A B B ET ET ET ABATBTT EES ++= 56 Somador Completo • Expressões: E EE EE EEEE EEEE TBAS TBATBAS TBATBAS BTTBATBTBAS ABTTBATBATBAS ⊕⊕= ⊕+⊕= ⊗+⊕= +++= +++= ).().( ).().( ).().( ABATBTT EES ++= 57 Somador Completo • Circuito: • Representação em bloco: Somador completo 58 Somador Completo • Exemplo: – Montar um sistema em bloco para efetuar a soma de 2 números de 4 bits: 59 Somador Completo a partir de Meio Somadores • Construir um Somador Completo a partir de 2 Meio Somadores • Analisar as expressões de ambos os blocos. BAS ⊕= ABTS = ETBAS ⊕⊕= EEEES ABTTABTBABTAT +++= 60 Somador Completo a partir de Meio Somadores ETBAS ⊕⊕= ABBATT TTABBABATT ABTTABTBABTAT ES EEES EEEES +⊕= +++= +++= )( )()( 61 Meio Subtrator • Revisão: • Tabela verdade da soma de 2 números de 1 algarismo: 0 0 1 1 - 0 - 1 - 0 - 1 0 1 1 0 1 transporte 0 1 1 0 SA B TS 0 0 0 0 1 1 1 0 0 1 1 0 TS� transporte de saída (0 - 0 = 0 � Ts = 0) (0 - 1 = 1 � Ts = 1) (1 - 0 = 1 � Ts = 0) (1 - 1 = 0 � Ts = 0) 62 Meio Subtrator • Expressões: BAS BABAS ⊕= += BATS = A A B B 01 10 A A B B 00 10 63 Meio Subtrator • Circuito: • Representação em bloco: Meio subtrator 64 Subtrator Completo • Meio subtrator permite a subtração de números binários com 1 algarismo – Para se fazer uma subtração com números binários de mais algarismos, esse circuito torna-se insuficiente • Não permite a introdução do transporte de entrada proveniente da coluna anterior • Exemplo: 11002 + 112 1 1 0 0 - 0 0 1 1 1 0 0 1 Ts=0 Ts=0 Ts=1 Ts=1 1 1 65 Subtrator Completo • Para efetuar a subtração de 2 números binários de mais algarismos, basta subtrair coluna a coluna, levando em conta o transporte de entrada (i.e., o Ts da coluna anterior) • Subtrator completo: é um circuito que efetua a subtração completa de uma coluna, considerando o transporte de entrada 66 Subtrator Completo • Tabela verdade: 11111 00011 00101 01001 1 0 1 0 TE 0 1 1 0 SA B TS 0 0 0 0 0 1 0 1 1 0 1 1 67 Subtrator Completo • Expressões: 1 0 0 1 01 10A A B B ET ET ET E EEEE TBAS ABTTBATBATBAS ⊕⊕= +++= 1 1 0 1 00 10A A B B ET ET ET EES BTTABAT ++= 68 Subtrator Completo • Circuito: • Representação em bloco: Subtrator completo 69 Subtrator Completo • Exemplo: – Montar um sistema em bloco para efetuar a subtração de 2 números de m bits: Observação: Ts é desnecessário se o minuendo for maior ou igual ao subtraendo. Ts poderá ser necessário no caso contrário para sinalizar que o resultado é negativo, estando, então na notação do complemento de 2. 70 Exercícios 3. Construa um Subtrator Completo a partir de dois Meio Subtratores. BAS ⊕= BATS = ETBAS ⊕⊕= EEEES ABTBTATBATBAT +++= 71 Exercícios ETBAS ⊕⊕= BABATT BABATT TTBAABBATT TABBTATBATBAT ES ES EEES EEEES +⊕= +⊗= +++= +++= )( )( )()( 72 Somador/Subtrator Completo • É possível esquematizar um circuito que efetue as duas operações soma e subtração – A partir da introdução de uma variável de controle M • M = 0 (Somador Completo) • M = 1 (Subtrator Completo) 73 Somador/Subtrator Completo 111110 100110 101010 010010 101100 010100 011000 000000 1 1 1 1 1 1 1 1 M 11111 00011 00101 01001 1 0 1 0 TE 0 1 1 0 SA B TS 0 0 0 0 0 1 0 1 1 0 1 1 Soma Completa (M = 0) Subtração Completa (M = 1) 74 Somador/Subtrator Completo 0101 0 1 0 1 0 1 10 01 10 M M A B A ET A EEEE TBAABTTBATBAS +++= ETET B 0100 1 1 1 1 1 0 10 10 00 M M A B A ET A EEES TAMBAMATMABMBTT ++++= ETET B 75 Somador/Subtrator Completo E EE EE EEEE EEEE TBAS TBATBAS TBATBAS TBTBABTTBAS TBAABTTBATBAS ⊕⊕= ⊕+⊕= ⊕+⊗= +++= +++= )()( )()( )()( ))(( )()( )()( EES EES EES EEES TBAMBTT AMTAMBBTT AMAMTAMAMBBTT TAMBAMATMABMBTT +⊕+= ⊕+⊕+= ++++= ++++= 76 Somador/Subtrator Completo • Circuito: • Representação em bloco: Somador/Subtrator Completo 77 Exercícios 4. Desenhe um sistema somador para 2 números de 2 bits apenas com blocos de Somadores Completos. A B TE SOMADOR COMPLETO TS S S2 S1 A B TE SOMADOR COMPLETO TS S S0 A1 B1 A0 B0 78 Exercícios 5. Desenvolva um circuito com uma entrada de controle M, para fornecer à saída o complemento de 1de um número binário de 1 bit. (M = 0 � Saída = número de entrada e M = 1 � Saída = complemento de 1). 0 1 1 0 SM A 0 0 0 1 1 0 1 1 AMS ⊕= 79 Exercícios 6. Esquematize, em blocos, um sistema subtrator para 2 números com 2 bits. A B TE SUBTRATOR COMPLETO TS S S1 A B MEIO SUBTRATOR TS S S0 A1 B1 A0 B0 80 Estudo Independente • Leitura: – Capítulo 5 (Idoeta e Capuano) • Seção: 5.4 • Atividades: – Lista de Exercícios Nº 5 • Questões: 10, 11, 12, 13, 14, 15, 16 e 17 – Laboratório Nº 2 • Questões: 4 e 5
Compartilhar