Use o mapa de Karnaugh para simplificar as expressões abaixo com entradas A, B, C e D. Implemente os resultados usando somente os circuitos integrados (CIs) indicados.
S=\sum(0,2,5,7,11,13,15), 74 \mathrm{LS} 00.

Passo 1

O que o enunciado pede e os dados que temos (sem resolver ainda):
  • Pede para simplificar a função booleana S com entradas A,B,C,D usando mapa de Karnaugh e depois implementar o resultado usando apenas CIs 74LS00 (portas NAND de 2 entradas).
  • Foi dada a função por minterms: S=\sum(0,2,5,7,11,13,15).
  • Não há restrição extra (por exemplo, forma canônica exigida). Vou simplificar ao menor número de termos/literais possível usando K-map e depois mostrar um circuito usando somente NANDs (74LS00).

Passo 2

Montando o mapa de Karnaugh 4x4 (linhas = AB em ordem Gray 00,01,11,10; colunas = CD em ordem Gray 00,01,11,10) e preenchendo os 1’s para os minterms dados.
  • Lista binária dos minterms (com A MSB, D LSB):
    • 0 = 0000 (linha AB=00, coluna CD=00)
    • 2 = 0010 (linha AB=00, coluna CD=10)
    • 5 = 0101 (linha AB=01, coluna CD=01)
    • 7 = 0111 (linha AB=01, coluna CD=11)
    • 11 = 1011 (linha AB=10, coluna CD=11)
    • 13 = 1101 (linha AB=11, coluna CD=01)
    • 15 = 1111 (linha AB=11, coluna CD=11)
  • Mapa (colunas etiquetadas na ordem 00,01,11,10; linhas 00,01,11,10):
    • Linha AB=00: col 00 \to1 (m0), col 01 \to0, col 11 \to0, col 10 \to1 (m2).
    • Linha AB=01: col 00 \to0, col 01 \to1 (m5), col 11 \to1 (m7), col 10 \to0.
    • Linha AB=11: col 00 \to0, col 01 \to1 (m13), col 11 \to1 (m15), col 10 \to0.
    • Linha AB=10: col 00 \to0, col 01 \to0, col 11 \to1 (m11), col 10 \to0.
(Aqui descrevi onde coloquei cada 1 no mapa — isso é suficiente para começar a agrupar.)

Passo 3

Fazendo agrupamentos no mapa (buscando blocos de tamanho 1,2,4,8 com forma retangular e poder de envolver nas bordas):
  • Observação de um bloco conveniente de 4 uns: as quatro células com D=1 e B=1, ou seja minterms 5,7,13,15 (linhas AB=01 e AB=11, colunas CD=01 e CD=11). Nessas quatro células:
    • B=1 é constante (porque linhas têm B=1),
    • D=1 é constante (porque colunas têm D=1).
    • Logo o bloco 2x2 gera o termo \;B D.
  • Outro bloco: os dois 1’s na linha AB=00 (m0 e m2) estão em colunas CD=00 e CD=10. Essas colunas são adjacentes (wrap-around entre a última e a primeira coluna), então formam um par:
    • Na linha AB=00 temos A=0,\;B=0 (ambos constantes), e entre as duas colunas D é 0 constante ( CD=00 e 10 têm D=0), enquanto C varia.
    • Portanto o par produz o termo \;\bar{A}\,\bar{B}\,\bar{D}.
  • Restou o 1 do minterm 11 (m11, posição AB=10,\;CD=11). Esse 1 pode ser emparelhado com m15 ( AB=11,CD=11) verticalmente (as linhas AB=10 e AB=11 são adjacentes). Nesse par:
    • A=1 é constante (porque em ambas as linhas A=1),
    • C=1 e D=1 são constantes (coluna CD=11).
    • Logo o par gera o termo \;A C D.
  • Esses agrupamentos cobrem todos os 1’s do mapa (grupos permitidos a se sobrepor). São termos essenciais: o par que cobre m11 é necessário, o par que cobre m0,m2 é necessário, e o bloco 2x2 (BD) cobre quatro minterms de uma só vez.

