Sistemas Digitais Módulo 6 - UFU · 6. Agrupe os pares necessários para incluir eventuais 1’s...

Post on 17-Jul-2020

1 views 0 download

Transcript of Sistemas Digitais Módulo 6 - UFU · 6. Agrupe os pares necessários para incluir eventuais 1’s...

Sistemas Digitais Módulo 6

Mapas de Karnaugh

Graduação em Sistemas de Informação

Prof. Dr. Daniel A. Furtado

Universidade Federal de Uberlândia Faculdade de Computação

Mapa de Karnaugh

Método gráfico para simplificar expressão lógicas;

Teoricamente, o método pode ser utilizado para simplificar expressões com qualquer número de variáveis de entrada;

Na prática, o método é comumente utilizado para simplificar expressões de até 6 variáveis;

Prof. Dr. Daniel A. Furtado 2

Mapa de Karnaugh

Assim como uma tabela verdade, o método é uma forma de relacionar todos os possíveis valores que as variáveis de entrada podem assumir e os respectivos resultados da expressão lógica;

Cada combinação de valores das variáveis é apresentada como uma célula (ou quadrado) dentro de um mapa de possibilidades, onde todas as linhas e colunas recebem uma subexpressão como rótulo;

Considere a expressão lógica x = A B + A B, representada pela tabela verdade a seguir:

1 0

0 1

A B X

0 0 1

0 1 0

1 0 0

1 1 1

A B

AB

A

A

B B

Mapa correspondente para duas variáveis Tabela verdade

Prof. Dr. Daniel A. Furtado 3

Mapa de Karnaugh

Cada linha na tabela-verdade corresponde a uma célula no mapa;

O valor 1 em uma célula do mapa indica que o produto das variáveis nas respectivas linha e coluna resulta em 1 (𝑥 = 1);

O valor 0 em uma célula indica que a respectiva combinação de variáveis resulta em 0 (𝑥 = 0).

1 0

0 1

A B X

0 0 1

0 1 0

1 0 0

1 1 1

A B

AB

A

A

B B

Mapa para duas variáveis Tabela verdade

Prof. Dr. Daniel A. Furtado 4

Mapas para 2, 3 e 4 Variáveis

Prof. Dr. Daniel A. Furtado 5

A

A

B B

Mapa para duas variáveis

A B

A B

AB

AB

C C

Mapa para três variáveis A B

A B

AB

AB

C D C D CD CD

Mapa para quatro variáveis

Mapa com 3 Variáveis As linhas do mapa são nomeadas de tal forma que os nomes adjacentes

diferem em apenas uma variável; a mesma regra se aplica para nomeação das colunas;

Consequentemente, duas células adjacentes quaisquer também terão expressões que diferem em apenas uma variável;

1 0

0 0

0 0

1 1

A B

A B

AB

AB

C C A B C 𝒙

0 0 0 1

0 0 1 0

0 1 0 0

0 1 1 0

1 0 0 1

1 0 1 1

1 1 0 0

1 1 1 0

A B C

𝐀𝐁 𝐂

AB C

𝐀𝐁 𝐂 AB C

Prof. Dr. Daniel A. Furtado 6

Mapa com 3 Variáveis Duas células conectadas horizontal ou verticalmente são consideradas

células adjacentes;

Entretanto, cada célula da linha superior também é considerada adjacente à célula correspondente na linha inferior, pois as expressões se diferem em apenas uma variável (pode-se imaginar que a parte superior foi “dobrada” de modo a tocar a parte inferior);

A mesma ideia se aplica para as células da primeira e última coluna;

1 0

0 0

0 0

1 1

A B

A B

AB

AB

C C

Células adjacentes

Células adjacentes

Prof. Dr. Daniel A. Furtado 7

Mapa com 4 Variáveis A B C D 𝒙

0 0 0 0 0

0 0 0 1 0

0 0 1 0 1

0 0 1 1 0

0 1 0 0 1

0 1 0 1 0

0 1 1 0 1

0 1 1 1 1

1 0 0 0 0

1 0 0 1 0

1 0 1 0 1

1 0 1 1 0

1 1 0 0 0

1 1 0 1 0

1 1 1 0 0

1 1 1 1 0

A B CD

0 0 0 1

1 0 1 1

0 0 0 0

0 0 0 1

A B

A B

AB

AB

C D C D CD CD

A BC D

A BCD

A BCD

AB CD

𝑥 = A B CD + A BC D + A BCD + A BCD + AB CD

OR dos quadrados que contêm 1

Células adjacentes

