Dado um circuito que possua 4 entradas binárias ( \mathrm{A}, \mathrm{B}, \mathrm{C} e D ) e uma única saída que assumirá o valor 0 quando o dado de entrada for múltiplo de 3 , e o valor 1 quando o dado de entrada não for múltiplo de 3 . Implemente a função mínima para este circuito. (Apresente a Tabela Verdade, o Mapa de Karnaugh, a Expressão Mínima e o Circuito.)

Passo 1

O que o enunciado pede e o que foi dado (vou deixar tudo bem claro para não nos perder):
  • O circuito tem quatro entradas binárias (A,B,C,D) e uma saída F.
  • Convenção de bit-significado (vou usar a mais comum): \,A é o bit mais significativo (MSB) e \,D é o bit menos significativo (LSB). Assim o número decimal representado pela palavra (A,B,C,D) é \,N = 8A + 4B + 2C + D.
  • A condição pedida: a saída assume 0 quando o número de entrada for múltiplo de 3, e assume 1 quando o número NÃO for múltiplo de 3.
  • O que preciso devolver: (1) a tabela verdade completa; (2) o mapa de Karnaugh; (3) a expressão mínima booleana para F; (4) o circuito (descrição em portas lógicas).
Observação: não vou assumir nada além do que escrevi — tudo está explícito e agora partimos para construir a tabela verdade e minimizar.

Passo 2

Tabela verdade: enumero todas as combinações de (A,B,C,D) (decimal \,0 a \,15), e indico F segundo a regra (múltiplos de 3 -> F=0; caso contrário F=1).
\begin{array}{c|c|c} \text{Decimal }N & (A,B,C,D) & F\\\ \hline 0 & (0,0,0,0) & 0\\\\ 1 & (0,0,0,1) & 1\\\\ 2 & (0,0,1,0) & 1\\\\ 3 & (0,0,1,1) & 0\\\\ 4 & (0,1,0,0) & 1\\\\ 5 & (0,1,0,1) & 1\\\\ 6 & (0,1,1,0) & 0\\\\ 7 & (0,1,1,1) & 1\\\\ 8 & (1,0,0,0) & 1\\\\ 9 & (1,0,0,1) & 0\\\\ 10 & (1,0,1,0) & 1\\\\ 11 & (1,0,1,1) & 1\\\\ 12 & (1,1,0,0) & 0\\\\ 13 & (1,1,0,1) & 1\\\\ 14 & (1,1,1,0) & 1\\\\ 15 & (1,1,1,1) & 0\\\ \end{array}
Resumo em termos de minterms: F=1 para N\in\{1,2,4,5,7,8,10,11,13,14\}.
Em notação de soma de minterms: F=\sum m(1,2,4,5,7,8,10,11,13,14).

Passo 3

Mapa de Karnaugh 4 variáveis (linhas: AB em ordem Gray 00,01,11,10; colunas: CD em ordem Gray 00,01,11,10). Preenchi com os valores de F que obtivemos na tabela:
\begin{array}{c|cccc} AB\backslash CD & 00 & 01 & 11 & 10\\\ \hline 00 & 0 & 1 & 0 & 1\\\\ 01 & 1 & 1 & 1 & 0\\\\ 11 & 0 & 1 & 0 & 1\\\\ 10 & 1 & 0 & 1 & 1\\\ \end{array}
Agora vamos usar o K-map para agrupar 1’s em potências de dois (2,4,8…). A ideia é achar implicantes (grupos) que cubram todos os 1’s com o menor número de termos/literais.

Passo 4

Identificação dos agrupamentos e implicantes (vou ir célula a célula e explicar por que cada agrupamento aparece):
  • Observe os 1’s isolados e as adjacências em pares (considerando também as adjacências por “wrap” nas bordas do mapa). Não há blocos de 4 que cubram muitos 1’s sem incluir zeros, então os implicantes máximos possíveis aqui são de tamanho 2 (pares adjacentes).
  • Combine cada par adjacente de 1’s que difere em apenas uma variável (isso gera um produto com 3 literais). Fazendo isso cuidadosamente obtemos os seguintes implicantes (cada implicante está escrito no formato usual: literal sem barra = variável em 1; \bar{\cdot} = negação):
    1. Cobre os minterms 1 e 5: \bar{A}\,\bar{C}\,D.
    2. Cobre os minterms 2 e 10: \bar{B}\,C\,\bar{D}.
    3. Cobre os minterms 4 e 5: \bar{A}\,B\,\bar{C}.
    4. Cobre os minterms 5 e 7: \bar{A}\,B\,D.
    5. Cobre os minterms 10 e 11: A\,\bar{B}\,C.
    6. Cobre os minterms 10 e 14: A\,C\,\bar{D}.
    7. Cobre os minterms 8 e 10: A\,\bar{B}\,\bar{D}.
    8. Cobre os minterms 5 e 13: B\,\bar{C}\,D.
  • Cada um desses termos é um implicante (produto de 3 literais) que cobre exatamente os dois minterms indicados. Verifique: todo 1 do mapa aparece em pelo menos um desses implicantes.
Explicação rápida de como ler um exemplo: o implicante \bar{A}\bar{C}D vem da combinação de (A,B,C,D)=(0,0,0,1) e (0,1,0,1) — aqui somente B difere, então B some do termo e restam A=0\Rightarrow\bar A, C=0\Rightarrow\bar C, D=1\Rightarrow D.

Passo 5

