Implemente a função lógica Z abaixo usando as seguintes combinações de circuitos integrados (CIs):
S=B(A+C)+C(A+B)+A \bar{B} C+\bar{A} B C
(c) 74138 e 7410 .
Passo 1
O enunciado pede: implementar a função lógica
S=B(A+C)+C(A+B)+A\bar{B}C+\bar{A}BC
usando os CIs 74138 (decodificador 3→8, saídas ativas em LOW) e 7410 (três portas NAND de 3 entradas por CI). Informações relevantes fornecidas ou necessárias:
A função original é dada em termos de A,B,C.
Os CIs disponíveis são:
74138: decodificador 3 para 8 com três entradas de seleção e saídas ativas LOW (cada saída Y_i fica LOW quando a combinação de entradas corresponde ao índice i), além de pinos de enable (um ativo HIGH G_1 e dois ativos LOW G_{2A},G_{2B}).
7410: contém três portas NAND de 3 entradas cada; cada porta implementa a função \text{NAND}_3(x,y,z)=\overline{xyz}. É possível usar uma porta NAND de 3 entradas como inversor amarrando as três entradas ao mesmo sinal: \text{NAND}_3(x,x,x)=\overline{x}. Também é possível amarrar uma entrada a nível lógico HIGH para fazer effectively uma NAND de 2 entradas.
O objetivo é descrever como ligar os CIs (quais pinos/signais) para implementar S. Não há restrição quanto ao número de CIs 7410 usados, mas deve-se usar 74138 também.
Passo 2
Primeira simplificação e interpretação da função para entender quais mintermos/combinações fazem S=1.
Expandindo a expressão e simplificando:
\begin{aligned} S &= B(A+C)+C(A+B)+A\bar{B}C+\bar{A}BC \\\ &= AB + BC + AC + BC + A\bar{B}C + \bar{A}BC \\\ &= AB + AC + BC + A\bar{B}C + \bar{A}BC. \end{aligned}
Agora observações de redundância:
\bar{A}BC está contido em BC (quando B=1,C=1 qualquer valor de A já está coberto por BC), logo é redundante.
A\bar{B}C está contido em AC (quando A=1,C=1 qualquer B é coberto por AC), logo é redundante.
Portanto a forma simplificada é
S = AB + AC + BC.
Isso é a função “majority” (pelo menos duas entradas em 1). Para verificar os mintermos: S=1 para as combinações (A,B,C) com exatamente duas ou três variáveis iguais a 1, ou seja os mintermos \;m_3,m_5,m_6,m_7 (usando a numeração usual dos mintermos em binário (A,B,C): 3=(0,1,1),5=(1,0,1),6=(1,1,0),7=(1,1,1)).
Passo 3
Como tirar proveito do 74138 e do 7410.
O 74138 fornece uma saída ativa LOW para cada mintermo das 8 combinações de (A,B,C). Chamando essas saídas de Y_0,\dots,Y_7, tem-se Y_i=0 exatamente quando a combinação de entradas corresponde ao mintermo m_i. Logo, para os mintermos onde S=1 teremos Y_3=0,\;Y_5=0,\;Y_6=0,\;Y_7=0. Em termos lógico: o mintermo verdadeiro é m_i=\overline{Y_i}.
A função final é S = m_3 + m_5 + m_6 + m_7. Em termos das saídas do decodificador:
S = \overline{Y_3}\;+\;\overline{Y_5}\;+\;\overline{Y_6}\;+\;\overline{Y_7}.
Aplicando De Morgan:
S = \overline{Y_3\,Y_5\,Y_6\,Y_7}.
Ou seja, S é a negação do AND de quatro sinais Y_3,Y_5,Y_6,Y_7 — isto é um NAND de 4 entradas sobre as saídas do 74138. Como o 7410 fornece NAND de 3 entradas, precisaremos construir o NAND de 4 entradas usando portas NAND de 3 entradas (observação: podemos usar entradas amarradas a nível lógico HIGH para efetivamente reduzir a aridade).
Passo 4
Construção prática usando portas 7410 (organização e contagem de portas).
Estratégia eficiente (usa 5 portas NAND de 3 entradas):
Fazer dois grupos de OR par a par aproveitando que m_3 + m_5 = \overline{Y_3 Y_5}. Isto porque m_i=\overline{Y_i}, entãom_3 + m_5=\overline{Y_3Y_5}.Uma porta 7410 implementa exatamente \overline{Y_3Y_5\cdot 1}=\overline{Y_3Y_5} se ligarmos suas duas primeiras entradas a Y_3,Y_5 e a terceira entrada a nível lógico HIGH (Vcc). Portanto uma porta 3-NAND com a terceira entrada em \mathrm{1} faz a função desejada de OR entre os dois mintermos.
Analogamente, m_6 + m_7=\overline{Y_6Y_7} pode ser obtido com outra porta 3-NAND com a terceira entrada = HIGH.
Em seguida, para obter S=(m_3+m_5)+(m_6+m_7) usamos De Morgan novamente:S=\overline{\;\overline{(m_3+m_5)}\;\cdot\;\overline{(m_6+m_7)}\; }.Ou seja, invertemos os dois resultados parciais e aplicamos uma NAND sobre eles (com terceira entrada em HIGH). Inverter cada resultado parcial pode ser feito usando uma porta 7410 amarrando suas três entradas ao sinal (porta-NAND com três entradas iguais funciona como inversor).
Portanto precisamos das seguintes portas (rotuladas para clareza):
Porta 1: W_1 = \text{NAND}(Y_3,\;Y_5,\;1). Então W_1 = m_3 + m_5.
Porta 2: W_2 = \text{NAND}(Y_6,\;Y_7,\;1). Então W_2 = m_6 + m_7.
Porta 3: N_1 = \text{NAND}(W_1,\;W_1,\;W_1). Então N_1 = \overline{W_1} = \overline{(m_3+m_5)}.
Porta 4: N_2 = \text{NAND}(W_2,\;W_2,\;W_2). Então N_2 = \overline{W_2} = \overline{(m_6+m_7)}.
Porta 5: S = \text{NAND}(N_1,\;N_2,\;1). EntãoS = \overline{N_1 N_2} = \overline{\overline{(m_3+m_5)}\cdot\overline{(m_6+m_7)}} = (m_3+m_5)+(m_6+m_7)que é exatamente m_3+m_5+m_6+m_7.
Contagem de portas 7410: foram usadas 5 portas NAND de 3 entradas; cada CI 7410 tem 3 portas, logo são necessários 2 CIs 7410 (6 portas disponível — uma sobra). Um único 74138 é usado para gerar Y_0\ldots Y_7.
Passo 5
Conexões físicas e detalhes práticos (passo-a-passo de ligação):
Configurar o 74138:
Conectar as entradas de seleção do 74138 aos sinais A,B,C. (Importante: conectar A ao pino marcado A no 74138, B ao pino B, C ao pino C; manter a mesma ordem de bits ao interpretar quais saídas correspondem a quais mintermos).
Ativar o decodificador: ligar o pino G_1 (enable ativo HIGH) a HIGH (+5 V) e ligar G_{2A} e G_{2B} (os enables ativos LOW) a LOW (massa) para habilitar as saídas.
Observe as saídas Y_i (ativas em LOW). Identificar as saídas correspondentes às combinações (A,B,C)=(0,1,1),(1,0,1),(1,1,0),(1,1,1); essas são as saídas que ficarão LOW quando o respectivo mintermo for verdadeiro. Chamar essas saídas de Y_3,Y_5,Y_6,Y_7 (ou, se o mapa de pinos do 74138 que está sendo usado numerar as saídas de maneira diferente, identificar os pinos que ficam LOW exatamente nas combinações acima).
Usar dois CIs 7410 (cada um com 3 portas NAND de 3 entradas). Fazer as seguintes ligações de porta a porta (nomes de sinais conforme passo anterior):
Porta 1 (uma das portas do primeiro 7410): entradas = Y_3,\;Y_5,\;1 (a terceira entrada ligada a nível lógico HIGH). Saída = W_1.
Porta 2 (outra porta do primeiro 7410): entradas = Y_6,\;Y_7,\;1. Saída = W_2.
Porta 3 (pode ser a terceira porta do primeiro 7410 ou a primeira do segundo, conforme organização física): entradas = W_1,\;W_1,\;W_1. Saída = N_1.
Porta 4 (usar porta do segundo 7410): entradas = W_2,\;W_2,\;W_2. Saída = N_2.
Porta 5 (usar porta restante do segundo 7410): entradas = N_1,\;N_2,\;1. Saída = S (a função desejada).
Notas práticas:
Ligar as entradas marcadas como 1 ao nível lógico HIGH (+5 V TTL). Em prática digital, ligar diretamente a +5 V é o nível HIGH; se preferir, pode usar uma saída lógica que já apresente HIGH.
Os pinos de Vcc e GND dos CIs devem ser corretamente alimentados conforme datasheet (+5 V e massa).
O 74138 produz Y_i=0 no mintermo correspondente; neste projeto aproveitou-se estas saídas diretamente nas portas NAND do 7410 (sem inversores adicionais).
Esta implementação usa 1 CI 74138 + 2 CIs 7410.
Resposta
Conectar A,B,C às entradas do 74138 (habilitar o decodificador: G_1=1,\;G_{2A}=G_{2B}=0). Tomar as saídas ativas-LOW do 74138 correspondentes aos mintermos (A,B,C)=(0,1,1),(1,0,1),(1,1,0),(1,1,1) (esses são os mintermos onde S=1), chamando-as de Y_3,Y_5,Y_6,Y_7. Usar dois CIs 7410 e cinco portas NAND 3-entradas conforme abaixo:
W_1=\text{NAND}(Y_3,\;Y_5,\;1) (porta 1),
W_2=\text{NAND}(Y_6,\;Y_7,\;1) (porta 2),
N_1=\text{NAND}(W_1,\;W_1,\;W_1) (porta 3),
N_2=\text{NAND}(W_2,\;W_2,\;W_2) (porta 4),
S=\text{NAND}(N_1,\;N_2,\;1) (porta 5).
Essa ligação implementa S=m_3+m_5+m_6+m_7=AB+AC+BC usando 74138 + 7410.