Prof. Dr. Daniel A. Furtado 8

Agrupamento e Simplificação – Pares

A expressão de saída pode ser simplificada combinando adequadamente os grupos de 1’s adjacentes;

Qualquer par de 1’s adjacentes pode ser agrupado para eliminar a variável que aparece nas formas complementada e não complementada;

0 0

1 0

1 0

0 0

A B

A B

AB

AB

C C

x = A BC + ABC = BC

0 0

1 1

0 0

0 0

A B

A B

AB

AB

C C

x = A BC + A BC = A B

1 0

0 0

0 0

1 0

A B

A B

AB

AB

C C

x = A B C + AB C = B C

Prof. Dr. Daniel A. Furtado 9

Agrupamento e Simplificação – Pares

0 0 1 1

0 0 0 0

0 0 0 0

1 0 0 1

A B

A B

AB

AB

C D C D CD CD

A B C

AB D

x = A B CD + A B C + AB C D + AB CD

Expressão original

Os termos simplificados resultantes de cada agrupamento devem ser conectados por operações OR para formação da expressão simplificada final.

x = A B C + AB D

Expressão simplificada

Prof. Dr. Daniel A. Furtado 10

Agrupamento e Simplificação – Quartetos

Um grupo de quatro 1’s adjacentes é denominado quarteto;

Quando um quarteto é agrupado, duas variáveis são eliminadas, pois elas aparecem nas formas complementada e não complementada;

• Sobrará apenas as variáveis que não alteram a forma considerando todas as células 1’s do quarteto;

0 1

0 1

0 1

0 1

A B

A B

AB

AB

C C

x = C

0 0 0 0

0 0 0 0

1 1 1 1

0 0 0 0

A B

A B

AB

AB

C D C D CD CD

x = AB

0 0 0 0

0 1 1 0

0 1 1 0

0 0 0 0

A B

A B

AB

AB

C D C D CD CD

x = BD

Prof. Dr. Daniel A. Furtado 11

Agrupamento e Simplificação – Quartetos

0 0 0 0

0 0 0 0

1 0 0 1

1 0 0 1

A B

A B

AB

AB

C D C D CD CD

x = AD

1 0 0 1

0 0 0 0

0 0 0 0

1 0 0 1

A B

A B

AB

AB

C D C D CD CD

x = B D

Prof. Dr. Daniel A. Furtado 12

Agrupamento e Simplificação – Octetos

Um grupo de oito 1’s adjacentes é denominado octeto;

Quando um octeto é agrupado, três variáveis são eliminadas, pois elas aparecem nas formas complementada e não complementada;

• Sobrará apenas as variáveis que não alteram a forma considerando todas as células 1’s do octeto;

0 0 0 0

1 1 1 1

1 1 1 1

0 0 0 0

A B

A B

AB

AB

C D C D CD CD

x = B

1 1 0 0

1 1 0 0

1 1 0 0

1 1 0 0

A B

A B

AB

AB

C D C D CD CD

x = C

Prof. Dr. Daniel A. Furtado 13

Agrupamento e Simplificação – Octetos

1 1 1 1

0 0 0 0

0 0 0 0

1 1 1 1

A B

A B

AB

AB

C D C D CD CD

x = B

1 0 0 1

1 0 0 1

1 0 0 1

1 0 0 1

A B

A B

AB

AB

C D C D CD CD

x = D

Prof. Dr. Daniel A. Furtado 14

Procedimento Completo de Simplificação

1. Construa o mapa a partir da tabela verdade ou da expressão lógica a ser simplificada;

2. Circule os 1’s isolados (aqueles que não são adjacentes a nenhum outro 1);

3. Procure os 1’s que são adjacentes a somente um outro 1; agrupe todos os pares;

4. Busque os possíveis octetos que incluam 1’s ainda não agrupados (mesmo se uma parte dos 1’s já tiver sido agrupada anteriormente);

5. Busque os possíveis quartetos que incluam 1’s ainda não agrupados (mesmo se uma parte dos 1’s já tiver sido agrupada anteriormente);

6. Agrupe os pares necessários para incluir eventuais 1’s que ainda não tenham sido agrupados;

7. Conecte os termos simplificados de cada grupo por operações OR para formação da expressão simplificada final.

OBS: nos passos 5 e 6, certifique-se de buscar o menor número possível de agrupamentos;

Prof. Dr. Daniel A. Furtado 15

Procedimento de Simplificação – Exemplo 1

Simplificar: x = A B CD + A BC D + A BCD + ABC D + ABCD + AB CD

