93
Aula 10: Blocos Digitais Básicos (Somador, Subtrator) Circuitos Digitais Rodrigo Hausen CMCC – UFABC 25 de fevereiro de 2013 http://compscinet.org/circuitos Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator) 25 de fevereiro de 2013 1 / 27

Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Embed Size (px)

Citation preview

Page 1: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Aula 10: Blocos Digitais Básicos (Somador,Subtrator)

Circuitos Digitais

Rodrigo Hausen

CMCC – UFABC

25 de fevereiro de 2013

http://compscinet.org/circuitos

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 1 / 27

Page 2: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Trabalho de casa:

Determine a expressão lógica mais simples para a saída de cada umdos circuitos abaixo (os circuitos usam apenas portas nand)

A

Circuito 1

A

B

Circuito 2

B

A

Circuito 3

O que você pode concluir deste exercício?Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 2 / 27

Page 3: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Trabalho de casa:

Determine a expressão lógica mais simples para a saída de cada umdos circuitos abaixo (os circuitos usam apenas portas nand)

A A

Circuito 1

A

BAB

Circuito 2

B

A

A+B

Circuito 3

O que você pode concluir deste exercício?Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 2 / 27

Page 4: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Universalidade da porta NANDPense nisto:

1 Com as portas lógicas NOT, AND e OR, podemos calcular qualquerfunção lógica;

2 Podemos construir as portas NOT, AND e OR usando apenas portasNAND:

A AA

BAB

B

A

A+B

Conclusão: posso construir qualquer circuito digital usando apenas portasNAND.

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 3 / 27

Page 5: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Universalidade da porta NANDPense nisto:

1 Com as portas lógicas NOT, AND e OR, podemos calcular qualquerfunção lógica;

2 Podemos construir as portas NOT, AND e OR usando apenas portasNAND:

A AA

BAB

B

A

A+B

Conclusão: posso construir qualquer circuito digital usando apenas portasNAND.

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 3 / 27

Page 6: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Universalidade da porta NANDPense nisto:

1 Com as portas lógicas NOT, AND e OR, podemos calcular qualquerfunção lógica;

2 Podemos construir as portas NOT, AND e OR usando apenas portasNAND:

A AA

BAB

B

A

A+B

Conclusão: posso construir qualquer circuito digital usando apenas portasNAND.

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 3 / 27

Page 7: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Universalidade da porta NOR

Para casa: mostre que podemos construir qualquer circuito digitalusando apenas portas NOR.

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 4 / 27

Page 8: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos Digitais Básicos

Os blocos mais elementares da eletrônicadigital são as portas lógicas.

Daqui em diante, vamos aplicar o nosso conhecimento de análise esíntese de circuitos digitais para construir alguns blocos um poucomenos elementares:

I somadores e subtratoresI codificadores e decodificadoresI multiplexadores e demultiplexadoresI unidades lógico-aritméticasI latches e flip-flopsI registradores e memórias

É extremamente útil saber a função de cada um desses blocos e assuas interfaces (ou seja, como conectar cada um deles em nossoscircuitos).

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 5 / 27

Page 9: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos Digitais Básicos

Os blocos mais elementares da eletrônicadigital são as portas lógicas.

Daqui em diante, vamos aplicar o nosso conhecimento de análise esíntese de circuitos digitais para construir alguns blocos um poucomenos elementares:

I somadores e subtratoresI codificadores e decodificadoresI multiplexadores e demultiplexadoresI unidades lógico-aritméticasI latches e flip-flopsI registradores e memórias

É extremamente útil saber a função de cada um desses blocos e assuas interfaces (ou seja, como conectar cada um deles em nossoscircuitos).

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 5 / 27

Page 10: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos Digitais Básicos

Os blocos mais elementares da eletrônicadigital são as portas lógicas.

Daqui em diante, vamos aplicar o nosso conhecimento de análise esíntese de circuitos digitais para construir alguns blocos um poucomenos elementares:

I somadores e subtratores

I codificadores e decodificadoresI multiplexadores e demultiplexadoresI unidades lógico-aritméticasI latches e flip-flopsI registradores e memórias

É extremamente útil saber a função de cada um desses blocos e assuas interfaces (ou seja, como conectar cada um deles em nossoscircuitos).

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 5 / 27

Page 11: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos Digitais Básicos

Os blocos mais elementares da eletrônicadigital são as portas lógicas.

Daqui em diante, vamos aplicar o nosso conhecimento de análise esíntese de circuitos digitais para construir alguns blocos um poucomenos elementares:

I somadores e subtratoresI codificadores e decodificadores

I multiplexadores e demultiplexadoresI unidades lógico-aritméticasI latches e flip-flopsI registradores e memórias

É extremamente útil saber a função de cada um desses blocos e assuas interfaces (ou seja, como conectar cada um deles em nossoscircuitos).

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 5 / 27

Page 12: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos Digitais Básicos

Os blocos mais elementares da eletrônicadigital são as portas lógicas.

Daqui em diante, vamos aplicar o nosso conhecimento de análise esíntese de circuitos digitais para construir alguns blocos um poucomenos elementares:

I somadores e subtratoresI codificadores e decodificadoresI multiplexadores e demultiplexadores

I unidades lógico-aritméticasI latches e flip-flopsI registradores e memórias

É extremamente útil saber a função de cada um desses blocos e assuas interfaces (ou seja, como conectar cada um deles em nossoscircuitos).

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 5 / 27

Page 13: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos Digitais Básicos

Os blocos mais elementares da eletrônicadigital são as portas lógicas.

Daqui em diante, vamos aplicar o nosso conhecimento de análise esíntese de circuitos digitais para construir alguns blocos um poucomenos elementares:

I somadores e subtratoresI codificadores e decodificadoresI multiplexadores e demultiplexadoresI unidades lógico-aritméticas

I latches e flip-flopsI registradores e memórias

É extremamente útil saber a função de cada um desses blocos e assuas interfaces (ou seja, como conectar cada um deles em nossoscircuitos).

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 5 / 27

Page 14: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos Digitais Básicos

Os blocos mais elementares da eletrônicadigital são as portas lógicas.

Daqui em diante, vamos aplicar o nosso conhecimento de análise esíntese de circuitos digitais para construir alguns blocos um poucomenos elementares:

I somadores e subtratoresI codificadores e decodificadoresI multiplexadores e demultiplexadoresI unidades lógico-aritméticasI latches e flip-flops

I registradores e memóriasÉ extremamente útil saber a função de cada um desses blocos e assuas interfaces (ou seja, como conectar cada um deles em nossoscircuitos).

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 5 / 27

Page 15: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos Digitais Básicos

