Ex.12. Usando o CI 7442 mais lógica adicional, implemente a função lógica:
f(A, B, C, D)=\sum(1,3,8,9)

Passo 1

O enunciado pede implementar a função lógica
f(A,B,C,D)=\sum(1,3,8,9)
usando o CI 7442 mais lógica adicional. Informações relevantes e hipóteses claras que vou usar:
  • A função está dada em soma de mintermos: isso significa que f=1 exatamente para os índices 1,3,8,9 (e f=0 para os outros índices).
  • Adoto a convenção padrão de numeração de mintermos: o índice é o valor decimal do vetor de entradas (A,B,C,D) interpretado em binário com A como bit mais significativo e D como bit menos significativo. Por exemplo, (A,B,C,D)=(0,0,0,1)\Rightarrow índice 1.
  • O CI 7442 é um decodificador BCD (4 entradas) para 10 saídas. Vou chamar as saídas de Y_0,Y_1,\dots,Y_9. A característica importante do 7442 que eu uso é: a saída Y_i fica em nível lógico baixo (0) quando as entradas representam o número decimal i; todas as demais saídas ficam em nível lógico alto (1). Em outras palavras, as saídas do 7442 são ativas em nível baixo.
  • Objetivo prático: usar as saídas do 7442 correspondentes aos mintermos desejados (índices 1,3,8,9) e combiná-las com lógica adicional para gerar f em nível alto quando a entrada for um desses mintermos.

Passo 2

Entendendo o papel do decodificador e a relação entre suas saídas e os mintermos.
  • O 7442 fornece sinais Y_i\) tais que, para cada \(i\in\{0,\dots,9\}\), \[Y_i=\begin{cases} 0, & \text{se }(A,B,C,D) \text{ corresponde a } i,\\[4pt] 1, & \text{caso contrário.} \end{cases}
  • Defino um sinal indicativo do mintermo i\] como \(S_i=\overline{Y_i}. Assim S_i=1 exatamente quando as entradas fazem o número i — ou seja, S_i é um indicador ativo em nível alto do mintermo i.
  • Como f é a soma dos mintermos 1,3,8,9, posso escrever f = S_1 + S_3 + S_8 + S_9.
  • Substituindo S_i=\overline{Y_i} obtemos a forma em função das saídas do 7442: f = \overline{Y_1} + \overline{Y_3} + \overline{Y_8} + \overline{Y_9}.]

Passo 3

Manipulação booleana para obter uma implementação prática com portas NAND/OR (explico por que escolho cada forma).
  • Aplicando De Morgan à soma de complementos, posso escrever a soma como complemento de um AND: \overline{Y_1}+\overline{Y_3}+\overline{Y_8}+\overline{Y_9} = \overline{\,Y_1 Y_3 Y_8 Y_9\,}.Ou seja, f = \overline{Y_1 Y_3 Y_8 Y_9}.
  • Interpretação prática: a expressão acima é exatamente a saída de uma porta NAND de 4 entradas cujos inputs são Y_1,Y_3,Y_8,Y_9. Lembre-se: a propriedade que uso é que o 7442 produz Y_i=0 apenas quando o mintermo i está ativo; portanto, se qualquer uma das saídas Y_1,Y_3,Y_8,Y_9 estiver em 0, o AND interno será 0 e a NAND resultará em 1 — justamente o que queremos para f.

Passo 4

Implementações físicas possíveis (detalhes práticos e alternativas).
  • Implementação direta e simples:
    • Conectar as saídas Y_1,Y_3,Y_8,Y_9 do CI 7442 às quatro entradas de uma porta NAND de 4 entradas. A saída dessa NAND é f.
    • Em forma booleana: f=\overline{Y_1 Y_3 Y_8 Y_9}.
  • Alternativa usando inversores + OR:
    • Inverter cada saída do 7442: obter \overline{Y_1},\overline{Y_3},\overline{Y_8},\overline{Y_9} (cada uma é 1 exatamente no respectivo mintermo).
    • Fazer a OR dessas quatro inversões: f=\overline{Y_1}+\overline{Y_3}+\overline{Y_8}+\overline{Y_9}.
    • Essa alternativa pode ser útil se dispuser de portas OR e inversores mas não de uma NAND de 4 entradas.
  • Observação prática sobre o 7442:
    • Algumas variantes de decodificadores têm saídas em coletor aberto (open-collector) ou requerem pull-ups para obter nível alto quando não ativos. Se o CI 7442 em uso tiver saídas open-collector, então providenciar resistores de pull-up nas saídas Y_i (ou uma alimentação/pulldown apropriada) antes de ligar as saídas a portas lógicas. Se as saídas forem do tipo totem-pole (nível alto ativo), então não é necessário pull-up. Conferir o datasheet do CI usado.
  • Se não houver porta NAND de 4 entradas disponível, usar uma porta NAND de 2 entradas em arranjo que gere a NAND de 4 entradas: por exemplo usar uma porta NAND de 4 entradas dedicada (ex.: 74HC20 / 74LS20 são portas NAND de 4 entradas) ou usar inversores e OR conforme a alternativa acima.

Passo 5

Exemplo concreto de conexões (passo a passo prático para montar no protoboard):
  • Ligue as entradas A,B,C,D ao CI 7442 conforme o pinout do seu chip; verifique a ordem A MSB, D LSB conforme a convenção adotada.
  • Pegue as saídas Y_1,Y_3,Y_8,Y_9 do 7442.
  • Conecte Y_1,Y_3,Y_8,Y_9 às quatro entradas de uma porta NAND de 4 entradas; a saída dessa porta é f.
  • Se as saídas do 7442 forem open-collector, coloque resistores de pull-up (ex.: 10\text{ k}\Omega) nas linhas Y_1,Y_3,Y_8,Y_9 antes da entrada da NAND.
  • Teste a tabela verdade: quando (A,B,C,D) = qualquer dos vetores correspondentes a 1,3,8,9, a saída correspondente do 7442 fica 0 e, portanto, a NAND produzirá f=1; para outras entradas, todas as Y_i do conjunto estarão 1 e a NAND produzirá f=0.

Resposta

f=\overline{Y_1 Y_3 Y_8 Y_9}=\overline{Y_1}+\overline{Y_3}+\overline{Y_8}+\overline{Y_9}. Conectar as saídas Y_1,Y_3,Y_8,Y_9 do CI 7442 às quatro entradas de uma porta NAND de 4 entradas; a saída dessa NAND é f.

Exercícios relacionados