0 0 0 1

0 1 1 0

0 1 1 0

0 0 1 0

A B

A B

AB

AB

C D C D CD CD

x = A B CD + ACD + BD

Prof. Dr. Daniel A. Furtado 16

Procedimento de Simplificação – Exemplo 2

0 0 1 0

1 1 1 1

1 1 0 0

0 0 0 0

A B

A B

AB

AB

C D C D CD CD

x = A B + BC + A CD

Prof. Dr. Daniel A. Furtado 17

Procedimento de Simplificação – Exemplo 3

0 1 0 0

0 1 1 1

1 1 1 0

0 0 1 0

A B

A B

AB

AB

C D C D CD CD

x = ABC + A C D + A BC + ACD

Prof. Dr. Daniel A. Furtado 18

Procedimento de Simplificação – Exemplo 4

0 1 0 0

0 1 1 1

0 0 0 1

1 1 0 1

A B

A B

AB

AB

C D C D CD CD

x = A C D + A BC + AB C + ACD

0 1 0 0

0 1 1 1

0 0 0 1

1 1 0 1

A B

A B

AB

AB

C D C D CD CD

x = A BD + BCD + B C D + AB D

Prof. Dr. Daniel A. Furtado 19

Preenchendo o mapa a partir de uma expressão

Um mapa de Karnaugh pode ser preenchido a partir de uma expressão booleana por meio dos passos a seguir:

1. Converta a expressão para a forma soma-de-produtos (caso ela ainda não esteja nesse formato);

2. Para cada mintermo da expressão, coloque um 1 em cada célula do mapa cuja denominação inclua o mintermo;

3. Coloque 0’s nas células restantes;

Prof. Dr. Daniel A. Furtado 20

Preenchendo o mapa a partir de uma expressão

Exemplo 1. Simplificar a expressão y = C A B D + D + AB C + D

1. Passando para a forma soma-de-produtos, obtemos:

y = C A B D + C D + AB C + D

2. Preenchendo o mapa:

A B

A B

AB

AB

C D C D CD CD

1 0

0

0

1

1 1

1 1

1

1

1

1

1 1 1

Prof. Dr. Daniel A. Furtado 21

Preenchendo o mapa a partir de uma expressão

Exemplo 1 (cont.). Simplificar y = C A B D + D + AB C + D

3. Executar os passos de simplificação utilizando o mapa;

A B

A B

AB

AB

C D C D CD CD

1 0

0

0

1

1 1

1 1

1

1

1

1

1 1 1

𝐲 = 𝐂 + 𝐃 + 𝐀𝐁 Expressão simplificada

Prof. Dr. Daniel A. Furtado 22

Exercício 1

Simplificar utilizando mapas de Karnaugh

• z = AB(C D) + A BD + B C D + A BCD

Exercício 1 – Solução

Simplificar utilizando mapas de Karnaugh

• z = AB(C D) + A BD + B C D + A BCD

Passo 1: colocar na forma soma-de-produtos:

= AB C + D + A BD + B C D + A BCD [DeMorgan]

= ABC + ABD + A BD + B C D + A BCD [Distribui]

Passo 2: preencher o mapa a partir da expressão:

A B

A B

AB

AB

C D C D CD CD

1

0 0

0

0

1

1

1 0

1

0

1 0

0

1

1 z = B C D + A BD + AC D + BC

Exercício 2

Simplificar utilizando mapas de Karnaugh

• z = AC + AB D + A + A C(B + C)

Exercício 2 – Solução

Simplificar utilizando mapas de Karnaugh

• z = AC + AB D + A + A C(B + C)

Passo 1: colocar na forma soma-de-produtos:

= A + C + ABD + ABA + (A + C )B C [DeMorgan]

= A + C + ABD + ABA + AB C + B C C [Distribui]

Passo 2: preencher o mapa a partir da expressão:

A B

A B

AB

AB

C D C D CD CD

1

0 0

1

1

1

1

1 1

1

1

1 1

1

1

1

z = A + C + B

Exercício 3

Determine a expressão mínima para o mapa a seguir:

Condição de Irrelevância (Don’t Care)

Em algumas situações, o valor de saída de um circuito lógico não é definido para algumas combinações dos valores de entrada;

Nesses casos, pode-se dizer que o nível lógico da saída é irrelevante, ou seja, não importa se estará em nível alto ou em nível baixo (don’t care);

Utiliza-se comumente um X em tais saídas para especificar essa condição de irrelevância;

O projetista do circuito é livre para fazer a saída ser 0 ou 1, conforme o que for mais conveniente;