Os blocos mais elementares da eletrônicadigital são as portas lógicas.

Daqui em diante, vamos aplicar o nosso conhecimento de análise esíntese de circuitos digitais para construir alguns blocos um poucomenos elementares:

I somadores e subtratoresI codificadores e decodificadoresI multiplexadores e demultiplexadoresI unidades lógico-aritméticasI latches e flip-flopsI registradores e memórias

É extremamente útil saber a função de cada um desses blocos e assuas interfaces (ou seja, como conectar cada um deles em nossoscircuitos).

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 5 / 27

Page 16: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos Digitais Básicos

Os blocos mais elementares da eletrônicadigital são as portas lógicas.

Daqui em diante, vamos aplicar o nosso conhecimento de análise esíntese de circuitos digitais para construir alguns blocos um poucomenos elementares:

I somadores e subtratoresI codificadores e decodificadoresI multiplexadores e demultiplexadoresI unidades lógico-aritméticasI latches e flip-flopsI registradores e memórias

É extremamente útil saber a função de cada um desses blocos e assuas interfaces (ou seja, como conectar cada um deles em nossoscircuitos).

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 5 / 27

Page 17: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Exemplo 1: Elabore um circuito digital com 2 entradas, a0 e b0, e 2saídas, s1 e s0 de tal forma que (s1s0)2 represente a soma aritméticaa0 + b0. a0

+ b0s1 s0

Primeiro passo: obtenha e simplifique a expressão lógica para cadasaída.

a0 b0 s00 0 00 1 11 0 11 1 0

a0 b0 s10 0 00 1 01 0 01 1 1

Neste caso, é elementar obter expressões simples para as saídas:s0 = a0 ⊕ b0s1 = a0b0

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 6 / 27

Page 18: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Exemplo 1: Elabore um circuito digital com 2 entradas, a0 e b0, e 2saídas, s1 e s0 de tal forma que (s1s0)2 represente a soma aritméticaa0 + b0. a0

+ b0s1 s0

Primeiro passo: obtenha e simplifique a expressão lógica para cadasaída.

a0 b0 s00 0 00 1 11 0 11 1 0

a0 b0 s10 0 00 1 01 0 01 1 1

Neste caso, é elementar obter expressões simples para as saídas:s0 = a0 ⊕ b0s1 = a0b0

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 6 / 27

Page 19: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Exemplo 1: Elabore um circuito digital com 2 entradas, a0 e b0, e 2saídas, s1 e s0 de tal forma que (s1s0)2 represente a soma aritméticaa0 + b0. a0

+ b0s1 s0

Primeiro passo: obtenha e simplifique a expressão lógica para cadasaída.

a0 b0 s00 0 00 1 11 0 11 1 0

a0 b0 s10 0 00 1 01 0 01 1 1

Neste caso, é elementar obter expressões simples para as saídas:s0 = a0 ⊕ b0s1 = a0b0

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 6 / 27

Page 20: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Exemplo 1: Elabore um circuito digital com 2 entradas, a0 e b0, e 2saídas, s1 e s0 de tal forma que (s1s0)2 represente a soma aritméticaa0 + b0. a0

+ b0s1 s0

Primeiro passo: obtenha e simplifique a expressão lógica para cadasaída.

a0 b0 s00 0 00 1 11 0 11 1 0

a0 b0 s10 0 00 1 01 0 01 1 1

Neste caso, é elementar obter expressões simples para as saídas:s0 = a0 ⊕ b0s1 = a0b0

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 6 / 27

Page 21: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Exemplo 1: Elabore um circuito digital com 2 entradas, a0 e b0, e 2saídas, s1 e s0 de tal forma que (s1s0)2 represente a soma aritméticaa0 + b0.Segundo passo: desenhar o diagrama do circuito.s0 = a0 ⊕ b0 e s1 = a0b0 (note que há um and implícito)

Terceiro passo: analisar o circuito e verificar as saídas.Quarto passo: monte o circuito e faça sua tabela verdade.(para este circuito, os dois últimos passos não tem a menor graça)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 7 / 27

Page 22: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Exemplo 1: Elabore um circuito digital com 2 entradas, a0 e b0, e 2saídas, s1 e s0 de tal forma que (s1s0)2 represente a soma aritméticaa0 + b0.Segundo passo: desenhar o diagrama do circuito.s0 = a0 ⊕ b0 e s1 = a0b0 (note que há um and implícito)

a0 b0

Terceiro passo: analisar o circuito e verificar as saídas.Quarto passo: monte o circuito e faça sua tabela verdade.(para este circuito, os dois últimos passos não tem a menor graça)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 7 / 27

Page 23: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Exemplo 1: Elabore um circuito digital com 2 entradas, a0 e b0, e 2saídas, s1 e s0 de tal forma que (s1s0)2 represente a soma aritméticaa0 + b0.Segundo passo: desenhar o diagrama do circuito.s0 = a0 ⊕ b0 e s1 = a0b0 (note que há um and implícito)

s0

a0 b0

Terceiro passo: analisar o circuito e verificar as saídas.Quarto passo: monte o circuito e faça sua tabela verdade.(para este circuito, os dois últimos passos não tem a menor graça)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 7 / 27

Page 24: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Exemplo 1: Elabore um circuito digital com 2 entradas, a0 e b0, e 2saídas, s1 e s0 de tal forma que (s1s0)2 represente a soma aritméticaa0 + b0.Segundo passo: desenhar o diagrama do circuito.s0 = a0 ⊕ b0 e s1 = a0b0 (note que há um and implícito)

s1

s0

a0 b0

Terceiro passo: analisar o circuito e verificar as saídas.Quarto passo: monte o circuito e faça sua tabela verdade.(para este circuito, os dois últimos passos não tem a menor graça)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 7 / 27

Page 25: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Exemplo 1: Elabore um circuito digital com 2 entradas, a0 e b0, e 2saídas, s1 e s0 de tal forma que (s1s0)2 represente a soma aritméticaa0 + b0.Segundo passo: desenhar o diagrama do circuito.s0 = a0 ⊕ b0 e s1 = a0b0 (note que há um and implícito)

s1

s0

a0 b0

Blocomeio somador(half adder)

Terceiro passo: analisar o circuito e verificar as saídas.Quarto passo: monte o circuito e faça sua tabela verdade.(para este circuito, os dois últimos passos não tem a menor graça)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 7 / 27

Page 26: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Exemplo 1: Elabore um circuito digital com 2 entradas, a0 e b0, e 2saídas, s1 e s0 de tal forma que (s1s0)2 represente a soma aritméticaa0 + b0.Segundo passo: desenhar o diagrama do circuito.s0 = a0 ⊕ b0 e s1 = a0b0 (note que há um and implícito)

