Você está na página 1de 21

SISTEMAS DIGITAIS

Método de Karnaugh - I

Prof. Carlos Sêrro
Prof. João Paulo Carvalho

Outubro de 2005 Sistemas Digitais 1
Minimização de uma Função

 Trata-se de obter a expressão mínima de
Prof. João Paulo Carvalho

uma função
A representação mínima depende do
Prof. Carlos Sêrro


critério utilizado
 usaremos como critério: primeiro, o número de
termos na expressão; e segundo, o número de
literais nesses termos
 Admite-se uma representação da função a
dois níveis, isto é numa das formas
normais

Outubro de 2005 Sistemas Digitais 2
Minimização de uma Função

 Podem existir várias expressões mínimas
Prof. João Paulo Carvalho

 É possível obter uma ou mais expressões
mínimas por via algébrica (como vimos nas
Prof. Carlos Sêrro

aulas anteriores), mas é por vezes difícil
obtê-la
 só com alguma prática se conseguem obter
todas as expressões mínimas
 Pretende-se mostrar nesta aula que há
métodos tabulares interessantes para
simplificar funções booleanas
Outubro de 2005 Sistemas Digitais 3
Adjacências e Mapas de
Karnaugh
 Uma função pode ser representada de
Prof. João Paulo Carvalho

várias formas:
Prof. Carlos Sêrro

m A B C f
0 0 0 0 0
1 0 0 1 0
2 0 1 0 0
f = m7 + m6 + m4
3 0 1 1 0
f = ABC + ABC + AB C 4 1 0 0 1
5 1 0 1 0
6 1 1 0 1
7 1 1 1 1

Outubro de 2005 Sistemas Digitais 4
Adjacências e Mapas de
Karnaugh
 A expressão da função pode ser
Prof. João Paulo Carvalho

simplificada algebricamente
Prof. Carlos Sêrro

f = ABC + ABC + AB C
= ABC + ABC + ABC + AB C
= AB( C + C ) + AC ( B + B )
= AB + AC

Outubro de 2005 Sistemas Digitais 5
Adjacências e Mapas de
Karnaugh
 Do mesmo modo que a representação de
Prof. João Paulo Carvalho

funções pode ser feita indiferentemente
de uma forma tabular ou com uma
Prof. Carlos Sêrro

expressão algébrica, o próprio processo
de simplificação pode ser feito dos dois
modos

Outubro de 2005 Sistemas Digitais 6
Adjacências e Mapas de
Karnaugh
Prof. João Paulo Carvalho

m A B C f
0 0 0 0 0
Prof. Carlos Sêrro

1 0 0 1 0 f = ABC + ABC + AB C
2 0 1 0 0
= ABC + ABC + ABC + AB C
3 0 1 1 0
4 1 0 0 1
= AB( C + C ) + AC ( B + B )
5 1 0 1 0 = AB + AC
6 1 1 0 1
7 1 1 1 1

Outubro de 2005 Sistemas Digitais 7
Adjacências e Mapas de
Karnaugh
Prof. João Paulo Carvalho

m A B C f  As linhas 6 e 7 permitiram obter o
Prof. Carlos Sêrro

0 0 0 0 0
termo AB por manipulação algébrica:
entre elas só a variável C é que
1 0 0 1 0
varia, o que permitiu pôr AB em
2 0 1 0 0 evidência
3 0 1 1 0  As linhas 4 e 6 permitiram obter o
4 1 0 0 1 termo AC por manipulação algébrica:
5 1 0 1 0 entre elas só a variável B é que
varia, o que permitiu pôr AC em
6 1 1 0 1
evidência
7 1 1 1 1

Outubro de 2005 Sistemas Digitais 8
Adjacências e Mapas de
Karnaugh
 Podemos então simplificar
Prof. João Paulo Carvalho

directamente a função por
m A B C f observação da tabela,
associando linhas em que a
Prof. Carlos Sêrro

0 0 0 0 0
1 0 0 1 0
função valha 1 e que
difiram apenas de uma
2 0 1 0 0
variável
3 0 1 1 0  No primeiro produto
4 1 0 0 1 associámos as linhas 6 e 7,
5 1 0 1 0 que diferem apenas na
6 1 1 0 1 variável C
7 1 1 1 1
 No segundo associámos as
linhas 4 e 6, que diferem
apenas na variável B

Outubro de 2005 Sistemas Digitais 9
Adjacências e Mapas de
Karnaugh
 Destas linhas que diferem
Prof. João Paulo Carvalho

apenas de uma variável,
m A B C f diz-se serem adjacentes.
0 0 0 0 0
 É claro que era bom, como
Prof. Carlos Sêrro

aconteceu no primeiro
1 0 0 1 0
caso, que todas as
2 0 1 0 0 posições adjacentes
3 0 1 1 0 estivessem fisicamente
encostadas. Mas, com 3
4 1 0 0 1 variáveis, cada posição
5 1 0 1 0 tem sempre 3 posições
6 1 1 0 1
adjacentes e, na tabela, é
impossível colocar
7 1 1 1 1 fisicamente uma linha
“encostada” a outras três.