Passo 4

Escrevendo a expressão simplificada a partir dos grupos:
  • Dos grupos obtidos temos os termos:
    • \bar{A}\bar{B}\bar{D} (do par que cobre m0 e m2),
    • B D (do bloco 2x2 que cobre m5,m7,m13,m15),
    • A C D (do par que cobre m11 e m15).
  • Portanto a forma mínima (SOP simplificada) é
    S = \bar{A}\,\bar{B}\,\bar{D} \;+\; B\,D \;+\; A\,C\,D.
  • Uma pequena reorganização útil (fatoração) é:
    S = \bar{A}\bar{B}\bar{D} \;+\; D\,(B + A C),
    que às vezes ajuda a pensar na implementação física (mostra que dois dos termos compartilham o literal D).

Passo 5

Estratégia para implementar somente com portas NAND (74LS00):
  • Lembrete rápido sobre portas NAND:
    • Uma porta NAND de duas entradas tem saída \mathrm{NAND}(X,Y) = \overline{X\cdot Y}.
    • Inversor com NAND: \overline{X} = \mathrm{NAND}(X,X) (ligando as duas entradas juntas).
    • AND com NAND: X\cdot Y = \overline{\mathrm{NAND}(X,Y)} — ou seja, faz-se uma NAND(X,Y) e inverte o resultado com outro NAND em que ambas as entradas recebem a saída anterior.
    • OR com NAND (De Morgan): X + Y = \overline{\overline{X}\cdot\overline{Y}} = \mathrm{NAND}(\overline{X},\overline{Y}). Para mais de dois termos, aplica-se recursivamente ou usa-se a forma em cascata indicada abaixo.
  • Vou implementar a expressão \;S = T_1 + T_2 + T_3 com T_1=\bar{A}\bar{B}\bar{D},\;T_2=BD,\;T_3=ACD.
    • Primeiro gero as inversões necessárias: \bar{A},\bar{B},\bar{C},\bar{D} usando NAND com entradas atadas.
    • Depois construo cada termo T_i como AND de 2 ou 3 literais usando NAND seguido de inversão (usando NAND de entrada dupla para inverter).
    • Finalmente faço a soma (OR) dos termos usando a identidade X+Y=\mathrm{NAND}(\mathrm{NAND}(X,X),\mathrm{NAND}(Y,Y)). Para três termos, uso operação em árvore:
      • U = X + Y = \mathrm{NAND}(\mathrm{NAND}(X,X),\mathrm{NAND}(Y,Y))
      • S = U + Z = \mathrm{NAND}(\mathrm{NAND}(U,U),\mathrm{NAND}(Z,Z)).
    • Tudo isso usa apenas portas NAND de 2 entradas (portas do 74LS00). Abaixo dou um passo-a-passo de ligações gate-a-gate para que seja executável numa bancada.

Passo 6