s1

s0

a0 b0

Blocomeio somador(half adder)

Terceiro passo: analisar o circuito e verificar as saídas.

Quarto passo: monte o circuito e faça sua tabela verdade.(para este circuito, os dois últimos passos não tem a menor graça)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 7 / 27

Page 27: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Exemplo 1: Elabore um circuito digital com 2 entradas, a0 e b0, e 2saídas, s1 e s0 de tal forma que (s1s0)2 represente a soma aritméticaa0 + b0.Segundo passo: desenhar o diagrama do circuito.s0 = a0 ⊕ b0 e s1 = a0b0 (note que há um and implícito)

s1

s0

a0 b0

Blocomeio somador(half adder)

Terceiro passo: analisar o circuito e verificar as saídas.Quarto passo: monte o circuito e faça sua tabela verdade.(para este circuito, os dois últimos passos não tem a menor graça)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 7 / 27

Page 28: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Exemplo 2: Elabore um circuito digital com 3 entradas, ai , bi , ci−1 e2 saídas, si e ci de tal forma que si represente a soma aritméticaai + bi + ci−1 e ci represente o vai-um (carry) da operação.

vai-uns → ci+1 ci ci−1 . . . c0. . . ai+1 ai . . . a1 a0

+ . . . bi+1 bi . . . b1 b0. . . si+1 si . . . s1 s0

Quais são as entradas? ai , bi , ci−1

Quais são as saídas? si , ci

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 8 / 27

Page 29: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Exemplo 2: Elabore um circuito digital com 3 entradas, ai , bi , ci−1 e2 saídas, si e ci de tal forma que si represente a soma aritméticaai + bi + ci−1 e ci represente o vai-um (carry) da operação.

vai-uns → ci+1 ci ci−1 . . . c0. . . ai+1 ai . . . a1 a0

+ . . . bi+1 bi . . . b1 b0. . . si+1 si . . . s1 s0

Quais são as entradas?

ai , bi , ci−1

Quais são as saídas? si , ci

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 8 / 27

Page 30: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Exemplo 2: Elabore um circuito digital com 3 entradas, ai , bi , ci−1 e2 saídas, si e ci de tal forma que si represente a soma aritméticaai + bi + ci−1 e ci represente o vai-um (carry) da operação.

vai-uns → ci+1 ci ci−1 . . . c0. . . ai+1 ai . . . a1 a0

+ . . . bi+1 bi . . . b1 b0. . . si+1 si . . . s1 s0

Quais são as entradas? ai , bi , ci−1

Quais são as saídas? si , ci

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 8 / 27

Page 31: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Exemplo 2: Elabore um circuito digital com 3 entradas, ai , bi , ci−1 e2 saídas, si e ci de tal forma que si represente a soma aritméticaai + bi + ci−1 e ci represente o vai-um (carry) da operação.

vai-uns → ci+1 ci ci−1 . . . c0. . . ai+1 ai . . . a1 a0

+ . . . bi+1 bi . . . b1 b0. . . si+1 si . . . s1 s0

Quais são as entradas? ai , bi , ci−1

Quais são as saídas?

si , ci

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 8 / 27

Page 32: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Exemplo 2: Elabore um circuito digital com 3 entradas, ai , bi , ci−1 e2 saídas, si e ci de tal forma que si represente a soma aritméticaai + bi + ci−1 e ci represente o vai-um (carry) da operação.

vai-uns → ci+1 ci ci−1 . . . c0. . . ai+1 ai . . . a1 a0

+ . . . bi+1 bi . . . b1 b0. . . si+1 si . . . s1 s0

Quais são as entradas? ai , bi , ci−1

Quais são as saídas? si , ci

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 8 / 27

Page 33: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Primeiro passo: obter as expressões para as saídas si e ci .

vai-uns → ci+1 ci ci−1 . . . c0. . . ai+1 ai . . . a1 a0

+ . . . bi+1 bi . . . b1 b0. . . si+1 si . . . s1 s0

Para a soma si :H

HHHHHci−1

aibi 00 01 11 10

0 0 1 0 11 1 0 1 0

Para o vai-um ci :HHHH

HHci−1

aibi 00 01 11 10

0 0 0 1 01 0 1 1 1

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 9 / 27

Page 34: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Primeiro passo: obter as expressões para as saídas si e ci .

vai-uns → ci+1 ci ci−1 . . . c0. . . ai+1 ai . . . a1 a0

+ . . . bi+1 bi . . . b1 b0. . . si+1 si . . . s1 s0

Para a soma si :HHHH

HHci−1

aibi 00 01 11 10

0 0 1 0 11 1 0 1 0

Para o vai-um ci :HHHH

HHci−1

aibi 00 01 11 10

0 0 0 1 01 0 1 1 1

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 9 / 27

Page 35: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Primeiro passo: obter as expressões para as saídas si e ci .

vai-uns → ci+1 ci ci−1 . . . c0. . . ai+1 ai . . . a1 a0

+ . . . bi+1 bi . . . b1 b0. . . si+1 si . . . s1 s0

Para a soma si :HHHH

HHci−1

aibi 00 01 11 10

0 0 1 0 11 1 0 1 0

Para o vai-um ci :HHHH

HHci−1

aibi 00 01 11 10

0 0 0 1 01 0 1 1 1

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 9 / 27

Page 36: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Primeiro passo: (continuação)

Para a soma si :

ci−1

aibi 00 01 11 10

0 0 1 0 11 1 0 1 0

Para o vai-um ci :

ci−1

aibi 00 01 11 10

0 0 0 1 01 0 1 1 1

Note que si só é 1 se apenas um dos bits ai , bi , ci−1 é 1, ou se os trêsforem 1. Isto corresponde à expressão:si = ai ⊕ bi ⊕ ci−1

ci = aibi + aici−1 + bici−1 = aibi + (ai + bi) · ci−1

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 10 / 27

Page 37: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Primeiro passo: (continuação)

Para a soma si :

ci−1

aibi 00 01 11 10

0 0 1 0 11 1 0 1 0

Para o vai-um ci :

ci−1

aibi 00 01 11 10

0 0 0 1 01 0 1 1 1

Note que si só é 1 se apenas um dos bits ai , bi , ci−1 é 1, ou se os trêsforem 1. Isto corresponde à expressão:si = ai ⊕ bi ⊕ ci−1

ci = aibi + aici−1 + bici−1 = aibi + (ai + bi) · ci−1

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 10 / 27

Page 38: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Primeiro passo: (continuação)

Para a soma si :

ci−1

aibi 00 01 11 10

0 0 1 0 11 1 0 1 0

Para o vai-um ci :

