Construa um circuito lógico que desempenhe a função y=\bar{A} \cdot B \cdot \bar{C}+A \cdot B \cdot C, utilizando apenas portas NOR de duas entradas (procure utilizar o menor número possível de portas).
Passo 1
O que o enunciado dá e o que pede:
A função booleana a implementar é y=\overline{A}\cdot B\cdot\overline{C}+A\cdot B\cdot C.
Restrições: usar apenas portas NOR de duas entradas.
Objetivo: construir o circuito com o menor número possível de portas (mostrar como conectar as portas).
Informações relevantes extraídas do enunciado:
As entradas do circuito são A, B e C.
A saída desejada é y dada pela expressão acima.
Só são permitidas portas \text{NOR} de duas entradas (cada porta realiza a função \text{NOR}(x,y)=\overline{x\lor y}).
Passo 2
Simplificar a expressão para achar uma forma conveniente de implementar com NORs.
Começo por fatorar B na expressão (pegue isso do enunciado):
y=\overline{A}\cdot B\cdot\overline{C}+A\cdot B\cdot C
Agora reconheça o parenteses. A expressão \overline{A}\cdot\overline{C}+A\cdot C é exatamente a função de equivalência entre A e C, isto é, o XNOR:
\overline{A}\cdot\overline{C}+A\cdot C = A\\ \text{XNOR}\\ C.
Portanto podemos escrever
y = B \cdot (A\\ \text{XNOR}\\ C).
Comentário didático curto: XNOR dá 1 quando A e C têm o mesmo valor (ambos 0 ou ambos 1). Assim a saída y é 1 quando B=1 e A e C são iguais.
Passo 3
Como usar apenas portas NOR — identidades e técnicas úteis (aula rápida e prática).
Propriedades da porta \text{NOR} (duas entradas) que vamos usar:
Negação com NOR: \overline{x} = \text{NOR}(x,x). (Colocar ambas as entradas iguais gera o NOT.)
Conjunção via NOR: x\land y = \overline{\overline{x\land y}} = \overline{\overline{x}\lor\overline{y}} = \text{NOR}(\overline{x},\overline{y}). Ou seja,x\land y = \text{NOR}(\overline{x},\overline{y}).(Essa igualdade vem de De Morgan: x\land y = \overline{\overline{x\land y}} = \overline{\overline{x}\lor\overline{y}}.)
Disjunção via NOR (OR usando NOR): x\lor y = \overline{\text{NOR}(x,y)}, então é necessário inverter a saída de um NOR para obter OR.
Estratégia prática: como a nossa expressão é y = B\land(X) com X=A\\ \text{XNOR}\\ C, podemos usar a identidade do AND em termos de NOR de negações:
y = B\land X = \text{NOR}(\overline{B},\overline{X}).
Isto é útil porque reduz a operação AND final a uma única porta NOR, desde que disponhamos de \overline{B} e de \overline{X}. Observe que \overline{X} = A\\ \text{XOR}\\ C. Logo
y = \text{NOR}(\overline{B},\,A\oplus C).
Portanto precisamos implementar \overline{B} (fácil) e A\oplus C (XOR) usando apenas NORs, e então uma NOR final.
Passo 4
Construção do bloco A\oplus C (XOR) usando apenas portas NOR — passo a passo.
Há uma construção elegante que usa 4 portas NOR para obter A\\ \text{XNOR}\\ C (veja comentário) e, invertendo essa saída, obtemos A\oplus C. Vou montar esse arranjo (é uma técnica padrão):
Defina os seguintes sinais (cada linha é uma porta NOR de duas entradas; coloco o número da porta e a sua função):
usando identidades (pode verificar por tabela verdade), obtém-se G_2 = \overline{A\lor(\overline{A}\cdot\overline{C})} = \overline{A\lor\overline{A}\overline{C}} = \overline{A\lor\overline{C}} = \overline{A}\cdot C.
portanto G_2 = \overline{A}\,C.
G_3 = \text{NOR}(C,G_1).
analogamente a G_2, obtemos G_3 = A\,\overline{C}.
G_4 = \text{NOR}(G_2,G_3).
então G_4 = \overline{G_2\lor G_3} = \overline{(\overline{A}C)\lor(A\overline{C})} = \overline{A\oplus C} = A\\ \text{XNOR}\\ C.
Resumo didático: as quatro portas G_1,G_2,G_3,G_4 geram G_4 = A\\ \text{XNOR}\\ C. Isto é útil porque surgiu de uma construção que “separa” os minterms e depois faz a NOR para juntar.
Passo 5
Obter o A\oplus C (XOR) e \overline{B}; depois fazer o AND final com uma NOR.
Para inverter G_4 (que é XNOR) e assim obter A\oplus C, usa-se uma porta NOR em modo inversor:
G_5 = \text{NOR}(G_4,G_4) = \overline{G_4} = A\oplus C.
(Porta G_5 é a quinta porta.)
Para obter \overline{B}:
G_6 = \text{NOR}(B,B)=\overline{B}.
(Porta G_6 é a sexta porta.)
Por fim, usar uma NOR com as entradas G_6 e G_5 para implementar y usando a identidade do AND via NOR:
y = G_7 = \text{NOR}(G_6,G_5) = \overline{\,\overline{B}\lor(A\oplus C)\,}.
Aplicando De Morgan: G_7 = B\land\overline{(A\oplus C)} = B\land(A\\ \text{XNOR}\\ C), que é exatamente a expressão desejada.
Passo 6
Lista final das portas e conexões (construção pronta para implementar em hardware):
G_1 = \text{NOR}(A,C).
G_2 = \text{NOR}(A,G_1).
G_3 = \text{NOR}(C,G_1).
G_4 = \text{NOR}(G_2,G_3). (aqui G_4 = A\\ \text{XNOR}\\ C)
G_5 = \text{NOR}(G_4,G_4). (aqui G_5 = A\oplus C)
G_6 = \text{NOR}(B,B). (aqui G_6 = \overline{B})
G_7 = \text{NOR}(G_6,G_5). (aqui G_7 = y)
Explicação de verificação rápida (pequeno check): se B=0 então G_6=1 e G_7=\text{NOR}(1,\cdot)=0, logo y=0 conforme a expressão original (já que ambos os termos têm B multiplicando). Se B=1 então G_6=0 e G_7=\text{NOR}(0,G_5)=\overline{0\lor G_5}=\overline{G_5}=\overline{A\oplus C}=A\\ \text{XNOR}\\ C, ou seja y=A\\ \text{XNOR}\\ C quando B=1, que coincide com a fatoração anterior. Portanto a rede produz a função correta.
Passo 7
Contagem de portas e comentário sobre optimalidade:
Número total de portas \text{NOR} de duas entradas usadas: 7 (G_1 a G_7).
Raciocínio sobre mínima necessidade: a etapa de produzir A\oplus C (ou A\\ \text{XNOR}\\ C) com portas NOR exige pelo menos 4 portas na construção mostrada; além disso é necessário inverter esse resultado (1 porta) para obter o XOR quando se usa a técnica escolhida, mais uma porta para gerar \overline{B} e outra porta final para aplicar a identidade B\land X = \text{NOR}(\overline{B},\overline{X}). Assim a construção prática leva a 7 portas. (Essa contagem segue a decomposição usada; é uma forma eficiente e direta de montar a função só com NORs.)
Resposta
Usar 7 portas NOR de duas entradas com as conexões: G_1=\text{NOR}(A,C) G_2=\text{NOR}(A,G_1) G_3=\text{NOR}(C,G_1) G_4=\text{NOR}(G_2,G_3) G_5=\text{NOR}(G_4,G_4) G_6=\text{NOR}(B,B) y=G_7=\text{NOR}(G_6,G_5)