Multiplexores
Un multiplexor es un sistema digital que consta de varias entradas y una salida, y mediante un mecanismo de selección, una determinada entrada se transfiere a la salida.

Multiplexor y su tabla de la verdad
Una definición más formal de multiplexor sería la de un circuito combinacional con n entradas de selección o control (a, b,.. ), 2n entradas de datos (K1 , K2 , ... ) y una salida Z. Los datos de la se rutan desde la entrada de datos cuyo número de orden coincide con el número binario puesto en la entrada de selección hacia la salida.

Selección de la entrada de datos del multiplexor
La síntesis con puertas lógicas se realiza obteniendo la expresión lógica de la salida Z, obteniendo:

Es importante reseñar que algunos multiplexores presentan entradas ENABLE o STROBE para dar permiso de funcionamiento o no al multiplexor.
Demultiplexores
El funcionamiento es el contrario al del multiplexor, encauzando los datos desde una fuente común de entrada hacia uno de 2n destinos de salida.
Por tanto, un demultiplexor es un circuito combinacional con una entrada J, n entradas de selección y 2n salidas.
Es importante comentar que los demultiplexores pueden trabajar como decodificadores. Vamos a explicar como se consigue esto con un ejemplo: supongamos que tenemos un DEMUX 1:4 ( una J entrada a cuatro salidas ), si hago la entrada J=1 siempre activa, transformo el funcionamiento a un DECODIFICADOR 2:4, actuando ahora las señales de selección (a, b,... ) como entrada de código a decodificar y las salidas como salidas del código decodificado.

Demux actuando como decodificador
La síntesis con puertas sería, partiendo de su tabla de verdad :

Síntesis con puertas de un demultipexor/decodificador
Implementación de funciones lógicas con multiplexores
Viendo un ejemplo, podremos ver como se realiza la síntesis, como voy a utilizar un MUX 4:1 tengo 2 entradas de selección. Por tanto, elijo de la función lógica a implementar 2 de las variables como señales de selección y determino cual debe ser las entradas del multiplexor con la que me queda.

Si tuviera más de 3 variables lógicas para este caso de MUX 4:1 necesitaría usar más de un multiplexor. Es importante decir que la elección de las variables que van a actuar de señales de selección es indiferente y muchas se toman unas u otras simplemente por motivo de diseño.