Implementação prática com portas NAND (descrição gate-a-gate). Cada porte mencionada é uma porta NAND de 2 entradas (74LS00). Vou numerar as portas ficticiamente como G1,G2,\ldots para explicar as ligações; cada Gx é uma porta NAND de 2 entradas.
  1. Geração de inversores básicos (usando NAND com entradas atadas):
    • G1: ambas entradas = A \;\Rightarrow saída =\bar{A}.
    • G2: ambas entradas = B \;\Rightarrow saída =\bar{B}.
    • G3: ambas entradas = C \;\Rightarrow saída =\bar{C}.
    • G4: ambas entradas = D \;\Rightarrow saída =\bar{D}.
  2. Construção do termo T_1=\bar{A}\bar{B}\bar{D} (AND de 3 literais):
    • G5: entradas = (saída G1=\bar{A}, saída G2=\bar{B}) \;\Rightarrow saída S_{5}=\overline{\bar{A}\,\bar{B}}.
    • G6: entradas = (saída G5=S_{5}, saída G5=S_{5}) (inversor) \;\Rightarrow saída S_{6}=\bar{\;S_{5}\;}=\bar{(\overline{\bar{A}\bar{B}})}=\bar{A}\bar{B}. (Agora temos \bar{A}\bar{B} não invertido.)
    • G7: entradas = (saída G6=S_{6}=\bar{A}\bar{B}, saída G4=\bar{D}) \;\Rightarrow saída S_{7}=\overline{\bar{A}\bar{B}\cdot\bar{D}}=(T_1)'.
    • G8: entradas = (saída G7=S_{7}, saída G7=S_{7}) (inversor) \;\Rightarrow saída T_1 = \overline{S_{7}}=\bar{A}\bar{B}\bar{D}.
  3. Construção do termo T_2=B D (AND de 2 literais):
    • G9: entradas = ( B, D) \;\Rightarrow saída S_{9}=\overline{B D}.
    • G10: entradas = ( S_{9}, S_{9}) \;\Rightarrow saída T_2 = \overline{S_{9}} = B D.
  4. Construção do termo T_3=A C D (AND de 3 literais):
    • G11: entradas = ( A, C) \;\Rightarrow saída S_{11}=\overline{A C}.
    • G12: entradas = ( S_{11}, S_{11}) \;\Rightarrow saída S_{12}=A C.
    • G13: entradas = ( S_{12}=AC, D) \;\Rightarrow saída S_{13}=\overline{A C\cdot D} = (T_3)'.
    • G14: entradas = ( S_{13}, S_{13}) \;\Rightarrow saída T_3 = A C D.
  5. Soma (OR) dos três termos S = T_1 + T_2 + T_3 usando NANDs conforme a fórmula de De Morgan em árvore:
    • Primeiro faz-se U = T_1 + T_2:
      • G15: entradas = ( T_1, T_1) \;\Rightarrow saída =\overline{T_1}.
      • G16: entradas = ( T_2, T_2) \;\Rightarrow saída =\overline{T_2}.
      • G17: entradas = (saída G15=\overline{T_1}, saída G16=\overline{T_2}) \;\Rightarrow saída U = \overline{\overline{T_1}\cdot\overline{T_2}} = T_1 + T_2.
    • Agora S = U + T_3:
      • G18: entradas = ( U, U) \;\Rightarrow saída =\overline{U}.
      • G19: entradas = ( T_3, T_3) \;\Rightarrow saída =\overline{T_3}.
      • G20: entradas = (saída G18=\overline{U}, saída G19=\overline{T_3}) \;\Rightarrow saída final S = \overline{\overline{U}\cdot\overline{T_3}} = U + T_3 = T_1 + T_2 + T_3.
Notas sobre o circuito prático:
  • Todo o circuito acima usa apenas portas NAND de 2 entradas; cada porta corresponde a uma porta física dentro de um CI 74LS00 (que traz quatro portas NAND). Contando as portas usadas G1 até G20 temos 20 portas NAND — portanto seriam necessários 5 CIs 74LS00 (cada CI tem 4 portas) para implementar tudo. Dependendo de otimizações (por exemplo, compartilhar inversores já gerados) dá para reduzir o número de portas; a descrição acima mostra a forma direta, passo-a-passo, que é mais fácil de seguir na bancada.
  • Nas ligações físicas, lembre-se de:
    • Não deixar entradas flutuantes.
    • Alimentar adequadamente os CIs (Vcc, GND).
    • Se quiser reduzir portas, observar onde uma mesma inversão ou sinal intermediário pode ser reutilizado em vez de recomputado.

Resposta

S=\bar{A}\,\bar{B}\,\bar{D}\;+\;B\,D\;+\;A\,C\,D

Exercícios relacionados