Você está na página 1de 39

Circuitos lógicos

Desenhando circuitos lógicos a


partir da tabela verdade
• Usando portas AND, OR e inversores:

Ignora
𝐴ҧ ∙ 𝐵

Ignora

2
Exemplo

𝐴ҧ ∙ 𝐵
𝑥 = 𝐴ҧ ∙ 𝐵 + 𝐴 ∙ 𝐵ത
𝐴 ∙ 𝐵ത

3
Exemplo
1 – Montar a tabela verdade
2 – Definir as funções AND
3 – Combinar as saídas AND com OU
4 – Simplificar
5 – Desenhar o circuito Lógico

4
Observação
• A simplificação de circuitos lógicos pode ser feita
através da técnica de Mapas de Karnaught
• Para não ensinaremos esta técnica em Aviônica, se
precisar pode-se aprender sobre o assunto em:
• John P. Uyemura. Sistemas Digitais: uma
abordagem integrada, Ed. Thompson Pioneira
• Wildmer Tocci. Sistemas Digitais: Princípios e
Aplicações, Ed. Pearson

5
Componente digital
• Até agora vimos portas lógicas básicas
• Uma função maior (macro) é definida utilizando um
bloco maior que chamamos de componente digital
• O componente digital tem um conjunto de entradas
e um conjunto de saídas
• Internamente ele possui um circuito combinacional
de portas lógicas que executam a função
determinada

6
Componente Digitial

A
B
f
C
D

7
Detector de igualdade
• Suponha duas palavras de 4 bits a e b que
queremos comparar
• Se (a=b) então f = 1
• Senão f = 0
• Para isso podemos usar um conjunto de portas
XNOR
• 𝑎𝑛 ⨁𝑏𝑛 = 1 se 𝑎𝑛 = 𝑏𝑛

8
Implementação

𝑎3 𝑎3 ⨁𝑏3
𝑏3
𝑎2 𝑎2 ⨁𝑏2
𝑏2
𝑓
𝑎1
𝑏1
𝑎1 ⨁𝑏1
𝑎0
𝑏0 𝑎0 ⨁𝑏0

9
Validador de código BCD
• Código BCD é uma codificação de dados binários
para decimal.
• 4 bits representam diretamente os dígitos de 0 a 9
• A saída do validador retorna 1 se as entradas ABCD
caso as entradas não pertençam ao grupo BCD
válido.

10
Decimal A B C D F
0 0 0 0 0 0
1 0 0 0 1 0
2 0 0 1 0 0
Tabela Verdade BCD

3 0 0 1 1 0
4 0 1 0 0 0
Saída válida = 0
5 0 1 0 1 0
6 0 1 1 0 0
7 0 1 1 1 0
8 1 0 0 0 0
9 1 0 0 1 0
x 1 0 1 0 1 𝐴 ∙ 𝐵ത ∙ 𝐶 ∙ 𝐷

x 1 0 1 1 1 𝐴 ∙ 𝐵ത ∙ 𝐶 ∙ 𝐷
x 1 1 0 0 1 𝐴 ∙ 𝐵 ∙ 𝐶ҧ ∙ 𝐷

x 1 1 0 1 1 𝐴 ∙ 𝐵 ∙ 𝐶ҧ ∙ 𝐷
x 1 1 1 0 1 𝐴∙𝐵∙𝐶∙𝐷 ഥ
x 1 1 1 1 1 𝐴∙𝐵∙𝐶∙𝐷 11
Simplificação
ഥ + 𝐴 ∙ 𝐵ത ∙ 𝐶 ∙ 𝐷 + 𝐴 ∙ 𝐵 ∙ 𝐶ҧ ∙ 𝐷
𝐹 = 𝐴 ∙ 𝐵ത ∙ 𝐶 ∙ 𝐷 ഥ + 𝐴 ∙ 𝐵 ∙ 𝐶ҧ ∙ 𝐷 + 𝐴 ∙ 𝐵 ∙ 𝐶 ∙ 𝐷
ഥ+𝐴∙𝐵∙𝐶∙𝐷
ഥ + 𝐴 ∙ 𝐵ത ∙ 𝐶 ∙ 𝐷 + (𝐴 ∙ 𝐵) ∙ (𝐶ҧ ∙ 𝐷
𝐹 = 𝐴 ∙ 𝐵ത ∙ 𝐶 ∙ 𝐷 ഥ + 𝐶ҧ ∙ 𝐷 + 𝐶 ∙ 𝐷
ഥ + 𝐶 ∙ 𝐷)

