Considerando a função abaixo, pede-se:
(d) Implemente usando um multiplexador 4:1 mais lógica adicional.
Passo 1
Vou reescrever claramente o que o enunciado dá e o que pede, e fixar a notação que vou usar (isso evita confusão depois).
- A função é dada por
. - Isso é uma função de quatro variáveis (porque aparecem mintermos até
). Vou nomear as variáveis, do bit mais significativo para o menos significativo, como . Assim o mintermo tem a representação binária com peso . - O pedido (item (d)) é: implementar
usando um multiplexador 4:1 (quatro entradas de dados) mais lógica adicional. Ou seja, usar um MUX 4:1 cujas entradas podem ser funções (ou constantes) de variáveis, e conectar as saídas do MUX como . - Não foi dada uma obrigação de quais sinais usar como seletores do MUX; uma escolha natural é usar duas variáveis como seletores e implementar as entradas do MUX como funções das outras duas variáveis.
No próximo passo vou escolher os seletores e extrair as funções que devem entrar em
a
.
Passo 2
Escolha prática dos seletores do MUX 4:1:
- Para um MUX 4:1 precisamos de 2 linhas de seleção. Vou usar as duas variáveis mais significativas como seletores:
e .
Justificativa curta e prática: comcomo seletores, cada entrada corresponde a um bloco de quatro mintermos com os mesmos valores de (ou seja, para aparecem a , etc.). Isso facilita separar a função em quatro subfunções de duas variáveis ( ), que é o que um MUX 4:1 naturalmente faz. - Assim o circuito final será: MUX 4:1 com
e com entradas (quando ), (quando ), (quando ), (quando ). Agora preciso achar as expressões de a em termos de , usando os mintermos fornecidos e os don’t-cares para simplificar.
Passo 3
Determinar a função na faixa
(entrada
):
-
Para
os mintermos correspondentes são (ou índices ). Do enunciado tem os mintermos (e não tem ). -
Vamos montar a tabela de verdade de
restrita a como função de : -
é → valor . -
é → valor . -
é → valor . -
é → valor .
-
-
Logo a tabela (ordenada) é:
. Só o caso é zero; os demais são 1. -
Escrever como função booleana: a condição que produz zero é
e , isto é . Portanto a função é o complementar disso: Usando De Morgan:Explicando:significa “não ( e )”, que é equivalente a “C é 1 OU D é 0”, isto é .
Passo 4
Determinar a função na faixa
(entrada
):
- Para
os mintermos são . Do enunciado só (índice 7) está em . - Em termos de
: corresponde a (ou seja ). Os outros três combos são zeros. - Portanto a função é simplesmente:
(um AND entre e ).
Passo 5
Determinar a função na faixa
(entrada
):
- Para
os mintermos são . Do enunciado contém e (índices e ). - Em termos de
isso dá: -
( ) → 0, -
( ) → 1, -
( ) → 0, -
( ) → 1.
-
- Observando, os casos com
(i.e. e ) são exatamente os que têm valor 1. Assim: Ou seja, nesta faixa a função depende só de .
Passo 6
Determinar a função na faixa
(entrada
) usando os don’t-cares:
- Para
os mintermos são . Do enunciado contém e os mintermos são don’t-cares: . - Sem usar don’t-cares os valores seriam:
= d, , , . - Como
e são don’t-cares, podemos escolhê-los igual a (ou ) de forma a simplificar a expressão. Se escolhermos e , então para todos os quatro combos teremos valor . - Assim podemos definir convenientemente:
(ou seja, ligar a à lógica ‘1’ — VCC). Essa escolha é válida porque don’t-cares permitem definir livremente esses termos para facilitar a implementação.
Passo 7
Resumo das entradas do MUX e das portas adicionais necessárias:
- Com
e , as entradas do MUX ficam: - Portas/ligações extras necessárias (além do próprio MUX):
- Uma inversora para gerar
a partir de . - Uma porta OR para implementar
(entrada ). - Uma porta AND para
(entrada ). - A linha
é simplesmente ligada diretamente. - A linha
é ligada a nível lógico ‘1’ (VCC).
- Uma inversora para gerar
- Se quiser contar portas: 1 NOT, 1 OR (2 entradas), 1 AND (2 entradas). O MUX faz a seleção entre essas quatro entradas conforme
.
Passo 8
Como checar (rápido) que isso está correto:
- Para qualquer combinação de
o MUX escolhe o correspondente e retorna a função definida naquele bloco. Por exemplo: - Se
o MUX seleciona — corresponde aos mintermos que tratamos. - Se
o MUX seleciona — graças aos don’t-cares escolhido podemos ter todos 1 nessa faixa, o que cobre e aceita sem problema.
- Se
- Isto reproduz exatamente a tabela de mintermos original (com a liberdade permitida pelos don’t-cares).
Resposta
Use um MUX 4:1 com seletores
,
e com as entradas:
,
,
,
.