Buscar

Capitulo5

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

Continue navegando

Outros materiais