ഥ + 𝐶 ∙ 𝐷) + (𝐴 ∙ 𝐵) ∙ (𝐶ҧ ∙ 𝐷
ത ∙ (𝐶 ∙ 𝐷
𝐹 = (𝐴 ∙ 𝐵) ഥ + 𝐶ҧ ∙ 𝐷 + 𝐶 ∙ 𝐷
ഥ + 𝐶 ∙ 𝐷)
ത ∙( 𝐶 ∙ 𝐷
𝐹 = (𝐴 ∙ 𝐵) ഥ + 𝐷 ) + (𝐴 ∙ 𝐵) ∙ (𝐶ҧ ∙ (𝐷
ഥ + 𝐷) + 𝐶 ∙ (𝐷
ഥ + 𝐷))
1 1 1
ത ∙ (𝐶) + (𝐴 ∙ 𝐵) ∙ (𝐶ҧ + 𝐶)
𝐹 = (𝐴 ∙ 𝐵)
1
𝐹 = 𝐴 ∙ 𝐵ത ∙ 𝐶 + 𝐴 ∙ 𝐵

12
Decimal A B C D F 𝐴 ∙ 𝐵ത ∙ 𝐶 + 𝐴 ∙ 𝐵
ABCF
0 0 0 0 0 0 0 ∙ 0ത ∙ 0 + 0 ∙ 0 = 0 0000
1 0 0 0 1 0 0 ∙ 0ത ∙ 0 + 0 ∙ 0 = 0 0010
0100
2 0 0 1 0 0 0 ∙ 0ത ∙ 1 + 0 ∙ 0 = 0 0110
3 0 0 1 1 0 0 ∙ 0ത ∙ 1 + 0 ∙ 0 = 0 1000
4 0 1 0 0 0 0 ∙ 1ത ∙ 0 + 0 ∙ 1 = 0 1011
1101
5 0 1 0 1 0 0 ∙ 1ത ∙ 0 + 0 ∙ 1 = 0
1111
6 0 1 1 0 0 0 ∙ 1ത ∙ 1 + 0 ∙ 1 = 0
7 0 1 1 1 0 0 ∙ 1ത ∙ 1 + 0 ∙ 1 = 0
8 1 0 0 0 0 1 ∙ 0ത ∙ 0 + 1 ∙ 0 = 0
9 1 0 0 1 0 1 ∙ 0ത ∙ 0 + 1 ∙ 0 = 0
x 1 0 1 0 1 1 ∙ 0ത ∙ 1 + 1 ∙ 0 = 1
Verificação

x 1 0 1 1 1 1 ∙ 0ത ∙ 1 + 1 ∙ 0 = 1
x 1 1 0 0 1 1∙1∙0+1∙1=1
x 1 1 0 1 1 1∙1∙0+1∙1=1
x 1 1 1 0 1 1∙1∙1+1∙1=1
x 1 1 1 1 1 1∙1∙1+1∙1=1
13
Podemos melhorar a resposta?
Sim, verificar os três bits A, B e C
𝐹 = 𝐴 ∙ 𝐵ത ∙ 𝐶 + 𝐴 ∙ 𝐵 ⋅ 𝐶ҧ + 𝐴 ∙ 𝐵 ∙ 𝐶
𝐹 =𝐴∙𝐶+𝐴∙𝐵+𝐴∙𝐶
𝐹 =𝐴∙𝐶+𝐴∙𝐵
ABCF
𝐹 = 𝐴 ∙ (𝐶 + 𝐵)
0000
0010
0100
A F
0110
1000
1011 𝐴 ∙ 𝐵ത ∙ 𝐶 = 𝐴 ∙ 𝐶
B
1101 𝐴 ∙ 𝐵 ∙ 𝐶ҧ = 𝐴 ∙ 𝐵
1111 𝐴∙𝐵∙𝐶 =𝐴∙𝐶 C

D
Unidade de validação BCD

14
Decodificador de linha
• Um decodificador de linha é um circuito que nos
permite ativar uma linha de saída pela
especificação de uma palavra de controle
(endereço)

D0 S1 S2 D3 D2 D1 D0
D1 0 0 0 0 0 1
D2 0 1 0 0 1 0

D3 1 0 0 1 0 0
1 1 1 0 0 0

S1 S2
15
Decodificador de linha
S1 S2 D3 D2 D1 D0
0 0 0 0 0 1 𝐷0 = 𝑆ഥ1 ∙ 𝑆2
0 1 0 0 1 0 𝐷1 = 𝑆ഥ1 ∙ 𝑆2
1 0 0 1 0 0 𝐷2 = 𝑆1 ∙ 𝑆2
1 1 1 0 0 0 𝐷3 = 𝑆1 ∙ 𝑆2

S0
S1

16
Decodificador de linha ativo em
nível baixo
S1 S2 D3 D2 D1 D0
0 0 1 1 1 0
0 1 1 1 0 1
1 0 1 0 1 1
1 1 0 1 1 1
S0
S1

17
Multiplexadores
• Um multiplexador (MUX) é um componente lógico
que várias entradas para uma saída.
• Cada entrada é selecionada por um endereço para
ser ligada a saída

P0 S1 S2 F
P1 0 0 P0
F
P2 0 1 P1
P3 1 0 P2
1 1 P3

𝐹 = 𝑆ഥ1 ∙ 𝑆2 ∙ 𝑃0 + 𝑆ഥ1 ∙ 𝑆2 ∙ 𝑃1 + 𝑆1 ∙ 𝑆2 ∙ 𝑃2 + 𝑆1 ⋅ 𝑆1 ⋅ 𝑃3

S1 S0 18
MUX 4:1
Mux 4:1
S1 S0

P0

P1
F
P2

P3

19
Demultiplexadores
• Um demutiplexador executa a operação contrária
de um multiplexador

S1 S2 X p/ F
P0
0 0 P0 𝑃0 = 𝑆ഥ1 ∙ 𝑆2 ∙ 𝑋
P1
X 0 1 P1 𝑃1 = 𝑆ഥ1 ∙ 𝑆2 ∙ 𝑋
P2
1 0 P2 𝑃2 = 𝑆1 ∙ 𝑆2 ∙ 𝑋
P3
1 1 P3 𝑃3 = 𝑆1 ⋅ 𝑆1 ⋅ 𝑋

S1 S0
20
DEMUX 1:4
Demux 1:4
S1 S0

X P0

P1

P2

P3
21
Somador binário
• Veja a situação:

0+0=0
0+1=1
1+0=1
1 + 1 = 0 e vai um

O bloco básico do somador é a porta XOR

22
Somador completo

23
Somadores em paralelo
• Veja a situação

111 Bits de vai um


0101
+0 1 1 1
1100

24
Subtrator binário
• Veja a situação:

0–0=0
0 – 1 = 1 e empresta 1
1–0=1
1–1=0

25
Meio subtrator

26
Subtrator completo

27
Somador / subtrator completo

28
Somador / subtrator completo

29
Números negativos
• Representamos números negativos utilizando o
primeiro bit do veto como sinal:
• S = 0: multiplicador + 1
• S = 1: multiplicador – 1
• Exemplo: 1000 00002 = - 010
• Exemplo: 0000 00002 = + 010
• Isso não vai dar certo!

30
Solução

Binário Decimal
0000 0000 0
0000 0001 1
0000 0010 2
...
0111 1110 126
0111 1111 127
1000 0000 -1
1000 0001 -2
...
1111 1110 -126
1111 1111 -127

31
Complemento de 1
• Consiste em converter bit a bit cada termo de um
vetor binário
• Exemplo: 𝑎 = 1011 𝑎ത = 0100
• Se somarmos 𝑎 + 𝑎ത = 1111

32
Complemento de 2
• Consiste em converter bit a bit cada termo de um
vetor binário e adicionar + 1
• Exemplo: 𝑎 = 1011 𝑎ത = 0100 + 1 = 0101
• Se somarmos 𝑎 + 𝑎ത = 1011 + 0101 = 10000
• Complemento de 2 𝑎 = 𝑎ത + 1

33
Aplicações do complemento de 2
• Subratação:
• 𝑎 − 𝑏 = 𝑎 + 𝑐𝑜𝑚𝑝𝑙𝑒𝑛𝑡𝑜2(𝑏)
Cuidado –
A = 1010 = 10 A = 0111 = 7
B = 0111 = 7 B = 1010 = 10
A–B=D A–B=D
C2(B) = 1000+1 = 1001 C2(B) = 0101+1 = 0110
D = A + C2(B) = 1010 + 1001 = 1 0011 D = A + C2(B) = 0111 + 0110 = 1101
Descartando o 1 Descartando o 1
A – B = 0011 = 3 A – B = 1101 = 13

34
Multiplicação
• Considere a situação

0x0=0
0x1=0
1x0=0
1x1=0
X
𝑎𝑛
𝑝𝑛 = 𝑎𝑛 × 𝑏𝑛
𝑏𝑛

35
Multiplicação
𝑎1 𝑎0
X 𝑏1 𝑏0
𝑎1 𝑏1 𝑎0 𝑏0
+ 𝑎1 𝑏1 𝑎0 𝑏1
𝑝3 𝑝2 𝑝1 𝑝0 𝑎1 𝑎0

𝑏1
𝑏0

X X X X

MS MS

𝑝3 𝑝2 𝑝1 𝑝0
36
Exercícios
• Execute as operações binárias:
• 1100+0101
• 0110+0110
• 0011+0101
• 11000110+01011100
• 11110000+10101010
• 10100010+11110001

37
Exercícios
• Encontre o complemento de 2 e de 1 das palavras
binárias
• 0111
• 1010
• 1111
• 10110101
• 11001100
• 10100101

38
Exercícios
• Execute as multiplicações binárias
• 1010x1011
• 1110x0010
• 1011x0111
• 0100x1011

39

Você também pode gostar