Você está na página 1de 18

UNIVERSIDADE FEDERAL RURAL DO SEMI-RIDO CURSO: CINCIA DA COMPUTAO

Aula 8 Mapas de Veitch-Karnaugh

Prof. Leonardo Augusto Casillo

Mapa de Karnaugh

Mapa de Karnaugh um mtodo alternativo para se representar uma tabela verdade. Ele prope uma soluo grfica da informao contida na tabela verdade.
Mapa de Karnaugh para quatro variveis
0 0 0 1 1 2 3 01 1 AB C 0 0 1 1 2 3 6 7 4 5 11 5 7 6 13 15 14 9 11 10 1 CD 00 AB 00 0 01 4 11 12 10 8

Mapa de Karnaugh para duas variveis

Mapa de Karnaugh para trs variveis

00

01

11

10
10

3 2

Mapa de Karnaugh

Um mapa de Karnaugh para uma funo f(a, b, c, d, ...) de r variveis contem 2r quadrados (clulas) existindo sempre uma clula para cada valor possvel da r-tupla [x1, x2,....., xr]. O valor 1 em uma das possveis posies significa a combinao para a qual a sada de 1 desejada (funo igual a 1). O valor 0 representa uma combinao na qual uma saa de 0 desejvel (funo igual a 0) e d ou x naquelas clulas que correspondem a condio de entrada dont care.
Mapa de Karnaugh para duas variveis
B A 0

AB

Mapa de Karnaugh para trs variveis


00 01 11 10

C
0

f(0,0) f(1,0) 0 2 f(0,1) f(1,1) 1 3

f(0,0,0) f(0,1,0) f(1,1,0) f(1,0,0) 0 2 6 4 f(0,0,1) f(0,1,1) f(1,1,1) f(1,0,1) 1 3 7 5

Mapa de Karnaugh

As duas leis algbricas bsicas que ns fazemos uso no mapa de Karnaugh para reduo de expresses lgicas so: XY+XY=Y X+XY=X+Y
y x 0 0 1 1 0 1 y x 0 1 0 0 1 1 1 1

0
1

Devemos construir o mapa tal que fique fcil analisar a expresso por inspeo. Note que quaisquer dois quadrados adjacentes no mapa correspondem a r-tuplas as quais diferem em apenas um literal. A r-tupla correspondente ao quadrado mais a esquerda de qualquer fila difere apenas de um literal da r-tupla mais a direita da mesma fila.(contornos na linha) Da mesma forma, o topo de qualquer coluna difere apenas de um literal do quadrado da base da mesma coluna. (contornos na coluna)

Mapa de Karnaugh

Adjacncias no Mapa de Karnaugh

AB C 0 1 00 01 11 10

000
001

010
011

110
111

100
101

Mapa de Karnaugh

Exemplos de simplificao de funes usando Mapa de Karnaugh


A B 0 1

A
0
0 0

1
1 1

B 0

0 1

1 1

F=A A constante B varia Elimina-se B

G = B' B complementado constante A varia Elimina-se A

Mapa de Karnaugh

Exemplos de simplificao de funes usando Mapa de Karnaugh

A B Cin 0 1 00 0 0 01 0 1 11 1 1 10 0 1 C

AB 00 01 11 10

0 1

0 0

0 0

1 1

1 1

f(Cin,A,B) = A B + B Cin + A Cin

F(A,B,C) = A

Mapa de Karnaugh

Procedimentos
Toda clula deve ser contada pelo menos uma vez.
Qualquer combinao deveria ser a maior possvel. Assim, uma clula no deveria ser considerada isolada se ela pode fazer parte de um grupo de duas ou mais clulas adjacentes. Todas as clulas deveriam ser referenciadas em um menor nmero de grupos possveis.

Caractersticas de mapeamento
Cada vez que ns combinamos dois minitermos eliminamos uma das variveis no termo produto. A varivel que eliminada uma que aparece na forma negada em um minitermo e na forma no negada no outro minitermo. Quando 2r minitermos so combinados, ns eliminamos r variveis As filas e colunas de um mapa K so marcados de forma que apenas uma varivel muda quando caminhamos de fila-em-fila ou de coluna-em-coluna.

Mapa de Karnaugh

Processo de reduo
Identifique e marque todas as clulas individuais que no podem ser combinadas com quaisquer outras clulas. Identifique todas as clulas que podem ser combinadas com apenas uma outra clula. Use estes pares para formar grupos duplos. Identifique todas as clulas que podem ser combinadas em grupo de 4 clulas contanto que todas as clulas no estejam j cobertas por outros grupos (preferencialmente). Repita o processo de combinao para grupos de 8 clulas contanto que todas as clulas no grupo no estejam cobertas (preferencialmente). Investigue qualquer clula ainda no contida em um grupo. Arbitrariamente forme o maior grupo possvel que pode ser formado e que inclui a maioria das clulas no cobertas.

Mapa de Karnaugh

AB C 0 1 00 1 0 01 0 0 11 0 1 10 1 1

Mapa de Karnaugh para 3 variveis


Clulas adjacentes nas extremidades da direita e esquerda da fila. Elimina-se uma varivel, a varivel A Clulas adjacentes na mesma fila Elimina-se a varivel B.

F(A,B,C) = Sm(0,4,5,7) F = B' C' + A C