ci−1

aibi 00 01 11 10

0 0 0 1 01 0 1 1 1

Note que si só é 1 se apenas um dos bits ai , bi , ci−1 é 1, ou se os trêsforem 1. Isto corresponde à expressão:si = ai ⊕ bi ⊕ ci−1

ci = aibi + aici−1 + bici−1

= aibi + (ai + bi) · ci−1

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 10 / 27

Page 39: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Primeiro passo: (continuação)

Para a soma si :

ci−1

aibi 00 01 11 10

0 0 1 0 11 1 0 1 0

Para o vai-um ci :

ci−1

aibi 00 01 11 10

0 0 0 1 01 0 1 1 1

Note que si só é 1 se apenas um dos bits ai , bi , ci−1 é 1, ou se os trêsforem 1. Isto corresponde à expressão:si = ai ⊕ bi ⊕ ci−1

ci = aibi + aici−1 + bici−1 = aibi + (ai + bi) · ci−1

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 10 / 27

Page 40: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Segundo passo: diagrama do circuito digital.

si = ai ⊕ bi ⊕ ci−1 ci = aibi + (ai + bi) · ci−1

(Terceiro passo foi feito na aula passada. Vamos omitir o quarto passo.)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 11 / 27

Page 41: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Segundo passo: diagrama do circuito digital.

si = ai ⊕ bi ⊕ ci−1 ci = aibi + (ai + bi) · ci−1

si

ai bi

ci−1

(Terceiro passo foi feito na aula passada. Vamos omitir o quarto passo.)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 11 / 27

Page 42: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Segundo passo: diagrama do circuito digital.

si = ai ⊕ bi ⊕ ci−1 ci = aibi + (ai + bi) · ci−1

si

ai bi

ci−1

(Terceiro passo foi feito na aula passada. Vamos omitir o quarto passo.)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 11 / 27

Page 43: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Segundo passo: diagrama do circuito digital.

si = ai ⊕ bi ⊕ ci−1 ci = aibi + (ai + bi) · ci−1

si

ai bi

ci−1

(Terceiro passo foi feito na aula passada. Vamos omitir o quarto passo.)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 11 / 27

Page 44: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Segundo passo: diagrama do circuito digital.

si = ai ⊕ bi ⊕ ci−1 ci = aibi + (ai + bi) · ci−1

si

ai bi

ci−1

(Terceiro passo foi feito na aula passada. Vamos omitir o quarto passo.)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 11 / 27

Page 45: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Segundo passo: diagrama do circuito digital.

si = ai ⊕ bi ⊕ ci−1 ci = aibi + (ai + bi) · ci−1

ci

si

ai bi

ci−1

(Terceiro passo foi feito na aula passada. Vamos omitir o quarto passo.)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 11 / 27

Page 46: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Segundo passo: diagrama do circuito digital.

si = ai ⊕ bi ⊕ ci−1 ci = aibi + (ai + bi) · ci−1

ci

si

ai bi

ci−1Bloco

somador completo(full adder)

(Terceiro passo foi feito na aula passada. Vamos omitir o quarto passo.)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 11 / 27

Page 47: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Segundo passo: diagrama do circuito digital.

si = ai ⊕ bi ⊕ ci−1 ci = aibi + (ai + bi) · ci−1

ci

si

ai bi

ci−1Bloco

somador completo(full adder)

(Terceiro passo foi feito na aula passada. Vamos omitir o quarto passo.)Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 11 / 27

Page 48: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Note que, juntando blocos Half Adder e Full Adder, podemos montarum somador para números de n bits.

cn−1 cn−2 cn−3 . . . c0an−1 an−2 . . . a1 a0

+ bn−1 bn−2 . . . b1 b0sn−1 sn−2 . . . s1 s0

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 12 / 27

Page 49: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Note que, juntando blocos Half Adder e Full Adder, podemos montarum somador para números de n bits.

cn−1 cn−2 cn−3 . . . c0an−1 an−2 . . . a1 a0

+ bn−1 bn−2 . . . b1 b0sn−1 sn−2 . . . s1 s0

c0

a0 b0

s0

HA

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 12 / 27

Page 50: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Note que, juntando blocos Half Adder e Full Adder, podemos montarum somador para números de n bits.

cn−1 cn−2 cn−3 . . . c0an−1 an−2 . . . a1 a0

+ bn−1 bn−2 . . . b1 b0sn−1 sn−2 . . . s1 s0

c0

a0 b0

s0

a1 b1

s1

c1

FA HA

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 12 / 27

Page 51: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Note que, juntando blocos Half Adder e Full Adder, podemos montarum somador para números de n bits.

cn−1 cn−2 cn−3 . . . c0an−1 an−2 . . . a1 a0

+ bn−1 bn−2 . . . b1 b0sn−1 sn−2 . . . s1 s0

cn−1c0

an−1 a0bn−1 b0

sn−1 s0

a1 b1

s1

c1cn−2

FA FA HA

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 12 / 27

Page 52: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Somador ripple carry de n bits: leva este nome pois os vai-uns(carry) são propagados como uma ondulação (ripple) da direita para aesquerda.

cn−1c0

an−1 a0bn−1 b0

sn−1 s0

a1 b1

s1

c1cn−2

FA FA HA

Para casa: diga quantas e quais são as portas lógicas usadas (separeas portas lógicas com 2 entradas das de 3 entradas) em um somadorripple carry de n bits.

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 13 / 27

Page 53: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Podemos enxergar os blocos somadores (half adder e full adder) comocaixas-pretas.

cout

ai

si

bi

cinFA cout

a0

s0

b0

HA

Também podemos enxergar um somador de n bits como umacaixa-preta:

cinFA

b0 a0

s0

b1 a1

s1

FA

b2 a2

s2

FA

b3 a3

s3

cout FA = Somador completo4 bits

cincout

b3 b0 a3 a0... ...

s3 s0...

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 14 / 27

Page 54: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Podemos enxergar os blocos somadores (half adder e full adder) comocaixas-pretas.

cout

ai

si

bi

cinFA cout

a0

s0

b0

HA

Também podemos enxergar um somador de n bits como umacaixa-preta:

cinFA

b0 a0

s0

b1 a1

s1

FA

b2 a2

s2

FA

b3 a3

s3

cout FA = Somador completo4 bits

cincout

b3 b0 a3 a0... ...

s3 s0...

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 14 / 27

Page 55: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Podemos comprar blocos somadores integrados: 7483 (TTL); CD4008(CMOS); e outros.

input A3

input B2

input A2

input B1

input A1

input B0

input A0

VSS 0V

VDD +3 -- +15V

input B3

CARRY OUT

output S3

