Considerando a função abaixo, pede-se:
f=\sum(0,2,3,7,9,11,13,14)+d(12,15)
(a) Implemente usando um multiplexador 16:1.

Passo 1

O enunciado dá a função
f=\sum(0,2,3,7,9,11,13,14)+d(12,15)
e pede para implementá‑la usando um multiplexador 16\!:\!1. Informações relevantes que temos:
  • Os mintermos que fazem f=1 são 0,2,3,7,9,11,13,14.
  • Os mintermos 12 e 15 são “don’t care” (podem ser 0 ou 1 conforme convier).
  • Todos os demais mintermos (1,4,5,6,8,10) correspondem a f=0.
    O objetivo concreto: dizer como ligar as entradas de dados do MUX ( I_0,\dots,I_{15}) e as linhas de seleção para obter f na saída do MUX.

Passo 2

O que é e como funciona um multiplexador 16\!:\!1 (explicação didática, sem pulo de passos).
  • Um MUX 16\!:\!1 tem 16 entradas de dados I_0,\dots,I_{15}, quatro linhas de seleção S_3,S_2,S_1,S_0 e uma saída Y.
  • O valor das linhas de seleção forma um número binário de 4 bits que escolhe qual entrada de dados aparece na saída. Ou seja, se as seleções valem o binário correspondente a k ( 0\le k\le 15), então Y=I_k.
  • Portanto, para implementar uma função booleana dada por mintermos, basta colocar em I_k o valor da função quando as variáveis valem a combinação binária correspondente a k: se o mintermo k está na soma, I_k=1; se não, I_k=0; se for don’t care, I_k pode ser 0 ou 1 conforme convier.

Passo 3

Como mapear as variáveis do problema para as linhas de seleção (padronização e exemplo).
  • Vamos chamar as quatro variáveis de entrada da função de A,B,C,D com a ordem usual onde A é o bit mais significativo (MSB) e D o menos significativo (LSB).
  • Adoto a ligação direta às linhas de seleção:
S_3 = A,\quad S_2 = B,\quad S_1 = C,\quad S_0 = D.
  • Com essa convenção, o mintermo m corresponde à combinação binária ABCD que representa o número m. Exemplo: para m=5 tem-se ABCD=0101 (ou seja, A=0,B=1,C=0,D=1), e o MUX selecionará I_5.

Passo 4

Decisão sobre os “don’t cares” e regra prática.
  • Os don’t cares 12 e 15 podem ser ligados a 0 ou 1. Como a implementação com um MUX 16\!:\!1 permite simplesmente colocar constantes nas entradas, a solução direta é atribuir I_k=1 para os mintermos listados na soma e I_k=0 para os que não estão; para os don’t cares escolho 0 (poderia ser 1 se isso fosse usado para algum simplificação posterior).
  • Portanto seguiremos: se k\in\{0,2,3,7,9,11,13,14\} então I_k=1; se k\in\{1,4,5,6,8,10\} então I_k=0; e para k\in\{12,15\} vamos colocar I_k=0 (escolha de don’t‑care).

Passo 5

Lista explícita das conexões das entradas do MUX (isso é o “mapa” final das 16 entradas).
\begin{aligned} I_0 &= 1,\\\ I_1 &= 0,\\\ I_2 &= 1,\\\ I_3 &= 1,\\\ I_4 &= 0,\\\ I_5 &= 0,\\\ I_6 &= 0,\\\ I_7 &= 1,\\\ I_8 &= 0,\\\ I_9 &= 1,\\\ I_{10} &= 0,\\\ I_{11} &= 1,\\\ I_{12} &= 0\quad(\text{don't care atribuído a }0),\\\ I_{13} &= 1,\\\ I_{14} &= 1,\\\ I_{15} &= 0\quad(\text{don't care atribuído a }0). \end{aligned}íí

Passo 6

Como montar fisicamente (passo a passo de ligação):
  • Ligar S_3 na entrada A, S_2 em B, S_1 em C e S_0 em D.
  • Ligar uma fonte lógica ‘1’ nas entradas I_0,I_2,I_3,I_7,I_9,I_{11},I_{13},I_{14}.
  • Ligar uma fonte lógica ‘0’ nas entradas I_1,I_4,I_5,I_6,I_8,I_{10},I_{12},I_{15} (note que I_{12} e I_{15} eram don’t cares e foram atribuídos a 0).
  • A saída do MUX será Y=f(A,B,C,D).
  • Exemplo de verificação: se A B C D = 1001 (binário 9), o MUX seleciona I_9. Como I_9=1, a saída será 1, concordando com o mintermo 9 presente na soma.

Resposta

S_3=A,\\ S_2=B,\\ S_1=C,\\ S_0=D\n
I_0=1\n
I_1=0\n
I_2=1\n
I_3=1\n
I_4=0\n
I_5=0\n
I_6=0\n
I_7=1\n
I_8=0\n
I_9=1\n
I_{10}=0\n
I_{11}=1\n
I_{12}=0 (don’t care atribuído a 0)\n
I_{13}=1\n
I_{14}=1\n
I_{15}=0 (don’t care atribuído a 0)\n
Saída do MUX Y=f.

Exercícios relacionados