Somador Incompleto

Propaganda
ELD - Eletrônica Digital
Aula 5 – Circuitos Aritméticos e Códigos Especiais
Prof. Antonio Heronaldo de Sousa
Agenda
- Somador Incompleto
- Somador Completo
- Projeto de Somador para N bits
- Somador Paralelo CI-7483
- Números Binários Sinalizados
- Circuito Integrado Comparador 7485
- Circuitos de Subtração
- Adição BCD
- Unidade Lógica e Aritmética - ALU
- Paridade
- Código Gray
Somador Incompleto
Somador Incompleto: também chamado de meio-somador, é um circuito
combinacional que realiza a soma aritmética de dois bits de entrada (A e B), gerando
como saída um bit de soma (S) e um bit de transporte (C = carry ou “vai um”).
A
S
Meio-somador
B
C
A
B
S
C
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
Exemplo:
Somador Incompleto - Projeto
A
B
S
C
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
Somador Completo
Somador Completo: é um circuito combinacional que realiza a soma aritmética de
dois bits de entrada (A e B) e o bit de transporte de entrada (Cin), gerando como
saída um bit de soma (S) e um bit de transporte de saída(Cout).
A
B
Cin
Exemplo:
Somador
Completo
S
Cout
A
B
Cin
S
Cout
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
Somador Completo - Projeto
A
B
Cin
S
Cout
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
Somador Completo – Projeto alternativo
A
B
Cin
S
Cout
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
Projeto Somador para N bits: Somador Paralelo
Somador Paralelo: é um circuito combinacional que realiza a soma aritmética de
dois números binários de entrada (A e B), que considera um transporte de entrada
(Cin) e gera uma soma (S) de saída, com o mesmo número de bits dos operandos, e
um bit de transporte de saída final (Cout).
Este tipo de somador é conhecido como Somador Paralelo Ripple Carry, pois sua
topologia baseia-se na propagação (ripple) dos bits de transporte (carry)
intermediários. Nessa topologia os bits de carry e soma de cada estágio só estão
disponíveis após os tempos de propagação dos estágios anteriores.
Somador Paralelo CI-7483
Realiza a soma aritmética de dois números binários de entrada (A e B), de 4 bits.
Considera um transporte de entrada (C0) e gera uma soma de saída (∑) de 4 bits e
um bit de transporte final (C4).
Números Binários Sinalizados
Sinal-Magnitude ou Sinal-Módulo: processo de representação dos
números sinalizados, onde cada número é representado por um bit de sinal
(o mais significativo: An) e o restante (An-1...A0) forma sua magnitude ou
módulo.
Sinal
Magnitude
Binário+
A 6 A5 A 4 A 3 A 2 A 1 A 0
0
1
1
0
1
0
0
A6 A5 A4 A3 A2 A1 A0
1
1
1
0
1
0
0
+52(10)
-52(10)
Dec+
Binário-
Dec-
0 000 0
1 000 0
0 001 +1
1 001 -1
0 010 +2
1 010 -2
0 011 +3
1 011 -3
0 100 +4
1 100 -4
0 101 +5
1 101 -5
0 110 +6
1 110 -6
0 111 +7
1 111 -7
Sinal-Magnitude ou Sinal-Módulo
Procedimento de Soma/Subtração:
Sinais iguais: Soma-se os dois módulos; o sinal do resultado é o mesmo
dos operandos; e pode haver estouro de módulo.
Sinais diferentes: Encontra-se o número com maior módulo; subtrai-se o
menor do maior; e o sinal do resultado é o mesmo do operando de maior
módulo.
Desvantagem: Possui lógica que requer vários testes de condições,
tornando os circuitos mais complexos.
Números Binários Sinalizados
Complemento de Um: processo de representação dos números
sinalizados, onde cada número tem seus bits invertidos para formar seu
complemento. Equivale a efetuar 1 menos cada dígito do número.
A6 A 5 A4 A3 A2 A1 A0
0
1
1
0
1
0
0
A6 A5 A4 A3 A2 A1 A0
1
0
0
1
0
1
1
+52(10)
-52(10)
Binário+
Dec+
Binário-
Dec-
0000
0
1111
0
0001
+1
1110
-1
0010
+2
1101
-2
0011
+3
1100
-3
0100
+4
1011
-4
0101
+5
1010
-5
0110
+6
1001
-6
0111
+7
1000
-7
Complemento à Base
Complemento à base: processo de representação dos números
sinalizados, onde subtrai-se da base cada dígito do número para formar seu
complemento.
Exemplo: base 10 com 1 dígito: 10 - X
Decimal
0
1
5
6
7
8
9
Número
Sinalizado
0
+1 +2 +3 +4 -5
-4
-3
-2
-1
Exemplos:
3–2=1
3 + 8 = 11 → 1
2 – 3 = -1
2 + 7 = 9 → -1
2
3
4
Equivale a subtrair cada dígito de (base – 1) e
depois somar 1 ao resultado.
9
-2
---7  +1  8
9
-3
---6  +1  7
Complemento à Base
Complemento à base: processo de representação dos números
sinalizados, onde subtrai-se da base cada dígito do número para formar seu
complemento.
Exemplo: base 10 com 2 dígitos: 100 - X
Decimal
0
1
3
...
49
51
...
97
98
99
Número
Sinalizado
0
+1 +2 +3
...
+49 -50 -49
...
-3
-2
-1
Exemplos:
2 – 3 = -1
2 + 97 = 99
3–2=1
3 + 98 = 101 → 01
2
50
Equivale a subtrair cada dígito de (base – 1) e
depois somar 1 ao resultado.
99
-03
---96  +1  97
99
-02
---97  +1  98
Complemento de Dois
Complemento de Dois: processo de representação dos números
sinalizados, onde é realizado o complemento de um do número original e
depois somado 1 ao resultado para formar seu complemento.
A6 A 5 A4 A3 A2 A1 A0
0
1
1
0
1
0
0
A6 A5 A4 A3 A2 A1 A0
1
0
0
1
1
0
0
+52(10)
-52(10)
Binário+
Dec+
Binário-
Dec-
0000
0
1111
-1
0001
+1
1110
-2
0010
+2
1101
-3
0011
+3
1100
-4
0100
+4
1011
-5
0101
+5
1010
-6
0110
+6
1001
-7
0111
+7
1000
-8
Complemento de Dois
Procedimento de Soma:
Dois números positivos: Soma-se os dois módulos; o sinal do resultado é o
mesmo dos operandos; e pode haver estouro de módulo.
Exemplo (números de seis bits):
Vai-um
Soma
1 1
0 0 0 1 1 1+
010010
----------------011001
7+
18
---25
Complemento de Dois
Procedimento de Soma:
Dois números negativos: a operação pode ser feita por meio da soma dos
números complementados.
Exemplo (números de seis bits):
Vai-um
1 1 1
Soma
1 1 1 1 0 0+
101101
----------------101001
-4+
-19
----23
010111
23
Complemento de Dois
Procedimento de Soma:
Dois números negativos: a operação pode ser feita por meio da soma dos
números complementados.
Exemplo (números de seis bits):
Vai-um
1 1 1
Soma
1 1 1 1 0 0+
101101
----------------101001
-4+
-19
----23
010111
23
Complemento de Dois
Procedimento de Soma/Subtração:
Números com sinais diferentes: Caso o número seja positivo, deve ser
mantido; caso seja negativo, deve ser complementado; e depois, deve ser
feita a soma.
Exemplo (números de seis bits):
Vai-um
Soma
0
Vai-um
1 0 1 1 0 1+
000100
---------------110001
-19+
4
----15
001111
15
Soma
0
0 0 0 1 0 0+
101101
----------------110001
4+
-19
----15
001111
15
Circuito Integrado Comparador 7485
Realiza a comparação de dois números binários de entrada (A e B), de 4 bits não
sinalizados, gerando três saídas para indicar se A>B, se A=B e se A<B.
Adição em BCD
1º) Somar separadamente os dígitos de mesmo significado; e
2º) Quando a soma de dois dígitos for maior que 910, uma soma
suplementar com 610 deve ser procedida e sempre haverá um transporte
para o próximo estágio da soma.
Exemplo:
Vai-um
111
0010
0101
0100
0001
0111
0101
------------------------------Parcial: 0011
1100
1001
Vai-um
111
= 254
= 175
= 3C9
1
Parcial: 0011
1100
1001
Ajuste+
0110
-------------------------------------------Final:
0100
0010
1001
= 429
Unidade Lógica e Aritmética - ALU
É um circuito combinacional que realiza operações lógicas e aritméticas entre dois
operandos (A0-A3 e B0-B3), indicadas por uma palavra seletora (S0-S3), gerando uma
palavra de resultado F0-F3.
ALU no CI-74181
Bit de Overflow (V)
Bit sinalizador de condição de estouro de representação numérica em um dado
conjunto de bits.
Exemplo: Soma de 4 bits
A
B
S
C3
C4
V
01015
01106
101111
1
0
1
01015
00102
01117
0
0
0
01015
1010-6
1111-1
0
0
0
01106
1011-5
00011
1
1
0
1011-5
1010-6
0101-11
0
1
1
Bit de Paridade
Bit extra anexado a um conjunto de bits para indicar que o número de bits em “1”
é par ou ímpar. É usado em comunicação de dados para minimizar erros. A
paridade pode ser par ou ímpar.
Ex. Paridade PAR
01001→ 01001→ 2=par→
0 01001→ 2=par
10110 → 10110 → 3=ímpar→1 10110→ 4=par
Ex. Paridade ÍMPAR
01001→ 01001→ 2=par→
1 01001→ 3=ímpar
10110 → 10110 → 3=ímpar→ 0 10110→ 3=ímpar
Gerador de Paridade
Gerador de Paridade
Código Gray
Sistema de codificação binária não ponderado, onde apenas um bit varia entre
duas representações consecutivas. É utilizado na codificação de informação para
diminuir erros em sistemas digitais.
Gray (x4)
0000
0001
Binário
Gray(x2)
Bin
Gray
0011
00
00
000
000
0010
01
01
001
001
10
11
010
011
0101
11
10
011
010
0100
0110
0111
1100
100
110
101
111
1111
110
101
1110
111
100
1101
1010
1011
1001
1000
Código Gray
Aplicações: Encoder incremental
Exemplo: mouse de computador
Gray(x2)
00
01
11
10
Código Gray
Circuito para transformar um número Binário de 3 bits para o código Gray:
Bin
Gray
000
000
001
001
010
011
011
010
100
110
101
111
110
101
111
100
Código Gray
Algoritmo genérico: realiza-se um XOR bit a bit do número binário natural com o
resultado de sua divisão por dois.
Bin
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
/2
0000
0000
0001
0001
0010
0010
0011
0011
0100
0100
0101
0101
0110
0110
0111
0111
Gray
0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000
Somador com Look Ahead Carry
Somador paralelo que realiza a operação de adição, gerando os bits de transporte
(carry) diretamente a partir dos bits dos operando, sem esperar a propagação
(ripple) dos bits de transporte intermediários.
Subtrator Incompleto
Subtrator Incompleto: também chamado de meio-subtrator , é um circuito
combinacional que realiza a subtração aritmética de dois bits de entrada (A e B),
gerando como saída um bit de subtração (S) e um bit de transporte (T = borrow ou
“vem um”).
A
B
S
T
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
A
S
Meio-subtrator
B
T
Subtrator Incompleto - Projeto
A
B
S
T
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
Subtrator Completo
Subtrator Completo: é um circuito combinacional que realiza a subtração
aritmética de dois bits de entrada (A e B) e o bit de empréstimo de entrada (Tin),
gerando como saída um bit de subtração (S) e um bit de empréstimo de saída
(Tout).
A
B
Tin
Exemplo:
Subtrator
Completo
S
Tout
A
B
Tin
S
Tout
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
Subtrator Completo - Projeto
A
B
Tin
S
Tout
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
Projeto Subtrator para N bits: Subtrator Paralelo
Subtrator Paralelo: é um circuito combinacional que realiza a subtração aritmética
de dois números binários de entrada (A e B), que considera um empréstimo de
entrada (Tin) e gera uma subtração (S) de saída, com o mesmo número de bits dos
operandos, e um bit de empréstimo de saída final (Tout).
8 – Numa lanchonete, os possíveis combos
combinam refrigerante e pastel, nos tamanhos
pequeno e grande. Deseja-se implementar um
equipamento para realizar o pedido do usuário,
através da seguinte interface, com quatro botões:
Combo
Rp+Pp
Rp+Pg
Rg+Pp
Rg+Pg
No. do Pedido
1
2
3
4
O equipamento deve dar prioridade para o produto
de tamanho maior, caso o usuário aperte os dois
tamanhos e priorizar o tamanho pequeno, para o
caso do usuário não escolher o tamanho do
produto. Além disso, o equipamento deve
apresentar na cozinha um número de 1 a 4, em um
display, para indicar o pedido realizado pelo
usuário. Caso não seja feito pedido, o display deve
permanecer apagado.
Rg
Rp
Pg
Pp
C
B
A
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
0
1
0
0
1
1
1
1
1
0
0
A
00 01 11 10
Rg
Rp
Pg
Pp
C
B
A
0
0
0
0
0
0
0
00
0
0
0
1
0
0
1
01
1
1
A = /Pg.Pp + Rg./Pg + Rp./Pg
0
0
1
0
0
1
0
11
1
1
A = /Pg.(Pp+Rg+Rp)
0
0
1
1
0
1
0
10
1
1
0
1
0
0
0
0
1
0
1
0
1
0
0
1
B
00 01 11 10
0
1
1
0
0
1
0
00
1
1
0
1
1
1
0
1
0
01
1
1
1
0
0
0
0
1
1
11
1
1
1
0
0
1
0
1
1
10
1
1
1
0
1
0
1
0
0
1
0
1
1
1
0
0
C
00 01 11 10
1
1
0
0
0
1
1
00
1
1
0
1
0
1
1
01
1
1
1
0
1
0
0
11
1
1
1
1
1
1
1
0
0
10
1
1
1
B = /Rg.Pg + Rg./Pg
B = Rg
Pg
C = Rg.Pg
Download