output S2

output S1

output S0

CARRY INCD

4008

1

2

3

4

5

6

7

8

16

15

14

13

12

11

10

9

Podemos unir blocos somadores completos para obter somadores comquantidade maior de bits (p. ex. juntar 8 integrados CD4008 parafazer um somador de 32 bits)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 15 / 27

Page 56: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Blocos somadores binários

Podemos comprar blocos somadores integrados: 7483 (TTL); CD4008(CMOS); e outros.

input A3

input B2

input A2

input B1

input A1

input B0

input A0

VSS 0V

VDD +3 -- +15V

input B3

CARRY OUT

output S3

output S2

output S1

output S0

CARRY INCD

4008

1

2

3

4

5

6

7

8

16

15

14

13

12

11

10

9

Podemos unir blocos somadores completos para obter somadores comquantidade maior de bits (p. ex. juntar 8 integrados CD4008 parafazer um somador de 32 bits)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 15 / 27

Page 57: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Bloco subtrator binário

E a subtração?

Lembra da subtração feita usando-se complemento a 2?B = (bn−1 bn−2 . . . b1 b0)2A = (an−1 an−2 . . . a1 a0)2A = (an−1 an−2 . . . a1 a0)2 (complemento a um de A)

B − A = B + A + 1︸ ︷︷ ︸compl. a 2

e despreza-se o último vai-um

Faça o diagrama de um circuito digital para um subtrator de n bits.Você só precisará de:

I um somador completo de n bits; eI portas NOT

(resposta na lousa)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 16 / 27

Page 58: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Bloco subtrator binário

E a subtração?Lembra da subtração feita usando-se complemento a 2?B = (bn−1 bn−2 . . . b1 b0)2A = (an−1 an−2 . . . a1 a0)2

A = (an−1 an−2 . . . a1 a0)2 (complemento a um de A)

B − A = B + A + 1︸ ︷︷ ︸compl. a 2

e despreza-se o último vai-um

Faça o diagrama de um circuito digital para um subtrator de n bits.Você só precisará de:

I um somador completo de n bits; eI portas NOT

(resposta na lousa)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 16 / 27

Page 59: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Bloco subtrator binário

E a subtração?Lembra da subtração feita usando-se complemento a 2?B = (bn−1 bn−2 . . . b1 b0)2A = (an−1 an−2 . . . a1 a0)2A = (an−1 an−2 . . . a1 a0)2 (complemento a um de A)

B − A = B + A + 1︸ ︷︷ ︸compl. a 2

e despreza-se o último vai-um

Faça o diagrama de um circuito digital para um subtrator de n bits.Você só precisará de:

I um somador completo de n bits; eI portas NOT

(resposta na lousa)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 16 / 27

Page 60: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Bloco subtrator binário

E a subtração?Lembra da subtração feita usando-se complemento a 2?B = (bn−1 bn−2 . . . b1 b0)2A = (an−1 an−2 . . . a1 a0)2A = (an−1 an−2 . . . a1 a0)2 (complemento a um de A)

B − A = B + A + 1︸ ︷︷ ︸compl. a 2

e despreza-se o último vai-um

Faça o diagrama de um circuito digital para um subtrator de n bits.Você só precisará de:

I um somador completo de n bits; eI portas NOT

(resposta na lousa)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 16 / 27

Page 61: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Bloco subtrator binário

E a subtração?Lembra da subtração feita usando-se complemento a 2?B = (bn−1 bn−2 . . . b1 b0)2A = (an−1 an−2 . . . a1 a0)2A = (an−1 an−2 . . . a1 a0)2 (complemento a um de A)

B − A = B + A + 1︸ ︷︷ ︸compl. a 2

e despreza-se o último vai-um

Faça o diagrama de um circuito digital para um subtrator de n bits.Você só precisará de:

I um somador completo de n bits; eI portas NOT

(resposta na lousa)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 16 / 27

Page 62: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Soma e subtração de números com sinal

Este é um somador para palavras de n bits que representam númerosinteiros sem sinal.

Somador completon bits

cincout

bn−1 b0 an−1 a0... ...

sn−1 s0......

... ...

Como é um somador para palavras de n bits que representamnúmeros inteiros com sinal no formato complemento de 2?

Somador completon bits

cincout

bn−1 b0 an−1 a0... ...

sn−1 s0......

... ...

Não há nenhuma diferença no circuito!

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 17 / 27

Page 63: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Soma e subtração de números com sinal

Este é um somador para palavras de n bits que representam númerosinteiros sem sinal.

Somador completon bits

cincout

bn−1 b0 an−1 a0... ...

sn−1 s0......

... ...

Como é um somador para palavras de n bits que representamnúmeros inteiros com sinal no formato complemento de 2?

Somador completon bits

cincout

bn−1 b0 an−1 a0... ...

sn−1 s0......

... ...

Não há nenhuma diferença no circuito!

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 17 / 27

Page 64: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Soma e subtração de números com sinal

Este é um somador para palavras de n bits que representam númerosinteiros sem sinal.

Somador completon bits

cincout

bn−1 b0 an−1 a0... ...

sn−1 s0......

... ...

Como é um somador para palavras de n bits que representamnúmeros inteiros com sinal no formato complemento de 2?

Somador completon bits

cincout

bn−1 b0 an−1 a0... ...

sn−1 s0......

... ...

Não há nenhuma diferença no circuito!Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 17 / 27

Page 65: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Soma e subtração de números com sinal

Em casa, monte um somador binário para números de 5 bits noLogisim, usando 5 somadores completos de 1 bit. Faça as somasabaixo usando a representação de complemento de 2 (manualmente eno Logisim) e interprete os resultados:

a) (+3) + (+6) b) (+6) + (+3)

c) (-3) + (+6) d) (+6) + (-3)

e) (-3) + (-6) f) (+7) + (+9)

g) (-7) + (-9) h) (-8) + (-9)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 18 / 27

Page 66: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Comparação entre númerosExercício 1: Seja X = xn−1xn−2 . . . x1x0 uma palavra de n bits querepresenta um número inteiro com sinal no formato de complemento de 2.Faça um circuito digital com n entradas e 3 saídas:

fX<0, que é 1 se X representa um número negativo, 0 caso contráriofX=0, que é 1 se X representa o número zero, 0 caso contráriofX>0, que é 1 se X representa um número positivo, 0 caso contrário

Exercício 2: Faça um circuito digital com 2n entradas e 3 saídas fB<A,fB>A e fB=A que são 1, respectivamente, se B < A ou B > A ou B = A,onde A, B são palavras de n que representam números inteiros com sinalno formato de complemento de 2.

Dica: qual é o sinal de B − A?

