Prueba de implementación de 4 vías de Muliplexer

0

Hay una tabla funcional de Mux4Way:

Ya conozco la manera correcta de implementar este chip utilizando otros 3 chips multiplexores cuando mux funciona de la siguiente manera:

/** 
 * Multiplexor:
 * out = a if sel == 0
 *       b otherwise
 */

Digamos que ya hemos construido chips Muxtiplexor, para construir mux de 4 vías trabajando tendríamos algo así en HDL:

// First selection bit
Mux(a=D0, b=D1, sel=sel[0], out=mux0);
Mux(a=D2, b=D3, sel=sel[0], out=mux1);

// Second selection bit
Mux(a=mux0, b=mux1, sel=sel[1], out=out);

¡Y está funcionando! ¡Pero no tengo idea de por qué! Entonces, de tal manera particular, se comporta como se esperaba pero todos mis intentos de construir la tabla de la verdad no tuvieron éxito.

Sería genial tener alguna idea de cómo demostrar por qué esta forma en particular es correcta e incluso por qué funciona.

    

1 respuesta

0

Es bastante simple.

Ya que sabe cómo implementar un Mux, considérelo como una abstracción. Luego, continúe para pensar cómo crearía un 4WayMux a partir de chips Mux individuales.

Un Mux convierte dos entradas en una sola salida.

Entonces, para convertir cuatro entradas en una sola salida, debemos combinar la salida de dos chips Mux individuales en un solo chip Mux.

Por lo tanto, la entrada a y b irían a Mux1 y crearían output1 e ingrese c y d en Mux2 y cree output2

Luego, output1 y output2 , se convertirían en la entrada de Mux3, que convierte estas dos entradas en una sola salida, esencialmente convirtiendo cuatro entradas en una sola salida.

Si desea construir una tabla de verdad alrededor de este concepto, tendrá que crear tablas de verdad para cada chip Mux involucrado y combinarlo, o asumir un chip Mux de 4 entradas y crear una tabla.

    
respondido por el Chris Rohit Brendan

Lea otras preguntas en las etiquetas