Prof. Ricardo de Oliveira Duarte Sistemas Digitais DELT - UFMG aula 3 1 2 Mapas de Karnaugh Representao visual de funes booleaneas de at 6 vriveis Cada combinao das variveis da funo booleana representada em um mapa K Um mapa K de n variveis possui 2 entradas ou 2 n casas Minimizao booleana facilitada pela forma de visualizao n 3 Construo de mapas de Karnaugh Mapas K de 2 variveis 00 01 11 10 0 1 0 2 1 3 6 4 7 5 AB C 0 1 0 1 0 2 1 3 A B A B Mapas K de 3 variveis 4 Construo de mapas de Karnaugh Mapas K de 4 variveis 00 01 11 10 00 01 11 10 0 1 3 2 4 5 7 6 12 8 9 13 15 11 14 10 A B C AB CD D 5 00 01 11 10 00 01 11 10 AB CD B A D C 00 01 11 10 0 1 A B C A B Minimizao booleana usando mapas de Karnaugh F(A,B,C,D)=m(0,2,3,5,6,7,8,10,11,14,15) F(A,B,C)=m(3,5,6,7) A B C F 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 0 1 0 1 1 1 F(A,B,C,D)=C + ABD + BD F(A,B,C)=AB + AC + BC Soma de produtos = mintermos 0 0 0 0 1 1 1 1 1 0 0 1 0 1 0 0 1 1 1 1 1 1 1 1 F(A,B,C)=ABC + ABC + ABC + ABC O Objetivo da minimizao usando Mapas K gerar o menor agrupamento de 1s, grupando todos os 1s existentes no mapa. aula 3 6 Exemplo: Comparador de 2 bits Especificaes e Funcionamento do circuito entradas: 2 nmeros de 2 bits (AB), (CD) sadas: 3 variveis, indicando: se os dois nmeros so iguais (F), se o primeiro menor que o segundo (G), se o primeiro maior que o segundo (H) Tabela Verdade do circuito aula 3 7 00 01 11 10 00 01 11 10 AB CD A B D C Exemplo: Comparador de 2 bits F(A,B,C,D)=ABCD + ABCD + ABCD + ABCD G(A,B,C,D)=ABD + BCD + AC H(A,B,C,D)=AC + ABD + BCD F G H 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 00 01 11 10 00 01 11 10 C B A D AB CD 00 01 11 10 00 01 11 10 C A AB CD B D 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 8 Funes incompletas (dont care) A B C D W X Y Z 0 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 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 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 0 0 0 1 0 0 1 0 0 0 0 X X X X X X X X X X X X X X X X X X X X X X X X aula 3 9 Minimizao booleana usando mapas de Karnaugh O dont care (X) Exemplo: F(A,B,C,D)=m(1,3,5,7,9) + d(6,12,13) F(A,B,C,D)=AD + CD 00 01 11 10 00 01 11 10 0 0 1 1 0 1 1 0 1 0 0 0 0 X X X C B D A AB CD aula 3 10 Exemplo:BCD incrementado de 1 A B C D W X Y Z 0 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 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 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 0 0 0 1 0 0 1 0 0 0 0 X X X X X X X X X X X X X X X X X X X X X X X X aula 3 11 Exemplo:BCD incrementado de 1 00 01 11 10 00 01 11 10 D B C A AB CD 00 01 11 10 00 01 11 10 D B C A AB CD 00 01 11 10 00 01 11 10 D B C A AB CD 00 01 11 10 00 01 11 10 D B C A AB CD W Y X Z 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 X X X X X X X X X X X X X X X X X X X X X X X X aula 3 12 Algoritmo para minimizao usando mapas K 1 - Pegue um elemento 1 do conjunto de 1s, encontre todos os 1s e Xs adjacentes ao elemento em questo. Grupe-os de forma a manter um nmero de elementos proporcional a potncia de 2, grupando o maior nmero de 1s adjacentes possvel no mesmo grupo. 2 - Verifique se cada 1 pertence exclusivamente a um nico grupo de 1s. Caso afirmativo este grupo contribuir como um termo na expresso final. Repita este passo at que todos os grupos de 1sessenciais sejam encontrados. 3 - Se existirem ainda 1s no cobertos pelos grupos de 1sessenciais, selecione um nmero mnimo de grupos de 1s que cubra todos os 1s. aula 3 13 00 01 11 10 00 01 11 10 D B C A AB CD X X X 0 0 0 0 0 0 1 1 1 1 1 1 Algoritmo para minimizao usando mapas K Aplicao do algoritmo F(A,B,C,D)=m(4,5,6,8,9,10,13) + d(0,7,15) 00 01 11 10 00 01 11 10 D B C A AB CD X X X 0 0 0 0 0 0 1 1 1 1 1 1 1 1 aula 3 14 00 01 11 10 00 01 11 10 D B C A AB CD X X X 0 0 0 0 0 0 1 1 1 1 1 1 1 Algoritmo para minimizao usando mapas K Aplicao do algoritmo (continuao) D B 00 01 11 10 00 01 11 10 C A AB CD X X X 0 0 0 0 0 0 1 1 1 1 1 1 1 aula 3 15 Algoritmo para minimizao usando mapas K Aplicao do algoritmo: (continuao) F(A,B,C,D)=AB + ABD + ACD 00 01 11 10 00 01 11 10 D B C A AB CD X X 0 0 0 0 0 0 1 1 1 1 X 1 1 1 A AB 00 01 11 10 00 01 11 10 D B C CD X X X 0 0 0 0 0 0 1 1 1 1 1 1 1 aula 3 16 Mapas K de 5 vriaveis F(A,B,C,D)=m(2,5,7,8,10,13,15,17,19,21,23,24,29,31) BC A=1 A=0 A=1 00 01 11 10 00 01 11 10 BC DE 00 01 11 10 00 01 11 10 BC DE 00 01 11 10 00 01 11 10 BC DE A=0 0 1 2 3 4 5 7 6 12 13 15 14 8 9 11 10 00 01 11 10 00 01 11 10 DE 16 17 19 18 20 21 23 22 28 29 31 30 24 25 27 26 1 1 1 1 1 1 1 1 1 1 1 1 1 1 aula 3 17 Mapas K de 6 vriaveis CD EF 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10 CD EF CD EF CD EF AB= 00 AB = 01 AB = 11 AB = 10 0 1 3 2 4 5 7 6 12 13 15 14 8 9 11 10 16 17 19 18 20 21 23 22 28 29 31 30 24 25 27 26 48 49 51 50 52 53 55 54 60 61 63 62 56 57 59 58 32 33 35 34 36 37 39 38 44 45 47 46 40 41 43 42 CD EF 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10 CD EF CD EF CD EF AB= 00 AB = 01 AB = 11 AB = 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1