sistemas digitais subtrator e somador bcd. monitoria sistemas digitais – 2007.1 - {fbla, rgo,...

26
Sistemas Digitais Subtrator e Somador BCD

Upload: internet

Post on 22-Apr-2015

159 views

Category:

Documents


45 download

TRANSCRIPT

Page 1: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Sistemas Digitais

Subtrator e Somador BCD

Page 2: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br

Subtrator de 4 bits

Soma de números binários:

S0

S1

S2

S3

A B

Cin

S

Cout

somador1bit

4

A B

Cin

S

Cout

somador1bit

3

A B

Cin

S

Cout

somador1bit

2

A B

Cin

S

Cout

somador1bit

1

VCCA[3..0] INPUT

VCCB[3..0] INPUT

GN

D

B0

B1

B2

B3

Overf lowOUTPUT

A0

A1

A2

A3

S[3..0]OUTPUT

VCCA INPUT

VCCCin INPUT

VCCB INPUT SOUTPUT

CoutOUTPUT

XOR

8

XOR

9

AND2

10

AND2

11

OR2

12

Page 3: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br

Subtrator de 4 bits

Subtração de números binários:

São circuitos análogos, afinal são operações inversas. Então cria-se um subtrator de 1 bit e depois une-os para fazer um de 4 bits?

Page 4: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br

Subtrator de 4-bits

É uma solução, mas isso pode ser otimizado! Pode-se construir circuitos para efetuar

qualquer operação apenas com somadores! A chave está na representação:

Números de 4 bits

em Complemento a 2

Page 5: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br

Subtrator de 4 bits

Com números em complemento a 2, a subtração pode ser representada como uma soma:

A – B = A + (- B)

Dessa forma, podemos utilizar o mesmo circuito feito antes!

Subtração:– Transformar B em –B;– Somar A e –B

Page 6: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br

Subtrator de 4 bits

Lembrando da aula, para encontrar o complemento a 2 de um número inverta os bits e adicione 1.

Ex:2 = 0010

Invertendo os bits: 1101

Adicionando 1: 1101 + 0001 = 1110 = -2

-7 = 1001

Invertendo os bits: 0110

Adicionando 1: 0110 + 0001 = 0111 = 7

Page 7: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br

Subtrator de 4 bits - Construção

Voltando ao somador de 4-bits

Temos que inverter B e somar 1 para efetuar uma subtração, certo?

Podemos usar o carry in como seletor da operação!0 = soma1 = subtração (já entra como a soma de 1 da transformação de B em –B!)

S0

S1

S2

S3

A B

Cin

S

Cout

somador1bit

4

A B

Cin

S

Cout

somador1bit

3

A B

Cin

S

Cout

somador1bit

2

A B

Cin

S

Cout

somador1bit

1

VCCA[3..0] INPUT

VCCB[3..0] INPUT

GN

D

B0

B1

B2

B3

Overf lowOUTPUT

A0

A1

A2

A3

S[3..0]OUTPUT

Page 8: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br

Subtrator de 4 bits - Construção

Agora é só inverter B!

Crie um multiplexador que escolhe entre B[i] e ~B[i] (i é o índice do bit)

B ~B Seletor Saída

0 1 0 0

0 1 1 1

1 0 0 1

1 0 1 0

B Seletor Saída

0 0 0

0 1 1

1 0 1

1 1 0

B XOR Seletor!!

Page 9: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br

Subtrator de 4 bits - Construção

E como descobrir se a soma/subtração estourou o limite de representação (overflow)?

– Se A é negativo e B é positivo (ou vice-versa) nunca haverá overflow

– Se A e B são negativos e o resultado for positivo, então houve overflow

– Da mesma forma, se A e B são positivos e o resultado for negativo, houve overflow

Page 10: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br

Subtrator de 4 bits - Construção

Analizando a soma de A[3] com B[3]...

A[3] B[3] Cin S Cout

0 0 0 0 0

0 1 0 1 0

1 0 0 1 0

1 1 0 0 1

0 0 1 1 0

0 1 1 0 1

1 0 1 0 1

1 1 1 1 1

A[3] B[3] Cin S Cout

0 0 0 0 0

0 1 0 1 0

1 0 0 1 0

1 1 0 0 1

0 0 1 1 0

0 1 1 0 1

1 0 1 0 1

1 1 1 1 1

Overflow = Cin XOR Cout

Page 11: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br

Subtrator de 4 bits - Construção

Resumindo...– Efetuar a inversão de B...

Page 12: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br

Subtrator de 4 bits - Construção

Resumindo...– Adicionar 1...

Page 13: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br

Subtrator de 4 bits - Construção

Resumindo...– Calcular overflow

Page 14: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br

Subtrator de 4 bits - Construção

Primeira atividade:– Desenvolver o subtrator de 4 bits– Utilize os conceitos apresentados aqui e o somador

de 4 bits desenvolvido na aula anterior As entradas são dois vetores de 4 bits (A e B) e o seletor

de 1bit As saídas são um vetor de 4 bits (Z) e o sinal de overflow

de 1 bit

Essa atividade deve ser apresentada até a próxima sexta 15/07 aos monitores

Page 15: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br

Somador BCD

A representação dos números determinam a construção do sistema

Outra representação importante de números é BCD (Binary Coded Decimal)

Em BCD, representamos cada dígito do número separadamente– Ex:

Decimal Binário (8 bits) BCD

10 00001010 0001 0000

21 00010101 0010 0001

102 01100110 0001 0000 0010

Page 16: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br

Somador BCD

São necessários 4 bits para representar cada dígito:

0: 0000 5: 01011: 0001 6: 01102: 0010 7: 01113: 0011 8: 10004: 0100 9: 1001

A menor unidade de soma agora recebe um vetor de 4 bits e não mais de 1

– Não faz sentido um somador BCD de 1 bit

O primeiro bit NÃO representa sinal!

Page 17: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br

Somador BCD

A representação mudou, mas não precisamos definir um novo circuito para efetuar a soma em BCD.

– Utilize o somador de 4 bits para somar

– Crie um novo circuito para transformar de binário complemento a 2 em BCD!

Page 18: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br

Somador BCD

Para resultados menores que 9, a saída é a mesma (veja a tabela de dígitos BCD)

Mas para resultados maiores que 9, é preciso separar os dígitos– 9 (01001) + 2 (00010) = 11 (01011) -> 0001 0001

Subtraindo 10 do resultado (para números menores que 20) obtemos o resultado esperado!

Page 19: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br

Somador BCD

Como acabamos de ver, A – B = A + (-B) para a representação binária utilizada

Então R – 10 = R + (- 10) = R + (10110)

Como trabalha-se com 4 bits apenas, o mais significativo é ignorado.

R – 10 = R + 0110

Page 20: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br

Somador BCD

E como saber quando somar -10?

Analizando os números maiores ou iguais a 10 percebe-se que eles pertencem a um dos formatos:– 11xx– 1x1x– 1xxxx (9 + 7 = 16 | 1001 + 0111 = 10000)

Page 21: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br

Somador BCD - Construção

De forma incremental...– Efetuando a soma entre A e B

Page 22: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br

Somador BCD - Construção

De forma incremental...– Efetuando a subtração do resultado com 10

Page 23: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br

Somador BCD - Construção

De forma incremental...– Efetuando a escolha de quando somar

Page 24: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br

Somador BCD - Construção

Segunda atividade:– Desenvolver o somador BCD– Utilize os conceitos apresentados aqui e o somador

de 4 bits desenvolvido na aula anterior As entradas são dois vetores de 4 bits (A e B)

representados em BCD, ou seja, de 0 a 9. As saídas são dois dígitos em BCD representando a

soma.– O dígito mais significativo é sempre 0 ou 1, logo é

representado em 1 bit apenas– O outro digito deve ter 4 bits

Essa atividade deve ser apresentada até a próxima sexta 15/07 aos monitores

Page 25: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br

Subtrator de 4 bits e Somador BCD

Sugestões de leitura– Aula 7 (Operações aritméticas)

http://www.cin.ufpe.br/~if675/arquivos/aulas/2003-2/unidade1/aula07.pdf

Page 26: Sistemas Digitais Subtrator e Somador BCD. Monitoria Sistemas Digitais – 2007.1 - {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Subtrator de 4 bits Soma

Sistemas Digitais

Subtrator e Somador BCD