Identificação dos implicantes essenciais e cobertura mínima:
  • Um implicante é essencial se cobre algum minterm que nenhum outro implicante cobre.
  • Analisando cobertura de cada minterm:
    • 1 só é coberto por \bar{A}\bar{C}D → este implicante é essencial.
    • 2 só é coberto por \bar{B}C\bar{D} → essencial.
    • 4 só é coberto por \bar{A}B\bar{C} → essencial.
    • 7 só é coberto por \bar{A}B D → essencial.
    • 8 só é coberto por A\bar{B}\bar{D} → essencial.
    • 11 só é coberto por A\bar{B}C → essencial.
    • 13 só é coberto por B\bar{C}D → essencial.
    • 14 só é coberto por A C\bar{D} → essencial.
  • Depois de incluir todos esses implicantes essenciais, os minterms restantes 5 e 10 já ficam cobertos (porque 5 é coberto por vários implicantes essenciais já incluídos e 10 também está coberto por implicantes essenciais já incluídos). Logo, a cobertura mínima (SOP mínima por implicantes essenciais) contém exatamente os oito termos encontrados.
Conclusão desta etapa: os oito implicantes listados são todos essenciais (cada um é necessário para cobrir um minterm que nenhum outro cobre), portanto a expressão mínima na forma SOMA-DE-PRODUTOS tem oito termos de três literais cada.

Passo 6

Expressão mínima (forma SOMA de PRODUTOS) — escrevo a soma dos implicantes essenciais que cobrimos:
F = \bar{A}\,\bar{C}\,D \;+\; \bar{B}\,C\,\bar{D} \;+\; \bar{A}\,B\,\bar{C} \;+\; \bar{A}\,B\,D \;+\; A\,\bar{B}\,C \;+\; A\,C\,\bar{D} \;+\; A\,\bar{B}\,\bar{D} \;+\; B\,\bar{C}\,D.
Observação sobre forma alternativa (fatorada/implementação): cada termo tem 3 literais. Essa é a forma mínima em SOP segundo o K-map (cada 1 exigia um par único). Se preferir implementar com menos portas físicas, é possível fatorar alguns termos e reutilizar sinais intermediários (por exemplo \bar{A}B aparece em dois termos, A\bar{B} em outros etc.), mas a soma acima é a SOMA-DE-PRODUTOS mínima obtida pelo K-map.

Passo 7

Implementação em portas lógicas (descrição do circuito):
Implementação direta (mais direta de entender; cada produto é um AND de 3 entradas, depois um OR final):
  1. Gere as inversões necessárias: \bar{A},\bar{B},\bar{C},\bar{D} (quatro inversores).
  2. Faça oito portas AND de 3 entradas, uma para cada produto:
    • AND1 = \bar{A}\land\bar{C}\land D
    • AND2 = \bar{B}\land C\land\bar{D}
    • AND3 = \bar{A}\land B\land\bar{C}
    • AND4 = \bar{A}\land B\land D
    • AND5 = A\land\bar{B}\land C
    • AND6 = A\land C\land\bar{D}
    • AND7 = A\land\bar{B}\land\bar{D}
    • AND8 = B\land\bar{C}\land D
  3. Ligue todas as oito saídas AND em uma única porta OR de 8 entradas (ou em ORs menores em cascata) para obter F: F = \text{OR}(\text{AND1},\text{AND2},\ldots,\text{AND8}).
Implementação otimizada (reduzindo número de portas físicas): pode-se agrupar termos que compartilham literais e criar sinais intermediários. Exemplos de factorização possíveis (só para orientar a implementação prática):
  • Os termos \bar{A}B\bar{C} e \bar{A}BD podem compartilhar o bloco comum \bar{A}B:
    \bar{A}B(\bar{C} + D) — implementar \bar{A}B (AND) e depois OR em \bar{C}+D.
  • Termos envolvendo A\bar{B} ( A\bar{B}C e A\bar{B}\bar{D}) podem compartilhar A\bar{B}.
Fazer essas fatorações reduz o número total de ANDs/ORs no circuito físico, em troca de alguns ORs e ANDs extras em níveis intermediários. Em geral, se for necessário um circuito com menos portas, recomendo escolher as factorações que compartilham subexpressões que aparecem em mais de um produto (por exemplo \bar{A}B e A\bar{B} aparecem múltiplas vezes).

Passo 8

Verificação rápida (confirmação): peguei alguns números da tabela e testei mentalmente na expressão mínima:
  • Ex.: N=3 (0,0,1,1) — nessa combinação todas as parcelas da soma dão 0 → F=0 (múltiplo de 3) — OK.
  • Ex.: N=10 (1,0,1,0) — termo A\bar{B}C é 1 → F=1 — OK.
Pronto — está tudo coberto e consistente com a tabela.

Resposta

Tabela Verdade: F=1 para N\in\{1,2,4,5,7,8,10,11,13,14\} e F=0 para N\in\{0,3,6,9,12,15\}.
Mapa de Karnaugh:
\begin{array}{c|cccc} AB\backslash CD & 00 & 01 & 11 & 10\\\ \hline 00 & 0 & 1 & 0 & 1\\\\ 01 & 1 & 1 & 1 & 0\\\\ 11 & 0 & 1 & 0 & 1\\\\ 10 & 1 & 0 & 1 & 1\\\ \end{array}
Expressão mínima (SOP):
F = \bar{A}\,\bar{C}\,D \;+\; \bar{B}\,C\,\bar{D} \;+\; \bar{A}\,B\,\bar{C} \;+\; \bar{A}\,B\,D \;+\; A\,\bar{B}\,C \;+\; A\,C\,\bar{D} \;+\; A\,\bar{B}\,\bar{D} \;+\; B\,\bar{C}\,D.
Circuito (implementação direta): quatro inversores para \bar{A},\bar{B},\bar{C},\bar{D}; oito ANDs de 3 entradas implementando os oito termos acima; um OR de 8 entradas (ou ORs em cascata) reunindo as saídas dos ANDs para formar F.

Exercícios relacionados