Altifigence Academy

9 / 63 · Conceito

Mapas de Karnaugh e condições de don’t-care

Simplifique expressões com a adjacência do código Gray e explicite hipóteses sobre entradas não usadas.

Da tabela-verdade ao custo de implementação

A tabela-verdadeTabela-verdade Tabela que enumera todas as combinações possíveis de entradas e a saída de cada uma. A evolução temporal é verificada separadamente nas formas de onda. Saiba mais define a função; a minimização decide com qual expressão implementá-la. Com três entradas, numeraremos os mintermos pelo binário ABC, com A como bit mais significativo.

F(A,B,C)=Σm(1,3,4,5,7)F(A,B,C)=\Sigma m(1,3,4,5,7)

Por exemplo, o mintermo 4 é ABC=100. As linhas não enumeradas, 0, 2 e 6, produzem 0. Em vez de cinco produtos, podem-se agrupar termos que diferem em apenas um bit.

Karnaugh é uma tabela com outra ordem

Coloque BC na ordem 00, 01, 11, 10. É código Gray: entre colunas adjacentes muda apenas um bit. A primeira e a última também são adjacentes.

A / BC00011110
00110
11110

Os grupos são retângulos com 1,2,4,8,…1,2,4,8,\ldots células. Incluir um 0 altera a função; incluir o mesmo 1 em vários grupos é permitido.

  1. Agrupe as quatro células das duas colunas com C=1. A e B variam, mas a saída continua em 1: resta C.
  2. Agrupe BC=00 e 01 na linha A=1. Apenas C muda: resta AB‾A\overline B.
  3. Uma OR dos dois grupos cobre todos os uns e evita todos os zeros.
F=C+AB‾F=C+A\overline B

Compare a definição inicial e a expressão simplificada para as oito entradas. Verifique separadamente que a expressão é mais curta e que a função foi preservada.

O fluxo abaixo converte grupos em expressões: no grupo C, eliminam-se A e B, que variam; no grupo de duas células, elimina-se C.

Variáveis que desaparecem ao agrupar
  1. m1,3,5,7: C=1 mesmo com A e B variando
  2. m4,5: Com A=1 e B=0, apenas C muda
  3. Soma dos dois grupos: F = C + A · NOT B

Don’t-care concede liberdade de otimização sob uma hipótese

Suponha que o contrato do sistema garanta que ABC=000 nunca ocorre. Marcar essa célula como X permite usá-la como 0 ou 1. Agrupando as quatro células com B=0, obtém-se:

Fdc=C+B‾F_{\mathrm{dc}}=C+\overline B

A nova expressão produz 1 com ABC=000 e difere da tabela completa original. Para afirmar equivalência, deve-se acrescentar que a entrada não é 000. Se 000 ocorrer durante inicialização ou recuperação de erros, a otimização pode violar os requisitos do sistema.

Minimizar a expressão não equivale a minimizar o chip

Menos literais não garante área, atraso e potência ótimos em uma biblioteca concreta. Influem carga, fan-out, portas compostas disponíveis, fiação e pulsos espúrios. Aqui estabelecemos função e hipóteses; o custo físico é avaliado com síntese e temporização.

Leitura adicional: MIT OpenCourseWare — Combinational Logic

Prática · Sobreposição e condições de don’t-care

De C e A·NOT B para um grupo maior

F = C + A · ¬B

Tabela-verdade de três entradas · X indica uma saída não especificada
ABCF
0000
0011
0100
0111
1001
1011
1100
1111
  1. Selecione o grupo C. A e B variam dentro de suas quatro células; resta apenas C.
  2. Selecione A·¬B. Cobre m4 e m5, e m5 também pertence a C. A sobreposição é permitida, mas incluir zeros não é.
  3. Pressione m0 duas vezes: 0 → 1 → X. Com X, a especificação fica incompleta e inclui d(0). O grupo B=0 se amplia e resulta C+B‾C+\overline B.
  4. Pressione m0 novamente para voltar a 0. Ao recuperar o requisito original, o grupo ampliado deve desaparecer.

Selecionar um grupo não altera valores. A expressão completa que cobre todos os uns é mantida e somente o termo examinado é destacado. «Mínimo» prioriza produtos e depois literais; se houver várias soluções, uma delas é mostrada.

Experimente

m0 foi alterado para X e F=C+NOT B foi implementado. Se for acrescentado que ABC=000 pode ocorrer durante reset e deve produzir F=0, a otimização pode ser mantida?

Ler a explicação

Não. O novo requisito volta a fixar m0=0. A expressão otimizada produz 1 em 000 e viola o requisito; é necessária uma expressão que satisfaça todas as linhas especificadas, como a original C+A·NOT B.

Sua escolha vale neste navegador. Altere-a a qualquer momento no rodapé.