B − A é

negativo se, e somente se, B < A= 0 se, e somente se, B = Apositivo se, e somente se, B > A

(respostas na lousa)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 19 / 27

Page 67: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Comparação entre númerosExercício 1: Seja X = xn−1xn−2 . . . x1x0 uma palavra de n bits querepresenta um número inteiro com sinal no formato de complemento de 2.Faça um circuito digital com n entradas e 3 saídas:

fX<0, que é 1 se X representa um número negativo, 0 caso contráriofX=0, que é 1 se X representa o número zero, 0 caso contráriofX>0, que é 1 se X representa um número positivo, 0 caso contrário

Exercício 2: Faça um circuito digital com 2n entradas e 3 saídas fB<A,fB>A e fB=A que são 1, respectivamente, se B < A ou B > A ou B = A,onde A, B são palavras de n que representam números inteiros com sinalno formato de complemento de 2.

Dica: qual é o sinal de B − A?

B − A é

negativo se, e somente se, B < A= 0 se, e somente se, B = Apositivo se, e somente se, B > A

(respostas na lousa)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 19 / 27

Page 68: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Comparação entre númerosExercício 1: Seja X = xn−1xn−2 . . . x1x0 uma palavra de n bits querepresenta um número inteiro com sinal no formato de complemento de 2.Faça um circuito digital com n entradas e 3 saídas:

fX<0, que é 1 se X representa um número negativo, 0 caso contráriofX=0, que é 1 se X representa o número zero, 0 caso contráriofX>0, que é 1 se X representa um número positivo, 0 caso contrário

Exercício 2: Faça um circuito digital com 2n entradas e 3 saídas fB<A,fB>A e fB=A que são 1, respectivamente, se B < A ou B > A ou B = A,onde A, B são palavras de n que representam números inteiros com sinalno formato de complemento de 2.

Dica: qual é o sinal de B − A?

B − A é

negativo se, e somente se, B < A= 0 se, e somente se, B = Apositivo se, e somente se, B > A

(respostas na lousa)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 19 / 27

Page 69: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Comparação entre númerosExercício 1: Seja X = xn−1xn−2 . . . x1x0 uma palavra de n bits querepresenta um número inteiro com sinal no formato de complemento de 2.Faça um circuito digital com n entradas e 3 saídas:

fX<0, que é 1 se X representa um número negativo, 0 caso contráriofX=0, que é 1 se X representa o número zero, 0 caso contráriofX>0, que é 1 se X representa um número positivo, 0 caso contrário

Exercício 2: Faça um circuito digital com 2n entradas e 3 saídas fB<A,fB>A e fB=A que são 1, respectivamente, se B < A ou B > A ou B = A,onde A, B são palavras de n que representam números inteiros com sinalno formato de complemento de 2.

Dica: qual é o sinal de B − A?

B − A é

negativo se, e somente se, B < A

= 0 se, e somente se, B = Apositivo se, e somente se, B > A

(respostas na lousa)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 19 / 27

Page 70: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Comparação entre númerosExercício 1: Seja X = xn−1xn−2 . . . x1x0 uma palavra de n bits querepresenta um número inteiro com sinal no formato de complemento de 2.Faça um circuito digital com n entradas e 3 saídas:

fX<0, que é 1 se X representa um número negativo, 0 caso contráriofX=0, que é 1 se X representa o número zero, 0 caso contráriofX>0, que é 1 se X representa um número positivo, 0 caso contrário

Exercício 2: Faça um circuito digital com 2n entradas e 3 saídas fB<A,fB>A e fB=A que são 1, respectivamente, se B < A ou B > A ou B = A,onde A, B são palavras de n que representam números inteiros com sinalno formato de complemento de 2.

Dica: qual é o sinal de B − A?

B − A é

negativo se, e somente se, B < A= 0 se, e somente se, B = A

positivo se, e somente se, B > A(respostas na lousa)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 19 / 27

Page 71: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Comparação entre númerosExercício 1: Seja X = xn−1xn−2 . . . x1x0 uma palavra de n bits querepresenta um número inteiro com sinal no formato de complemento de 2.Faça um circuito digital com n entradas e 3 saídas:

fX<0, que é 1 se X representa um número negativo, 0 caso contráriofX=0, que é 1 se X representa o número zero, 0 caso contráriofX>0, que é 1 se X representa um número positivo, 0 caso contrário

Exercício 2: Faça um circuito digital com 2n entradas e 3 saídas fB<A,fB>A e fB=A que são 1, respectivamente, se B < A ou B > A ou B = A,onde A, B são palavras de n que representam números inteiros com sinalno formato de complemento de 2.

Dica: qual é o sinal de B − A?

B − A é

negativo se, e somente se, B < A= 0 se, e somente se, B = Apositivo se, e somente se, B > A

(respostas na lousa)

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 19 / 27

Page 72: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Comparação entre númerosExercício 1: Seja X = xn−1xn−2 . . . x1x0 uma palavra de n bits querepresenta um número inteiro com sinal no formato de complemento de 2.Faça um circuito digital com n entradas e 3 saídas:

fX<0, que é 1 se X representa um número negativo, 0 caso contráriofX=0, que é 1 se X representa o número zero, 0 caso contráriofX>0, que é 1 se X representa um número positivo, 0 caso contrário

Exercício 2: Faça um circuito digital com 2n entradas e 3 saídas fB<A,fB>A e fB=A que são 1, respectivamente, se B < A ou B > A ou B = A,onde A, B são palavras de n que representam números inteiros com sinalno formato de complemento de 2.

Dica: qual é o sinal de B − A?

B − A é

negativo se, e somente se, B < A= 0 se, e somente se, B = Apositivo se, e somente se, B > A

(respostas na lousa)Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 19 / 27

Page 73: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Para casa

Leia a seção 5-3 e faça os seguintes exercícios do capítulo 5:autotestes 7 a 10; problemas 18 a 21.Leia as seções 6-1, 6-2, 6-4 (o Floyd faz comparação de números demaneira diferente) e faça os seguintes exercícios do capítulo 6:autotestes 1 a 6; problemas 1 a 7, 11 a 13.Leia a seção 6-3 apenas para aumentar sua cultura.

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 20 / 27

Page 74: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Para casa

Problema 1: Faça um circuito para detectar overflow em umaoperação de (a) soma e (b) subtração entre duas palavras de n bitsque representam inteiros com sinal no formato complemento de 2

Problema 2: Sem usar blocos somadores/subtratores, faça umcircuito digital para calcular o produto de dois números inteiros semsinal com dois bits cada um. Esse circuito terá entradas e saídas.

Multiplicador2 bits

b1 b0 a1 a0