Prof. Dr. Daniel A. Furtado 28

Condição de Irrelevância – Exemplo 1

A tabela verdade a seguir indica que a saída z é irrelevante para as entradas 𝐴, 𝐵, 𝐶 = 1, 0, 0 e 𝐴, 𝐵, 𝐶 = 0, 1, 1

Essas condições são utilizadas no mapa de Karnaugh para obtenção de uma expressão mais simples.

0 0

0 X

1 1

X 1

A B

A B

AB

AB

C C

A B C 𝒛

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 X

1 0 0 X

1 0 1 1

1 1 0 1

1 1 1 1

Irrelevante (don’t care)

0 0

0 0

1 1

1 1

A B

A B

AB

AB

C C

𝑧 = 𝐴

Prof. Dr. Daniel A. Furtado 29

Condição de Irrelevância – Exemplo 2

Projetar um circuito lógico para controlar a porta de um elevador de um prédio de três andares;

O circuito deve considerar quatro sinais de entrada: • M – Indica se o elevador está em movimento (1) ou não (0);

• F1, F2, F3 – Um valor ALTO indica que o elevador está posicionado no respectivo andar;

• Exemplo: 𝐹1 = 0, 𝐹2 = 1 e 𝐹3 = 0 indica que o elevador está parado ou passando pelo segundo andar;

• OBS 1: F1, F2 e F3 todos iguais a 0 indica que o elevador não está adequadamente alinhado com nenhum andar;

• OBS 2: Duas ou mais entradas F nunca estarão simultaneamente em nível ALTO.

A saída do circuito deve ser um sinal 𝑧 indicando que a porta deve estar aberta (z=1) ou fechada (z=0);

Circuito do Elevador

M F1 F2 F3

z (abrir)

Prof. Dr. Daniel A. Furtado 30

Condição de Irrelevância – Exemplo 2

M F1 F2 F3 𝐳

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

1

1

1

0

0

0

0

X

X

X

X

X

X

X

X

0 1 X 1

1 X X X

0 X X X

0 0 X 0

M F1

M F1

MF1

MF1

F2F3 F2F3 F2F3 F2F3

z = M F1 + M F2 + M F3

Expressão simplificada = M (F1 + F2 + F3)

Prof. Dr. Daniel A. Furtado 31

Representação Alternativa

Prof. Dr. Daniel A. Furtado 32

Exercício 1

Prof. Daniel A. Furtado

1 1 1 1

1 1 0 0

0 0 0 1

0 0 1 1

A B

A B

AB

AB

C D C D CD CD

x = A C + B C + ACD

1 1 1 1

1 0 1 1

0 1 X X

1 X 1 X

A B

A B

AB

AB

C D C D CD CD

Encontrar a expressão simplificada a partir dos mapas:

x = B + C + AD + A D

Simplificação no Logisim

1. Abra o programa e acesse janela Análise Combinacional

2. Definição das entradas. Clique na aba Entrada e adicione as variáveis de entrada do circuito (digite o nome da variável no campo inferior e clique no botão Acrescentar);

3. Definição da saída. Clique na aba Saída e adicione o nome da variável de saída do circuito;

4. Definição da expressão. Clique na aba Expressão, digite a expressão lógica e clique no botão Entrar;

• Dicas: utilize o carácter ~ antes do nome da variável para indicar negação; utilize um espaço entre os nomes das variáveis;

5. Clique em Construir circuito e forneça um nome;

Prof. Dr. Daniel A. Furtado 34

Simplificação no Logisim

Prof. Dr. Daniel A. Furtado 35

Simplificação no Logisim

Prof. Dr. Daniel A. Furtado 36

Simplificação no Logisim

Prof. Dr. Daniel A. Furtado 37

Simplificação no Logisim

Prof. Dr. Daniel A. Furtado 38

Logisim com Saída X (don’t care)

1. Abra a janela de análise combinacional

• Menu Janela Análise Combinacional

2. Adicione as variáveis de entrada na ordem em que aparecem na tabela verdade;

3. Adicione a variável de saída;

4. Adicione a expressão lógica e clique em entrar;

5. Vá até a tabela verdade e clique na saída cujo valor não importa (don’t care) até aparecer um X;

6. Veja a expressão minimizada;

Prof. Daniel A. Furtado

Referências e Recomendações

TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Sistemas Digitais: princípios e aplicações. 11.ed. São Paulo: Pearson Prentice Hall, 2011.

• Leitura recomendada: páginas 112-121

Prof. Dr. Daniel A. Furtado 40