AB C 0 1 00 0 1 01 1 1 11 1 0 10 0 0

F(A,B,C) = Sm(1,2,3,6)
F' = B C' + A' C

Mapa de Karnaugh

Mapa de Karnaugh para 4-variveis

AB CD

00

01

11

10

F(A,B,C,D) = Sm(0,2,3,5,6,7,8,10,11,14,15)
F = C + A' B D + B' D'

00 01
11 10

1 0
1 1

0 1
1 1

0 0
1 1

1 0
1 1

Encontrar o menor nmero de grandes subgrupos de clulas adjacentes, que cobrem 1s.

Mapa de Karnaugh

Dont Care
AB

CD 00 01 11 10

00
0 1 1 0

01
0 1 1 X

11
X X 0 0

10
0 1 0 0

F(A,B,C,D) = Sm(1,3,5,7,9) + Sd(6,12,13) O dont care pode ser 1 ou 0. O projetista deve escolher aquele valor que permita mxima reduo de sua lgica. Assim: a) Usando Minitermos (Se x=1) F = A'D + C' D' = D(A' + C') b) Usando maxitermos (Se x=0) F= (C+D)(A' + C')(C'+D) = (C C+CD+ CD+D)(A' + C)= D(A' + C) ou direto, agrupando oito vizinhos: F= D(A' + C)

AB CD 00 01 11 00 0 1 1 01 0 1 1 11 X X 0 10 0 1 0

10

Mapa de Karnaugh AB CD 00 01 11 10 00 1 0 0 1 01 0 1 1 0 11 0 1 1 0 10 1 0 0 1 AB CD

Exemplos

00 0 1 1 0

01 1 0 0 1

11 1 0 0 1

10 0 1 1 X

00 01 11 10

W=BD+BD
AB CD 00 Y 01 11 10 00 0 1 0 0 01 1 1 1 1 11 0 1 0 0 10 0 1 0 0 Z

X=BD+BD
AB CD 00 01 11 10 00 1 0 0 1 01 1 0 0 1 11 1 0 0 1 10 1 0 0 1

Y=AB+CD

Z=D

Mapa de Karnaugh AB CD 00 W 01 11 10 00 1 0 0 1 01 0 1 1 0 11 0 1 1 0 10 1 0 0 C 1 10 X AB CD 00 01 11

Exerccios

Encontrar as funes de cada Mapa-K


A 00 0 1 1 0 01 1 1 0 1 11 1 0 0 1 10 0 1 1 X

AB CD 00 Y 01 11 10

00 0 1 0 0

01 0 1 0 1

11 0 1 0 0

10 0 1 0 0 Z

AB CD 00 01 11 10

00 1 0 0 1

01 1 0 0 1

11 X 1 1 1

10 1 0 1 1

Projeto de um comparador de dois bits


simplificao em dois nveis

Implementar um comparador de dois vetores de dois bits


Diagrama de bloco
A B C D N1 F1 A B = C D =, >, <F2 A B < C D F3 A B > C D N2

Tabela verdade
A 0 B C D 0 0 0 0 1 1 0 1 1 1 0 0 0 1 1 0 1 1 0 0 0 0 1 1 0 1 1 1 0 0 0 1 1 0 1 1 F1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 F2 0 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0 F3 0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 0

Um mapa K de 4- variveis e 3 funces sadas

Projeto de um comparador de dois bits


simplificao em dois nveis

Implementao do comparador
AB 00 CD 00 01 11 10 0 1 1 1 AB 00 CD 00 01 11 10 0 0 0 0

AB 00 CD 00 01 11 10 1 0 0 0

01 0 1 0 0

11 0 0 1 0

10 0 0 0 1

01 0 0 1 1

11 0 0 0 0

10 0 0 1 0

01 1 0 0 0

11 1 1 0 1

10 1 1 0 0

K-map forF1

K-map forF2

K-map forF3

F1 = A' B' C' D' + A' B C' D + A B C D + A B' C D' = (A xnor C) (B xnor D) F2 = A' B' D + A' C + BCD

F3 = B C' D' + A C' + A B D'

Projeto de um somador de dois bits

Implementao do somador
Diagrama de bloco
A B C D N1 + N2 X Y Z

Tabela verdade
A B C D 0 0 0 0 0 1 1 0 1 1 0 1 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 0 1 1 1 1 0 0 0 1 1 0 1 1 X Y Z 0 0 0 0 0 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 0 0 1 0 0 1 1 1 0 0 1 0 1 0 1 1 1 0 0 1 0 1 1 1 0

N3

Problema com 4 variveis de entrada e 3 sadas

Projeto de um somador de dois bits


AB CD 00 01 11 10 00 0 0 0 0 01 0 0 1 0 11 0 1 1 1 10 0 0 1 1 AB CD 00 01 11 10 00 0 0 1 1 01 0 1 0 1 11 1 0 1 0 10 1 1 0 0 AB CD 00 01 11 10 00 0 1 1 0 01 1 0 0 1 11 1 0 0 1 10 0 1 1 0

K-map for

K-map for

K-map for

X =A C + B C D + A B D Z = B D' + B' D = B xor D Y = A' B' C + A B' C' + A' B C' D + A' B C D' + A B C' D' + A B C D = B' (A xor C) + A' B (C xor D) + A B (C xnor D) = B' (A xor C) + B (A xor C xor D)