¿Cuál es el tamaño mínimo de multiplexor necesario para implementar cualquier función booleana de n variables si se nos da un multiplexor y un inversor para usar?

1

La siguiente es la solución dada.

  

Podemos usar n-1 líneas de selección, y usar 0,1 y nth variable y su complemento para realizar la función Así que ans es 2 ^ (n-1): 1

No puedo entender cómo funciona exactamente. Si tenemos una función de decir 3 variables. Podemos tener 8 líneas de entrada para el multiplexor. Si tomamos 2 líneas de selección según la solución, podemos elegir solo 4 de las entradas.

Supongo que al usar el inversor, de alguna manera estamos conectando la tercera línea de selección, que duplicará las posibilidades a 8. Pero no puedo tener una idea clara de cómo se realiza la conexión.

Cualquier ayuda es muy apreciada.

    
pregunta aste123

2 respuestas

2

La forma menos eficiente (y quizás más obvia) es conectar niveles lógicos fijos a cada entrada del multiplexor. Necesita un multiplexor de entrada de 2 ^ N para N entradas. Entonces, un mux de 16 entradas para cualquier función de 4 bits.

Si, en cambio, conecta las entradas respectivas a una de las entradas (que no va a la entrada de selección del multiplexor) o a su complemento, según se requiera para la función, entonces puede reducir a la mitad el tamaño del multiplexor. Por lo tanto, un mux de 8 entradas (más un inversor) para cualquier función de 4 bits.

    
respondido por el Spehro Pefhany
1

Aquí hay un ejemplo no específico: -

¡Uy, es básicamente lo que Spehro dijo, así que los honores van con él!

OUT (1) = 000 + 101 + 010 + 111

    
respondido por el Andy aka

Lea otras preguntas en las etiquetas