Sistemas Digitais e Microprocessados

Minimização Visual com Mapa de Karnaugh

Professor: Gabriel Soares Baptista

Introdução

Hoje veremos como simplificar uma função booleana olhando a estrutura do problema no Mapa de Karnaugh.

Ele não muda a função.

Ele apenas reorganiza a tabela-verdade para tornar visíveis os agrupamentos que eliminam variáveis.

Ideia central

Células vizinhas diferem por apenas uma variável. Isso permite agrupar termos equivalentes e cancelar o que muda dentro do grupo.

Da Tabela ao Mapa

Considere a tabela-verdade:

$$ \begin{array}{c|c|c||c} A & B & C & F \\ \hline 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 1 \\ 0 & 1 & 0 & 1 \\ 0 & 1 & 1 & 0 \\ 1 & 0 & 0 & 0 \\ 1 & 0 & 1 & 1 \\ 1 & 1 & 0 & 1 \\ 1 & 1 & 1 & 0 \end{array} $$

Da Tabela ao Mapa

Da mesma tabela, obtemos duas leituras equivalentes:

SOP

$$ F = \Sigma m(1,2,5,6) $$

$$ F = \bar{A}\bar{B}C + \bar{A}B\bar{C} + A\bar{B}C + AB\bar{C} $$

POS

$$ F = \Pi M(0,3,4,7) $$

$$ F = (A + B + C)(A + B + \bar{C})(A + \bar{B} + C)(A + \bar{B} + \bar{C}) $$

O mapa apenas reorganiza esses mesmos casos em uma grade com adjacência lógica.

Como Ler o Mapa

Para 3 variáveis, uma disposição comum é usar $A$ nas linhas e $BC$ nas colunas em ordem Gray $00, 01, 11, 10$.

BCA000110110100000000
Cuidado

Não existe agrupamento diagonal. Diagonal muda duas variáveis ao mesmo tempo.

Regras de Agrupamento

  1. agrupe apenas em potências de 2
  2. prefira o maior grupo possível
  3. o mapa dá a volta nas bordas
  4. em SOP, leia grupos de $1$
  5. em POS, leia grupos de $0$
  6. a variável que muda desaparece
  7. sobreposição pode ser útil

Exemplo 1: Bloco Central em SOP

Questão

Considere:

$$ F = \Sigma m(1,3,5,7) $$

BCA000110110100110011
O grupo tem 4 células. Vamos olhar o que fica fixo.
  • $A$ muda entre as linhas, então sai.
  • $B$ muda entre as colunas, então sai.
  • $C$ permanece em $1$, então fica.

Logo,

$$ F = C $$

Exemplo 1: Circuito Original e Reduzido

Forma canônica original

$$ F = \bar{A}\bar{B}C + \bar{A}BC + A\bar{B}C + ABC $$

Forma reduzida

2026-04-06T18:07:56.149350 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ F C

Exemplo 2: Agrupamento pelas Quinas

Questão

Considere:

$$ H = \Sigma m(0,2,8,10) $$

CDAB00011011000110111010000010100000
As quatro quinas parecem separadas, mas pertencem ao mesmo grupo porque o mapa se conecta pelas bordas.
  • $B$ permanece em $0$
  • $D$ permanece em $0$
  • $A$ varia
  • $C$ varia

Então,

$$ H = \bar{B}\bar{D} $$

Exemplo 2: Leitura no Circuito

2026-04-06T18:07:56.380425 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ H B D
Leitura correta

O mapa não é uma grade plana sem continuidade. Bordas opostas são vizinhas logicamente.

Exemplo 3: Cobertura sem Compartilhamento

Questão

Considere:

$$ G = \Sigma m(0,1,2,3,4,5,6,7,8,9,10,11) $$

CDAB00011011000110111110111011101110
Uma cobertura correta é usar um grupo de 8 e outro de 4.

Isso produz:

$$ G_{sem} = \bar{B} + \bar{A}B $$

Exemplo 3: Cobertura com Compartilhamento

CDAB00011011000110111110111011101110
Com sobreposição, podemos formar dois grupos de 8.
  • primeiro grupo: $G_1 = \bar{A}$
  • segundo grupo: $G_2 = \bar{B}$

Logo,