m3 m2 m1 m0

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 21 / 27

Page 75: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Para casa

Problema 1: Faça um circuito para detectar overflow em umaoperação de (a) soma e (b) subtração entre duas palavras de n bitsque representam inteiros com sinal no formato complemento de 2

Problema 2: Sem usar blocos somadores/subtratores, faça umcircuito digital para calcular o produto de dois números inteiros semsinal com dois bits cada um. Esse circuito terá entradas e saídas.

Multiplicador2 bits

b1 b0 a1 a0

m3 m2 m1 m0

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 21 / 27

Page 76: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Para casa

Problema 1: Faça um circuito para detectar overflow em umaoperação de (a) soma e (b) subtração entre duas palavras de n bitsque representam inteiros com sinal no formato complemento de 2

Problema 2: Sem usar blocos somadores/subtratores, faça umcircuito digital para calcular o produto de dois números inteiros semsinal com dois bits cada um. Esse circuito terá 4 entradas e 4 saídas.

Multiplicador2 bits

b1 b0 a1 a0

m3 m2 m1 m0

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 21 / 27

Page 77: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Para casa

Problema 3: Faça um circuito com n + 1 entradas,xn−1, xn−2, . . . , x1, x0, y e n saídas zn−1, zn−1, . . . , z1, z0 tal que:

para todo i entre 0 e n − 1, zi =