Outubro de 2005 Sistemas Digitais 10
Adjacências e Mapas de
Karnaugh
 Com esta nova forma de desenhar a tabela de
Prof. João Paulo Carvalho

verdade da função obtém-se o seu Mapa de
Karnaugh
Prof. Carlos Sêrro

BC
A
00 01 11 10
0 1 3 2
0
4 5 7 6
1

 Repare-se que para cada posição há 3 adjacentes
(porque a função é de 3 variáveis

Outubro de 2005 Sistemas Digitais 11
Adjacências e Mapas de
Karnaugh
 A posição P tem como posições adjacentes
Prof. João Paulo Carvalho

a posição A1 (que varia de P na variável C),
a posição A2 (que varia na variável A), e a
Prof. Carlos Sêrro

posição A3 (que varia na B)
 Repare-se que tudo se passa como se as
posições laterais extremas estivessem
encostadas
BC BC
A A
00 01 11 10 00 01 11 10
0 A2 0 A2

1 A3 A1 P 1 A1 P A3

Outubro de 2005 Sistemas Digitais 12
Adjacências e Mapas de Karnaugh
m A B C f f = ABC + ABC + AB C
0 0 0 0 0 = ABC + ABC + ABC + AB C
1 0 0 1 0
= AB( C + C ) + AC ( B + B )
2 0 1 0 0
= AB + AC
Prof. João Paulo Carvalho

3 0 1 1 0
4 1 0 0 1
Prof. Carlos Sêrro

5 1 0 1 0
 Aplicando o Mapa de Karnaugh à função
6 1 1 0 1
do exemplo anterior temos:
7 1 1 1 1
BC
A
BC 00 01 11 10 A C
A
00 01 11 10 0 0 0 0 0
0 1 3 2
0 F = A B + A C
1 1 0 1 1
4 5 7 6
1
A B
 Num mapa de Karnaugh são válidas todas as associações entre 2
elementos adjacentes
Outubro de 2005 Sistemas Digitais 13
Adjacências e Mapas de Karnaugh
 Outro exemplo de simplificação de uma função de 3 variáveis:

f = ∑ m( 0,2,4,5,6 ) ⇔ f = m0 + m2 + m4 + m5 + m6
Prof. João Paulo Carvalho

BC BC
A A BC
00 01 11 10 00 01 11 10
0 1 3 2
Prof. Carlos Sêrro

0 0 1 0 0 1
4 5 7 6 f = AB + BC + B C
1 1 1 1 0 1
AB
BC
 Mas a expressão pode ser ainda mais simplificada:
C
f = AB + C BC
A 00 01 11 10
 Esta simplificação adicional poderia ser retirada
0 1 0 0 1
directamente do mapa, pois verifica-se que os quatro
‘1s’ das pontas são adjacentes: entre eles só C é 1 1 1 0 1
constante
Outubro de 2005 Sistemas Digitais 14
Mapas de Karnaugh (4 variáveis)
 O Mapa de Karnaugh foi apresentado para 3 variáveis mas em teoria
pode ser usado com qualquer número de variáveis
 Na prática, com mais de 6 variáveis torna-se bastante difícil
existindo métodos mais adequados (que também assentam nos
Prof. João Paulo Carvalho

princípios do método agora apresentado)
 O Mapa a 4 variáveis constrói-se facilmente. A partir de um Mapa
de 3 variáveis, replica-se o quadro através de uma reflexão num
Prof. Carlos Sêrro

espelho imaginário:

00 01 11 10
0        1         3        2
00
4        5         7        6
01
12      13       15      14
11
8        9         11      10
10
Outubro de 2005 Sistemas Digitais 15
Mapas de Karnaugh (4 variáveis)
 Preenchimento e agrupamentos válidos de mintermos em mapas de 4
variáveis – Exemplos:

00 01 11 10 f = ∑ m( 0,2,3,5,6,8,10,11)
0        1         3        2
Prof. João Paulo Carvalho

00 CD 00 01 11 10 São válidos os
AB
4        5         7        6 00 1 0 1 1 agrupamentos
01 de 21 até 24
Prof. Carlos Sêrro

ACD
01 0 1 0 1
12      13       15      14 quadrados
11 0
8        9        11      10
11 0 0 0
adjacentes
10 10 1 0 1 1

BC

f = ∑ m( 0,2,3,4,6,7,10,11,14,15)
BD ABCD

f = ∑ m( 0,1,4,5,10,11,13,15)
CD 00 01 11 10
CD 00 01 11 10 AB
AB
00 1 0 1 1
00 1 1 0 0
AC Agrupamentos de 2 n
01 1 0 1 1
01 1 1 0 0
BCD
quadrados correspondem
1
11 0 1 1 0 à eliminação de n literais 11 0 0 1
ACD
10 0 0 1 1
10 0 0 1 1

AD C
ABD ABC
Outubro de 2005 Sistemas Digitais 16
Método de Karnaugh
 Exemplo: f = ∑ m(1,5,6,7,11,12,13,15)
CD CD
AB AB
00 01 11 10 00 01 11 10
 À primeira vista pareceria intuitivo
00 0 1 0 0 00 0 1 0 0
começar a simplificação pelo
Prof. João Paulo Carvalho

01 0 1 1 1 agrupamento dos quatro 1’s 01 0 1 1 1

11 1 1 1 0 centrais de modo a eliminar 11 1 1 1 0
variáveis...
Prof. Carlos Sêrro

10 0 0 1 0 10 0 0 1 0

 ...mas essa opção levaria à obtenção do termo BD, o qual é desnecessário
e não está presente na forma mínima da expressão da função. Todos os
‘1s’ que formam BD também pertencem a outros agrupamentos
indispensáveis à expressão da função:
CD
AB
f = BD + A C D + A BC + ABC + ACD 00 01 11 10
00 0 1 0 0
 Nem sempre estas situações são facilmente detectáveis.
01 0 1 1 1
Para que o método de Karnaugh seja correctamente
entendido e aplicado, torna-se necessário introduzir e 11 1 1 1 0

aplicar um conjunto de conceitos e procedimentos que 10 0 0 1 0
apresentaremos de seguida
Outubro de 2005 Sistemas Digitais 17
Implicantes

Implicante:

Para funções das mesmas variáveis, diz-se que uma função F1 implica outra
F2, quando, para todas as configurações de entrada em que a função F1 vale 1,
Prof. João Paulo Carvalho

a função F2 também vale 1.
Um termo produto diz-se um implicante de função sse essa função assumir o
Prof. Carlos Sêrro

valor ‘1’ para todos os mintermos que constituem esse termo produto
(ou seja, qualquer mintermo, ou agrupamento de mintermos é um implicante da
função)
• Exemplos:
f(A,B,C) = Σm(0,1,4,6)
BC BC 00 01 11 10
00 01 11 10
A A
0 1 3 2 0 1 3 2
ABC 1 1 0 0
0 1 1 0 0 0
4 5 7 6 4 5 7 6
1 1 0 0 1 1 1 0 0 1

ABC ABC ABC ABC+ABC = BC AB AC

Outubro de 2005 Sistemas Digitais 18
Implicantes Primos (IP)

Implicante Primo:
Um termo produto diz-se um implicante primo CD 00 01 11 10
(IP) se a remoção de um qualquer literal desse AB
00 0 1 0 0
termo produto resulta num termo produto que não
Prof. João Paulo Carvalho

ACD

é um implicante da função. Em alternativa, pode 01 0 1 1 1
ABC
dizer-se que um IP é um implicante que não 11 1 1 1 0
implica nenhum outro implicante
Prof. Carlos Sêrro

BD
10 0 0 1 0
(ou seja, um IP é um agrupamento válido de
mintermos que não pode ser alargado) ABC ACD

• Exemplos:
CD 00 01 11 10 CD 00 01 11 10 CD 00 01 11 10
AB AB AB
00 1 0 0 1 00 1 1 0 0 00 1 0 1 1
AC
ACD
01 0 1 0 1 01 1 1 0 0 01 1 0 1 1
BCD
11 0 0 1 0 11 0 1 1 0 11 0 0 1 1
ABCD ACD
10 1 0 0 1 10 0 0 1 1 10 0 0 1 1

BD ABCD ABD ABC AD C

Outubro de 2005 Sistemas Digitais 19
Implicantes Primos Essenciais (IPE)

Implicante Primo Essencial:
Um implicante primo de uma função diz-se implicante primo essencial se
contém pelo menos um mintermo que não está contido em nenhum
outro implicante primo
Prof. João Paulo Carvalho

(ou seja, um IPE é um IP que contém pelo menos um mintermo que
não pode ser associado de outra forma)
Prof. Carlos Sêrro

• Exemplos:
Implicantes Primos Implicantes Primos
CD 00 01 11 10 CD 00 01 11 10
AB AB
00 0 1 0 0 00 1 1 0 0
ACD Implicantes Implicantes
01 0 1 1 1 Primos Essenciais 01 0 1 1 0 Primos Essenciais
ABC
0 CD 00 01 11 10 1 CD 00 01 11 10
11 1 1 1 11 0 0 1
BD AB AB
10 0 0 1 0 00 0 1 0 0 10 0 0 0 1 00 1 1 0 0

ABC ACD 01 0 1 1 1 01 0 1 1 0

Quadrado ou 11 1 1 1 0 11 0 0 1 1

mintermo 10 0 0 1 0 10 0 0 0 1
Essencial
Outubro de 2005 Sistemas Digitais 20
IPs e IPEs

 IMPLICANTE: Um termo produto diz-se um
Prof. João Paulo Carvalho

implicante de uma função sse essa função assume
o valor “1” para todos os mintermos que o
constituem
Prof. Carlos Sêrro

 IMPLICANTE PRIMO: Um termo produto diz-se
um implicante primo se a remoção de um qualquer
literal desse termo produto resulta num termo
produto que não é um implicante da função
 IMPLICANTE PRIMO ESSENCIAL: Um
implicante primo de uma função diz-se implicante
primo essencial se contém pelo menos um
mintermo não contido em nenhum outro
implicante primo

Outubro de 2005 Sistemas Digitais 21