Implementando função de 5 variáveis usando multiplexadores
-
22-09-2019 - |
Pergunta
Se eu tiver uma função de 5 variáveis (abaixo) e quiser implementá-la usando um multiplexador, como faria isso (usando o multiplexador mínimo possível):
f(A,B,C,D,E) = A + C'D + BD' + B'D + B'CE
Este é um dever de casa, então não forneça uma solução, apenas uma orientação de como isso funciona.
Obrigado!
Solução
5 variáveis significa um multiplexador de entrada de 2**5 (32), com entradas de 0 a 31.Converta os termos em números binários e mantenha as entradas correspondentes altas.Para B'CE
Nós temos:
A B C D E
X 0 1 X 1
Isso nos dá 4 números, já que temos 2, não importa.Os quatro números são:
00101 = 5
00111 = 7
10101 = 21
10111 = 23
Mantenha as entradas 5, 7, 21 e 23 altas.
Repita para o resto dos termos.
Outras dicas
Já que você menciona explicitamente
usando o mínimo possível multiplexador
Há outra maneira de fazê-lo na qual você só precisa de um multiplexador de entrada 2^(n-1) para implementar uma função de entrada (portanto, no seu caso, um mux com entradas 2^4 e 4 entradas selecionadas seriam suficientes). A idéia é usar as primeiras entradas N-1 da tabela de verdade como entradas de seleção para o MUX, enquanto a restante está conectada às entradas de dados, conforme apropriado, para fornecer o resultado desejado.
Como ainda não posso postar imagens, veja isso para um exemplo concreto: https://www.dropbox.com/s/v8osbd8gtwhtfor/n-1inputmux.png
Ou para como implementar portões lógicos simples com muxes: https://www.dropbox.com/s/7cqbodha7lcoi9y/n-1inputmuxbasics.png
Fontes:
http: // sifaka.uwaterloo.ca/~kenning/courses/ece124/
http: // 6004.mit.edu/
(Não posso postar mais de dois links reais ...)