{0 se y = 0xi se y = 1

(resolva primeiro para 1, 2, 3, . . . )

Seletorn bits

xn−1 x1 x0......xn−2

zn−1 z1 z0

......zn−2

y

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 22 / 27

Page 78: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Para casa

Problema 3: Faça um circuito com n + 1 entradas,xn−1, xn−2, . . . , x1, x0, y e n saídas zn−1, zn−1, . . . , z1, z0 tal que:

para todo i entre 0 e n − 1, zi =

{0 se y = 0xi se y = 1

(resolva primeiro para 1, 2, 3, . . . )

Seletorn bits

xn−1 x1 x0......xn−2

zn−1 z1 z0

......zn−2

y

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 22 / 27

Page 79: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Para casa

Problema 3: Faça um circuito com n + 1 entradas,xn−1, xn−2, . . . , x1, x0, y e n saídas zn−1, zn−1, . . . , z1, z0 tal que:

para todo i entre 0 e n − 1, zi =

{0 se y = 0xi se y = 1

(resolva primeiro para 1, 2, 3, . . . )

Seletorn bits

xn−1 x1 x0......xn−2

......

y = 0

0 0 0 0

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 22 / 27

Page 80: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Para casa

Problema 3: Faça um circuito com n + 1 entradas,xn−1, xn−2, . . . , x1, x0, y e n saídas zn−1, zn−1, . . . , z1, z0 tal que:

para todo i entre 0 e n − 1, zi =

{0 se y = 0xi se y = 1

(resolva primeiro para 1, 2, 3, . . . )

Seletorn bits

xn−1 x1 x0......xn−2

xn−1 x1 x0

......xn−2

y = 1

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 22 / 27

Page 81: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Para casa

Problema 3: Faça um circuito com n + 1 entradas,xn−1, xn−2, . . . , x1, x0, y e n saídas zn−1, zn−1, . . . , z1, z0 tal que:

para todo i entre 0 e n − 1, zi =

{0 se y = 0xi se y = 1

(resolva primeiro para 1, 2, 3, . . . )

Seletorn bits

xn−1 x1 x0......xn−2

zn−1 z1 z0

......zn−2

y

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 22 / 27

Page 82: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Para casa

Problema 4: Faça um multiplicador para dois números sem sinal dedois bits cada, agora usando blocos somadores.

Problema 5: Idem 4, mas agora para números de n bits sem sinal(pode ajudar se você pensar nos casos particulares primeiro: n = 3, n = 4, . . . )

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 23 / 27

Page 83: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Para casa

Problema 4: Faça um multiplicador para dois números sem sinal dedois bits cada, agora usando blocos somadores.

Problema 5: Idem 4, mas agora para números de n bits sem sinal(pode ajudar se você pensar nos casos particulares primeiro: n = 3, n = 4, . . . )

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 23 / 27

Page 84: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Projeto de final de semana

Decodificador de controle remoto: com este circuito simples, vocêpoderá ver a forma de onda emitida por um controle remoto deTV/DVD/aparelho de som/etc. Você irá gastar em torno de 6 reais nestaspeças:

1 fototransistor infravermelho (receptor infravermelho);1 cabo de áudio com um plug P2 macho em uma ponta e dois ou trêsplugs RCA macho na outra (cabo para ligar o computador emamplificador).

e ou

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 24 / 27

Page 85: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Projeto de final de semana

1 Primeiro, veja quantas conexões de áudio o seu computador tem:I Se o seu computador possui pelo menos duas conexões para áudio

(uma para fone de ouvido/caixa de som, e outra para microfone)compre o cabo com 2 plugs RCA.

I Se seu computador só possui uma conexão para áudio, compre o cabocom 3 plugs RCA

2 Vá a uma loja de eletrônica (ver último slide) e compre os materiais.3 Baixe e execute o Audacity: http://audacity.sourceforge.net4 Plugue o cabo na entrada de microfone do seu computador.5 Com sua mão, mantenha o terminal mais comprido do fototransistor ligado

ao pino interno do plug RCA, e o terminal mais curto ligado à conexãoexterna (se seu computador só possui 1 conexão de áudio, use o plugamarelo; caso contrário, use o vermelho)

6 Pressione a tecla R no computador para gravar o “áudio” do microfone7 Encoste o controle remoto no fototransistor e pressione qualquer botão do

controle

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 25 / 27

Page 86: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Projeto de final de semana

1 Primeiro, veja quantas conexões de áudio o seu computador tem:I Se o seu computador possui pelo menos duas conexões para áudio

(uma para fone de ouvido/caixa de som, e outra para microfone)compre o cabo com 2 plugs RCA.

I Se seu computador só possui uma conexão para áudio, compre o cabocom 3 plugs RCA

2 Vá a uma loja de eletrônica (ver último slide) e compre os materiais.

3 Baixe e execute o Audacity: http://audacity.sourceforge.net4 Plugue o cabo na entrada de microfone do seu computador.5 Com sua mão, mantenha o terminal mais comprido do fototransistor ligado

ao pino interno do plug RCA, e o terminal mais curto ligado à conexãoexterna (se seu computador só possui 1 conexão de áudio, use o plugamarelo; caso contrário, use o vermelho)

6 Pressione a tecla R no computador para gravar o “áudio” do microfone7 Encoste o controle remoto no fototransistor e pressione qualquer botão do

controle

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 25 / 27

Page 87: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Projeto de final de semana

1 Primeiro, veja quantas conexões de áudio o seu computador tem:I Se o seu computador possui pelo menos duas conexões para áudio

(uma para fone de ouvido/caixa de som, e outra para microfone)compre o cabo com 2 plugs RCA.

I Se seu computador só possui uma conexão para áudio, compre o cabocom 3 plugs RCA

2 Vá a uma loja de eletrônica (ver último slide) e compre os materiais.3 Baixe e execute o Audacity: http://audacity.sourceforge.net

4 Plugue o cabo na entrada de microfone do seu computador.5 Com sua mão, mantenha o terminal mais comprido do fototransistor ligado

ao pino interno do plug RCA, e o terminal mais curto ligado à conexãoexterna (se seu computador só possui 1 conexão de áudio, use o plugamarelo; caso contrário, use o vermelho)

6 Pressione a tecla R no computador para gravar o “áudio” do microfone7 Encoste o controle remoto no fototransistor e pressione qualquer botão do

controle

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 25 / 27

Page 88: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Projeto de final de semana

1 Primeiro, veja quantas conexões de áudio o seu computador tem:I Se o seu computador possui pelo menos duas conexões para áudio

(uma para fone de ouvido/caixa de som, e outra para microfone)compre o cabo com 2 plugs RCA.

I Se seu computador só possui uma conexão para áudio, compre o cabocom 3 plugs RCA

2 Vá a uma loja de eletrônica (ver último slide) e compre os materiais.3 Baixe e execute o Audacity: http://audacity.sourceforge.net4 Plugue o cabo na entrada de microfone do seu computador.

5 Com sua mão, mantenha o terminal mais comprido do fototransistor ligadoao pino interno do plug RCA, e o terminal mais curto ligado à conexãoexterna (se seu computador só possui 1 conexão de áudio, use o plugamarelo; caso contrário, use o vermelho)

6 Pressione a tecla R no computador para gravar o “áudio” do microfone7 Encoste o controle remoto no fototransistor e pressione qualquer botão do

controle

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 25 / 27

Page 89: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Projeto de final de semana

1 Primeiro, veja quantas conexões de áudio o seu computador tem:I Se o seu computador possui pelo menos duas conexões para áudio

(uma para fone de ouvido/caixa de som, e outra para microfone)compre o cabo com 2 plugs RCA.

I Se seu computador só possui uma conexão para áudio, compre o cabocom 3 plugs RCA

2 Vá a uma loja de eletrônica (ver último slide) e compre os materiais.3 Baixe e execute o Audacity: http://audacity.sourceforge.net4 Plugue o cabo na entrada de microfone do seu computador.5 Com sua mão, mantenha o terminal mais comprido do fototransistor ligado

ao pino interno do plug RCA, e o terminal mais curto ligado à conexãoexterna (se seu computador só possui 1 conexão de áudio, use o plugamarelo; caso contrário, use o vermelho)

6 Pressione a tecla R no computador para gravar o “áudio” do microfone7 Encoste o controle remoto no fototransistor e pressione qualquer botão do

controle

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 25 / 27

Page 90: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Projeto de final de semana

1 Primeiro, veja quantas conexões de áudio o seu computador tem:I Se o seu computador possui pelo menos duas conexões para áudio

(uma para fone de ouvido/caixa de som, e outra para microfone)compre o cabo com 2 plugs RCA.

I Se seu computador só possui uma conexão para áudio, compre o cabocom 3 plugs RCA

2 Vá a uma loja de eletrônica (ver último slide) e compre os materiais.3 Baixe e execute o Audacity: http://audacity.sourceforge.net4 Plugue o cabo na entrada de microfone do seu computador.5 Com sua mão, mantenha o terminal mais comprido do fototransistor ligado

ao pino interno do plug RCA, e o terminal mais curto ligado à conexãoexterna (se seu computador só possui 1 conexão de áudio, use o plugamarelo; caso contrário, use o vermelho)

6 Pressione a tecla R no computador para gravar o “áudio” do microfone

7 Encoste o controle remoto no fototransistor e pressione qualquer botão docontrole

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 25 / 27

Page 91: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Projeto de final de semana

1 Primeiro, veja quantas conexões de áudio o seu computador tem:I Se o seu computador possui pelo menos duas conexões para áudio

(uma para fone de ouvido/caixa de som, e outra para microfone)compre o cabo com 2 plugs RCA.

I Se seu computador só possui uma conexão para áudio, compre o cabocom 3 plugs RCA

2 Vá a uma loja de eletrônica (ver último slide) e compre os materiais.3 Baixe e execute o Audacity: http://audacity.sourceforge.net4 Plugue o cabo na entrada de microfone do seu computador.5 Com sua mão, mantenha o terminal mais comprido do fototransistor ligado

ao pino interno do plug RCA, e o terminal mais curto ligado à conexãoexterna (se seu computador só possui 1 conexão de áudio, use o plugamarelo; caso contrário, use o vermelho)

6 Pressione a tecla R no computador para gravar o “áudio” do microfone7 Encoste o controle remoto no fototransistor e pressione qualquer botão do

controleRodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 25 / 27

Page 92: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Projeto de final de semana

Resultado:

Resultados podem variar de acordo com a iluminação ambiente,controle remoto, qualidade da placa de som do computador econfiguração dos astros.Se esta experiência não funcionar para você, nem tudo está perdido:

I o cabo pode ser usado para ligar o áudio do seu computador na sua TVou aparelho de som!

I é possível fazer um circuito um pouco mais sensível, quegarantidamente funcione, mas é necessário saber montar circuitos.

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 26 / 27

Page 93: Aula 10: Blocos Digitais Básicos (Somador, Subtrator) - Circuitos

Projeto de final de semana

Onde comprar:I Santo André: R. Gertrudes de Lima, no quarteirão entre as ruas

Siqueira Campos e Cel. Francisco Amaro (há umas 4 lojas de eletrônicaneste quarteirão)

I São Paulo: Ruas transversais à Santa Efigênia, em particular a Rua dosTimbiras.

Se você quer gastar menos, e tiver um fone de ouvido com defeito(todo mundo tem um no fundo de alguma gaveta), dá paradesencapar o cabo do fone e usá-lo para conectar o fototransistor aocomputador.

I se você já tiver o cabo, o custo fica em menos de 1 real!mais informações: http://jumpjack.wordpress.com/2008/05/20/worlds-cheapest-remote-control-replicator-just-1/

Rodrigo Hausen (CMCC – UFABC) Aula 10: Blocos Digitais Básicos (Somador, Subtrator)25 de fevereiro de 2013 27 / 27