Escolar Documentos
Profissional Documentos
Cultura Documentos
EEL5105 Aula3
EEL5105 Aula3
OF SANTA CATARINA
hector@eel.ufsc.br
http://hectorpettenghi.paginas.ufsc.br
3. Projeto de Circuitos Lógicos Combinacionais
Nesta aula: uso da álgebra booleana para o projeto de circuitos
lógicos.
Ou
Ou seja:
seja: como
como éé possível
possível obter
obter um
um circuito
circuito lógico
lógico aa partir
partir da
da
especificação
especificação de
de um
um problema
problema (real)
(real) e/ou
e/ou de
de uma
uma tabela
tabela
verdade.
verdade.
2
3.1. Formas Padrão/Canônicas
3
Formas Padrão/Canônicas
7
3.2. Projeto Usando as Formas Canônicas
• Minitermos:
A B C ABC
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
8
3.2. Projeto Usando as Formas Canônicas
• Minitermos:
A B C ABC
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
9
3.2. Projeto Usando as Formas Canônicas
• Minitermos:
A B C A’B’C’ ABC
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
10
3.2. Projeto Usando as Formas Canônicas
• Minitermos:
A B C A’B’C’ A’B’C ABC
0 0 0 1 0
0 0 1 0 0
0 1 0 0 0
0 1 1 0 0
1 0 0 0 0
1 0 1 0 0
1 1 0 0 0
1 1 1 0 1
11
3.2. Projeto Usando as Formas Canônicas
• Minitermos:
A B C A’B’C’ A’B’C A’BC’ ABC
0 0 0 1 0 0
0 0 1 0 1 0
0 1 0 0 0 0
0 1 1 0 0 0
1 0 0 0 0 0
1 0 1 0 0 0
1 1 0 0 0 0
1 1 1 0 0 1
12
3.2. Projeto Usando as Formas Canônicas
• Minitermos:
A B C A’B’C’ A’B’C A’BC’ ABC
0 0 0 1 0 0 0
0 0 1 0 1 0 0
0 1 0 0 0 1 0
0 1 1 0 0 0 0
1 0 0 0 0 0 0
1 0 1 0 0 0 0
1 1 0 0 0 0 0
1 1 1 0 0 0 1
13
3.2. Projeto Usando as Formas Canônicas
• Minitermos:
A B C A’B’C’ A’B’C A’BC’ A’BC AB’C’ AB’C ABC’ ABC
0 0 0 1 0 0 0 0 0 0 0 m0
0 0 1 0 1 0 0 0 0 0 0 m1
0 1 0 0 0 1 0 0 0 0 0 m2
0 1 1 0 0 0 1 0 0 0 0 m3
1 0 0 0 0 0 0 1 0 0 0 m4
1 0 1 0 0 0 0 0 1 0 0 m5
1 1 0 0 0 0 0 0 0 1 0 m6
1 1 1 0 0 0 0 0 0 0 1 m7
Cada
Cada minitermo
minitermo resulta
resulta em
em 11 para
para uma
uma única
única combinação
combinação
de
de valores
valores das
das variáveis
variáveis de
de entrada!
entrada!
14
3.2. Projeto Usando as Formas Canônicas
• Considerando um problema qualquer com três variáveis de entrada, como podemos obter
a função lógica (e, portanto, o circuito lógico correspondente) a partir do conhecimento da
tabela de minitermos?
A B C S
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
15
3.2. Projeto Usando as Formas Canônicas
• Considerando um problema qualquer com três variáveis de entrada, como podemos obter
a função lógica (e, portanto, o circuito lógico correspondente) a partir do conhecimento da
tabela de minitermos?
0 0 1 0 0 1 0 0 0 0 0 0 m1
0 1 0 1 0 0 1 0 0 0 0 0 m2
0 1 1 1 0 0 0 1 0 0 0 0 m3
1 0 0 0 0 0 0 0 1 0 0 0 m4
1 0 1 0 0 0 0 0 0 1 0 0 m5
1 1 0 0 0 0 0 0 0 0 1 0 m6
1 1 1 1 0 0 0 0 0 0 0 1 m7
16
3.2. Projeto Usando as Formas Canônicas
• Considerando um problema qualquer com três variáveis de entrada, como podemos obter
a função lógica (e, portanto, o circuito lógico correspondente) a partir do conhecimento da
tabela de minitermos?
A B C S
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
17
3.2. Projeto Usando as Formas Canônicas
• Considerando um problema qualquer com três variáveis de entrada, como podemos obter
a função lógica (e, portanto, o circuito lógico correspondente) a partir do conhecimento da
tabela de minitermos?
A B C
A B C S
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 1 S
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
18
3.2. Projeto Usando as Formas Canônicas
• Considerando um problema qualquer com três variáveis de entrada, como podemos obter
a função lógica (e, portanto, o circuito lógico correspondente) a partir do conhecimento da
tabela de minitermos?
0 0 1 0 m1 S = m0 + m2 + m3 + m7
1 0 0 0 m4 simplificando
1 0 1 0 m5
1 1 0 0 m6 S = A’ C’ + BC
1 1 1 1 m7
19
3.2. Projeto Usando as Formas Canônicas
• Considerando um problema qualquer com três variáveis de entrada, como podemos obter
a função lógica (e, portanto, o circuito lógico correspondente) a partir do conhecimento da
tabela de maxitermos?
0 0 0 1 0 1 1 1 1 1 1 1 M0
0 0 1 0 1 0 1 1 1 1 1 1 M1
0 1 0 1 1 1 0 1 1 1 1 1 M2
0 1 1 1 1 1 1 0 1 1 1 1 M3
1 0 0 0 1 1 1 1 0 1 1 1 M4
1 0 1 0 1 1 1 1 1 0 1 1 M5
1 1 0 0 1 1 1 1 1 1 0 1 M6
1 1 1 1 1 1 1 1 1 1 1 0 M7
20
3.2. Projeto Usando as Formas Canônicas
• Considerando um problema qualquer com três variáveis de entrada, como podemos obter
a função lógica (e, portanto, o circuito lógico correspondente) a partir do conhecimento da
tabela de maxitermos?
A B C S A B C
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 1 S
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
21
3.2. Projeto Usando as Formas Canônicas
• Considerando um problema qualquer com três variáveis de entrada, como podemos obter
a função lógica (e, portanto, o circuito lógico correspondente) a partir do conhecimento da
tabela de maxitermos?
A B C S A B C
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 1 S
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
22
3.2. Projeto Usando as Formas Canônicas
• Considerando um problema qualquer com três variáveis de entrada, como podemos obter
a função lógica (e, portanto, o circuito lógico correspondente) a partir do conhecimento da
tabela de maxitermos?
0 0 1 0 M1 S = M 1 . M 4 . M 5 . M6
0 1 0 1 M2 = (A+B+C’)(A’+B+C)(A’+B+C’)(A’+B’+C)
0 1 1 1 M3
1 0 0 0 M4 simplificando
1 0 1 0 M5
1 1 0 0 M6 S = A’ C’ + BC
1 1 1 1 M7
23
3.2. Projeto Usando as Formas Canônicas
• Exemplo: Obter as funções de saída para a seguinte tabela
verdade usando soma de mintermos.
A B C S1 S2 S3
0 0 0 0 1 0
0 0 1 1 1 0
0 1 0 0 1 1
0 1 1 1 1 1
1 0 0 0 0 0
1 0 1 1 0 0
1 1 0 0 0 1
1 1 1 1 1 1
24
PROBLEMAS
26
3.3. Mapa de Karnaugh
• Apresenta as mesmas informações da tabela verdade
• Cada linha da tabela verdade corresponde a um quadrado
do Mapa de Karnaugh
• Numeração ordenada conforme o código Gray
27
3.3. Mapa de Karnaugh
• Apresenta as mesmas informações da tabela verdade
• Cada linha da tabela verdade corresponde a um quadrado
do Mapa de Karnaugh
• Numeração ordenada conforme o código Gray
• Exemplo: A B C S
0 0 0 1 C
0 0 1 0 AB 0 1
0 1 0 1 00
0 1 1 1 01
1 0 0 0 11
1 0 1 0 10
1 1 0 0
1 1 1 1
28
3.3. Mapa de Karnaugh
• Apresenta as mesmas informações da tabela verdade
• Cada linha da tabela verdade corresponde a um quadrado
do Mapa de Karnaugh
• Numeração ordenada conforme o código Gray
• Exemplo: A B C S C
0 0 0 1 AB 0 1
0 0 1 0 00 1 0
0 1 0 1 01 1 1
0 1 1 1 11 0 1
1 0 0 0 10 0 0
1 0 1 0
1 1 0 0
1 1 1 1 29
3.3. Mapa de Karnaugh
• Exemplo de projeto:
S
A B C S
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 1
C
1 0 0 0 AB 0 1
1 0 1 0 00 1 0
1 1 0 0 01 1 1
1 1 1 1 11 0 1
10 0 0
30
3.3. Mapa de Karnaugh
• Exemplo de projeto:
1 0 1 0 00 1 0
1 1 0 0 01 1 1
1 1 1 1 11 0 1
10 0 0
31
3.3. Mapa de Karnaugh
• Exemplo de projeto:
1 0 1 0 00 1 0
1 1 0 0 01 1 1
1 1 1 1 11 0 1
10 0 0
32
3.3. Mapa de Karnaugh
• Exemplo de projeto:
S ABC ABC ABC ABC
AC(B B) (A A)BC
AC BC
As
As simplificações
simplificações que
que podem
podem ser
ser feitas
feitas
usando
usando álgebra
álgebra booleana
booleana aparecem
aparecem
como
como valores
valores iguais
iguais em
em quadros
quadros vizinhos
vizinhos C
em AB 0 1
em uma
uma Mapa
Mapa de de Karnaugh!
Karnaugh!
00 1 0
01 1 1
11 0 1
10 0 0
33
3.3. Mapa de Karnaugh
• 2 variáveis:
B
A 0 1
0
• 3 variáveis
C
AB 0 1 BC
00
A 00 01 11 10
0
01
1
11
10
34
3.3. Mapa de Karnaugh
• 4 variáveis:
CD
AB 00 01 11 10
00
01
11
10
• 5, 6, 7, etc...
35
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• De onde surgem as simplificações
• 2, 4, 8, etc.
36
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• 2 quadros:
C
AB 0 1
00 0 0
01 1 0
11 1 0
10 0 0
37
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• 2 quadros:
C
AB 0 1
00 0 0
S BC
01 1 0
11 1 0
10 0 0
38
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• 2 quadros:
C C
AB 0 1
AB 0 1
00 0 0 00 0 0
S BC
01 1 0 01 1 1
11 1 0 11 0 0
10 0 0 10 0 0
39
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• 2 quadros:
C C
AB 0 1
AB 0 1
00 0 0 00 0 0
S BC S AB
01 1 0 01 1 1
11 1 0 11 0 0
10 0 0 10 0 0
40
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• 2 quadros:
C
AB 0 1
00 1 0
01 0 0
11 0 0
10 1 0
41
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• 2 quadros:
C
AB 0 1
00 1 0
01 0 0 S BC
11 0 0
10 1 0
42
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• 2 quadros:
CD
AB 00 01 11 10
00 0 0 1 1
01 0 0 0 0
11 0 0 0 0
10 1 0 0 1
43
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• 2 quadros:
CD
AB 00 01 11 10
00 0 0 1 1
01 0 0 0 0 S ABC ABD
11 0 0 0 0
10 1 0 0 1
44
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• 2 quadros:
• Supondo uma escolha infeliz de agrupamentos:
CD
AB 00 01 11 10
00 0 0 1 1 S ABC ABCD BCD
01 0 0 0 0
11 0 0 0 0
10 1 0 0 1
45
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• 2 quadros:
• Supondo uma escolha infeliz de agrupamentos:
CD
AB 00 01 11 10
S ABC ABCD BCD
00 0 0 1 1
01 0 0 0 0
ABC ABCD (A A)BCD
11 0 0 0 0 ABC ABCD ABCD ABCD
10 1 0 0 1 ABC(1 D) ABD(C C)
ABC ABD
46
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• 4 quadros:
C
AB 0 1
00 0 1
01 0 1
11 0 1
10 0 1
47
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• 4 quadros:
C
AB 0 1
00 0 1 SC
01 0 1
11 0 1
10 0 1
48
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• 4 quadros:
CD
AB 00 01 11 10
00 0 0 0 0
01 0 0 0 0
11 1 1 1 1
10 0 0 0 0
49
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• 4 quadros:
CD
AB 00 01 11 10
00 0 0 0 0
01 0 0 0 0
11 1 1 1 1
10 0 0 0 0
S AB
50
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• 4 quadros:
CD CD
AB 00 01 11 10 AB 00 01 11 10
00 0 0 0 0 00 0 0 0 0
01 0 0 0 0 01 0 1 1 0
11 1 1 1 1 11 0 1 1 0
10 0 0 0 0 10 0 0 0 0
S AB
51
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• 4 quadros:
CD CD
AB 00 01 11 10 AB 00 01 11 10
00 0 0 0 0 00 0 0 0 0
01 0 0 0 0 01 0 1 1 0
11 1 1 1 1 11 0 1 1 0
10 0 0 0 0 10 0 0 0 0
S AB S BD
52
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• 4 quadros:
CD CD
AB 00 01 11 10 AB 00 01 11 10
00 0 0 0 0 00 1 0 0 1
01 0 0 0 0 01 0 0 0 0
11 1 0 0 1 11 0 0 0 0
10 1 0 0 1 10 1 0 0 1
53
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• 4 quadros:
CD CD
AB 00 01 11 10 AB 00 01 11 10
00 0 0 0 0 00 1 0 0 1
01 0 0 0 0 01 0 0 0 0
11 1 0 0 1 11 0 0 0 0
10 1 0 0 1 10 1 0 0 1
S AD
54
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• 4 quadros:
CD CD
AB 00 01 11 10 AB 00 01 11 10
00 0 0 0 0 00 1 0 0 1
01 0 0 0 0 01 0 0 0 0
11 1 0 0 1 11 0 0 0 0
10 1 0 0 1 10 1 0 0 1
S AD S BD
55
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• 8 quadros:
CD CD
AB 00 01 11 10 AB 00 01 11 10
00 0 0 0 0 00 1 1 0 0
01 1 1 1 1 01 1 1 0 0
11 1 1 1 1 11 1 1 0 0
10 0 0 0 0 10 1 1 0 0
56
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• 8 quadros:
CD CD
AB 00 01 11 10 AB 00 01 11 10
00 0 0 0 0 00 1 1 0 0
01 1 1 1 1 01 1 1 0 0
11 1 1 1 1 11 1 1 0 0
10 0 0 0 0 10 1 1 0 0
SB SC
57
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• 8 quadros:
CD CD
AB 00 01 11 10 AB 00 01 11 10
00 1 0 0 1 00 1 1 1 1
01 1 0 0 1 01 0 0 0 0
11 1 0 0 1 11 0 0 0 0
10 1 0 0 1 10 1 1 1 1
58
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• 8 quadros:
CD CD
AB 00 01 11 10 AB 00 01 11 10
00 1 0 0 1 00 1 1 1 1
01 1 0 0 1 01 0 0 0 0
11 1 0 0 1 11 0 0 0 0
10 1 0 0 1 10 1 1 1 1
SD SB
59
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• Processo completo
• Exemplo 1:
CD
AB 00 01 11 10
00 0 0 0 1
01 0 1 1 0
11 0 1 1 0
10 0 0 1 0
60
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• Processo completo
• Exemplo 1:
CD
AB 00 01 11 10
00 0 0 0 1
01 0 1 1 0 S BD ACD ABCD
11 0 1 1 0
10 0 0 1 0
61
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• Processo completo
• Exemplo 2:
CD
AB 00 01 11 10
00 0 1 0 0
01 0 1 1 1
11 0 0 0 1
10 1 1 0 1
62
3.3. Mapa de Karnaugh
• 3.3.1. Agrupamento de Quadros
• Processo completo
• Exemplo 2:
CD
AB 00 01 11 10
00 0 1 0 0
01 0 1 1 1 S ABD BCD BCD ABD
11 0 0 0 1
10 1 1 0 1
63
PROBLEMAS
Problema 3.2. Obtenha os agrupamentos associados ao
seguinte mapa de Karnaugh:
CD
AB 00 01 11 10
00 0 0 1 0
01 1 1 1 1
11 1 1 0 0
10 0 0 0 0
64
3.3. Mapa de Karnaugh
• 3.3.2. Condições de Irrelevância
65
PROBLEMAS
Problema 3.3. Um reservatório de água é controlado a partir de um sensor
digital que indica, em uma saída de 3 bits, o nível atual da água no reservatório (0
ou 0002 indica que o reservatório está vazio e 7 ou 1112 indica que o reservatório
está em sua capacidade máxima). Projete um circuito digital que faça o controle de
duas bombas (bomba 1 e bomba 2) que enchem esse reservatório seguindo as
seguintes regras:
a) Caso o nível esteja abaixo de 3, as duas bombas devem estar ligadas.
b) Caso o nível esteja acima de 4, apenas a bomba 1 deve estar ligada.
c) Para nível 3 e 4 a bomba 1 está ligada.
d) Para evitar um transbordamento, nenhuma das bombas deve estar
ligada caso o nível seja igual a 7.
66
3.3. Mapa de Karnaugh
• 3.3.2. Condições de Irrelevância (Bomba 2)
A B C
0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 X
1 0 0 X
1 0 1 0
1 1 0 0
1 1 1 0
67
3.3. Mapa de Karnaugh
• 3.3.2. Condições de Irrelevância
A B C
0 0 0 1 C
0 0 1 1 AB 0 1
0 1 0 1 00 1 1
0 1 1 X 01 1 X
1 0 0 X 11 0 0
1 0 1 0 10 X 0
1 1 0 0
1 1 1 0
68
3.3. Mapa de Karnaugh
• 3.3.2. Condições de Irrelevância
A B C
0 0 0 1 C
0 0 1 1 AB 0 1
0 1 0 1 00 1 1
0 1 1 X 01 1 X
1 0 0 X 11 0 0
1 0 1 0 10 X 0
1 1 0 0
1 1 1 0
69
3.3. Mapa de Karnaugh
• 3.3.2. Condições de Irrelevância
• Exemplo:
M F1 F2 F3 ABRIR M F1 F2 F3 ABRIR
0 0 0 0 0 1 0 0 0 0
0 0 0 1 1 1 0 0 1 0
0 0 1 0 1 1 0 1 0 0
0 0 1 1 X 1 0 1 1 X
0 1 0 0 1 1 1 0 0 0
0 1 0 1 X 1 1 0 1 X
0 1 1 0 X 1 1 1 0 X
0 1 1 1 X 1 1 1 1 X
70
3.3. Mapa de Karnaugh
• 3.3.2. Condições de Irrelevância
• Exemplo:
F2 F3
M F1 00 01 11 10
00 0 1 X 1
01 1 X X X
11 0 X X X
10 0 0 X 0
71
3.3. Mapa de Karnaugh
• 3.3.2. Condições de Irrelevância
• Exemplo:
F2 F3
M F1 00 01 11 10
00 0 1 X 1
01 1 X X X ABRIR M F1 M F2 M F3
11 0 X X X
10 0 0 X 0
72
3.3. Mapa de Karnaugh
• 3.3.3. Mapa de Karnaugh e Maxitermos
• Também é possível...
F2 F3
M F1 00 01 11 10
00 0 1 X 1
01 1 X X X
11 0 X X X
10 0 0 X 0
73
3.3. Mapa de Karnaugh
• 3.3.3. Mapa de Karnaugh e Maxitermos
• Também é possível...
F2 F3
M F1 00 01 11 10
00 0 1 X 1
01 1 X X X
11 0 X X X
10 0 0 X 0
74
3.3. Mapa de Karnaugh
• 3.3.3. Mapa de Karnaugh e Maxitermos
• Também é possível...
F2 F3
M F1 00 01 11 10
00 0 1 X 1
ABRIR M F1 F2 F3
01 1 X X X
M F1 M F2 M F3
11 0 X X X
10 0 0 X 0
75
FEDERAL UNIVERSITY
OF SANTA CATARINA
hector@eel.ufsc.br
http://hectorpettenghi.paginas.ufsc.br