sistemas digitais subtrator e somador bcd. monitoria sistemas digitais – 2007.1 - {fbla, rgo,...
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/1.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/2.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/3.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/4.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/5.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/6.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/7.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/8.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/9.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/10.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/11.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/12.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/13.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/14.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/15.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/16.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/17.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/18.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/19.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/20.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/21.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/22.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/23.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/24.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/25.jpg)
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](https://reader030.vdocuments.pub/reader030/viewer/2022013108/552fc171497959413d8ee3ae/html5/thumbnails/26.jpg)
Sistemas Digitais
Subtrator e Somador BCD