Usando um MUX
, implemente:
Passo 1
O enunciado pede para implementar a função
usando um multiplexador
. Informações relevantes fornecidas:
- A função é definida por minterms:
. - Há três variáveis de entrada:
, e . - Um MUX
tem três linhas de seleção (chamadas aqui de ) e oito entradas de dados . O sinal de saída do MUX será igual a quando em binário for igual a . - O objetivo é mostrar claramente como ligar as seleções e quais valores colocar em
a para obter .
Passo 2
Explicando o que faz um MUX
(passo fundamental, tipo “aula rápida”):
- O multiplexador tem três entradas de seleção
. Essas três linhas formam um número binário de 0 a 7. - A saída do MUX vale exatamente o valor da entrada de dados cujo índice corresponde a esse número binário:
- Assim, se escolhermos ligar as seleções diretamente às variáveis
, com (bit mais significativo), e (bit menos significativo), então o MUX selecionará quando representar o número em binário. Esse é o mapeamento natural para implementar uma soma de minterms: basta colocar quando é minterm presente na soma e caso contrário.
Passo 3
Mapeamento explícito dos minterms e das combinações
. Vou listar os índices binários (peguei os números dos minterms do enunciado):
-
corresponde a (minterm ). -
corresponde a (minterm ). -
corresponde a (minterm ). -
corresponde a (minterm ). -
corresponde a (minterm ). -
corresponde a (minterm ). -
corresponde a (minterm ). -
corresponde a (minterm ).
Como
é
nos minterms
(e
nos demais), se ligarmos
,
,
teremos:
Passo 4
Atribuição direta das entradas de dados
a
(explicando passo a passo como preencher cada uma):
-
corresponde a . Como , temos . -
corresponde a . Como , temos . -
corresponde a . Como , temos . -
corresponde a . Como , temos . -
corresponde a . Como , temos . -
corresponde a . Como , temos . -
corresponde a . Como , temos . -
corresponde a . Como , temos .
Portanto basta ligar cada
a nível lógico alto (VCC) ou baixo (GND) conforme os valores acima, e ligar
,
,
. Isso implementa exatamente
, porque para cada combinação de
o MUX seleciona o
correto.
Passo 5
Para reforçar a compreensão: podemos também verificar (opcional mas didático) uma forma simplificada da função e checar consistência. Fazendo um mapa de Karnaugh rápido (ensinando a ideia):
- Agrupando os 1’s obtém-se a expressão mínima
Verificação rápida: se
então
para todos os casos com
(cobre
); para
resta só
que é coberto por
. Essa forma reduzida é útil se quiser implementar com menos portas. Mas, voltando ao método solicitado (usar MUX
), a atribuição direta de
por minterm é correta e simples de aplicar na prova.