$$ G = \bar{A} + \bar{B} $$

Exemplo 3: Circuitos Comparados

Sem compartilhamento

2026-04-06T18:07:56.443848 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ G B B A

Com compartilhamento

2026-04-06T18:07:56.463844 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ G A B

POS: Lendo os Zeros

Na POS, a mecânica é a mesma, mas agora agrupamos os $0$s.

Regra de leitura:

  • variável fixa em $0$ entra direta
  • variável fixa em $1$ entra negada
  • variável que muda desaparece

Exemplo 4: POS a Partir dos Zeros

Questão

Considere:

$$ F = \Pi M(1,3,5,7) $$

BCA000110110111001100
Nesse grupo, $C$ permanece em $1$.
Como estamos em POS, variável fixa em $1$ entra negada.

Portanto,

$$ F = \bar{C} $$

Exemplo 4: POS Canônica e Forma Reduzida

Forma canônica POS

$$ F = (A + B + \bar{C})(A + \bar{B} + \bar{C})(\bar{A} + B + \bar{C})(\bar{A} + \bar{B} + \bar{C}) $$

Forma reduzida

2026-04-06T18:07:56.475262 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ F C

Exemplo 5: POS com Três Grupos

Questão

Considere:

$$ J = \Pi M(0,1,4,5,6,7,10,11,13,14,15) $$

CDAB00011011000110110011001011001000
Os zeros são cobertos por três grupos.
  • $J_1 = A + C$
  • $J_2 = \bar{B} + \bar{D}$
  • $J_3 = \bar{A} + \bar{C}$

Logo,

$$ J = (A + C)(\bar{B} + \bar{D})(\bar{A} + \bar{C}) $$

Exemplo 5: Circuito Reduzido

2026-04-06T18:07:56.520866 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ J C A B D A C

Don't Care

Estados don't care representam entradas que não serão usadas na prática.

Eles podem ser tratados como $0$ ou $1$ se isso ajudar a ampliar os grupos.

  • podem participar de um grupo
  • não precisam ser cobertos
  • só devem ser usados se simplificarem a expressão

Exemplo 6: SOP sem Aproveitar os Don't Cares

Questão

Considere:

$$ Q = \Sigma m(8,9) + d(10,11,12,13,14,15) $$

CDAB0001101100011011001x001x00xx00xx
Ignorando os don't cares, só conseguimos formar um grupo de 2.
  • $A$ permanece em $1$
  • $B$ permanece em $0$
  • $C$ permanece em $0$
  • $D$ varia

Então,

$$ Q_{sem} = A\bar{B}\bar{C} $$

Exemplo 6: SOP com Don't Cares

CDAB0001101100011011001x001x00xx00xx
Usando os don't cares, o grupo cresce de 2 para 8 células.
Agora só $A$ permanece fixo.

Logo,

$$ Q = A $$

Desafio Final: Quatro Grupos em SOP

Questão

Considere:

$$ T = \Sigma m(0,1,3,4,5,6,9,10,11,12,14,15) $$

CDAB00011011000110111101111001111011
Aqui a cobertura mínima exige quatro grupos.
  • $T_1 = \bar{A}\bar{C}$
  • $T_2 = \bar{B}D$
  • $T_3 = AC$
  • $T_4 = B\bar{D}$

Portanto,

$$ T = \bar{A}\bar{C} + \bar{B}D + AC + B\bar{D} $$

Desafio Final: Circuitos Comparados

Circuito original

2026-04-06T18:07:56.697233 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ T A B C D D A B C C D A B B A C D B D A C B C A D A D B C A C B D A C D B A B C D A B C D A B C D

Circuito reduzido

2026-04-06T18:07:56.765061 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ T A C D B A C B D

Fechamento

O Mapa de Karnaugh não substitui a tabela-verdade.

Ele a reorganiza para que a simplificação fique visível.

Se você lembrar destas três perguntas, a leitura costuma ficar segura:

  • estamos lendo 1s ou 0s?
  • quais variáveis permanecem fixas?
  • quais variáveis mudam e, por isso, desaparecem?

Próximos passos

Na próxima aula, 12 - digital arithmetic i, vamos projetar somadores e subtratores a partir de tabelas-verdade e expressões minimizadas.