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!

Foi útil?

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 ...)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top