Altifigence Academy

15 / 63 · Concepto

De la tabla de verdad al MUX y la expansión de Shannon

Derive la selección mediante ecuaciones y descomponga cualquier función lógica con un MUX.

Derive la regla de selección

Para producir a con sel=0 y b con sel=1, multiplique cada entrada por su condición de selección y únalas con OR:

y=s‾a+sby=\overline s a+s b

Sustituir s=0s=0 deja a; sustituir s=1s=1 deja b. Si a=b, cambiar sel no cambia la salida. Para detectar errores de selección hacen falta casos con datos distintos.

El camino azul indica la entrada elegida. Haga que a y b difieran y cambie sel. Con valores iguales resulta difícil distinguir una selección mal conectada solo por la salida.

El camino de datos cambia con la selección

y = sel ? b : a

El MUX es una descomposición general de funciones

Para una función booleana F, llame F0,F1F_0,F_1 a las funciones parciales al fijar s en 0 y 1:

F=s‾F0+sF1F=\overline s F_0+sF_1

Esta es la expansión de Shannon. s ? F1 : F0 divide cualquier función en dos partes. Por ejemplo, para F=a⊕bF=a\oplus b y selección a, F0=bF_0=b y F1=b‾F_1=\overline b: se construye XOR con un MUXMultiplexor Circuito combinacional que conecta una de varias entradas a la salida según una señal de selección. Debe especificarse la correspondencia entre los bits de selección y los números de entrada. y una inversiónNegación Operación NOT que cambia 0 por 1 y 1 por 0. Una barra sobre una expresión aplica NOT a toda la expresión cubierta. Más información.

Selección 4 a 1 y prioridad

Elegir entre cuatro entradas con dos bits puede implementarse en dos niveles de MUX 2 a 1. En cambio, if (req0) ... else if (req1) ... prioriza la primera petición si varias están activas. Seleccionar por dirección y seleccionar por prioridad son problemas distintos.

SystemVerilog
assign y = sel[1] ? (sel[0] ? d3 : d2)
                 : (sel[0] ? d1 : d0);

Un árbol equilibrado ideal con 2m2^m entradas tiene m niveles. El retardo físico depende también de llegada de entradas, carga y cableado. La descomposición genera candidatos de implementación; no demuestra retardo óptimo.

Inténtalo tú

Exprese F=ab+a‾cF=a b+\overline a c como MUX con a de selección. ¿Cuáles son las dos entradas de datos?

Leer la explicación

Con a=0a=0, F0=cF_0=c; con a=1a=1, F1=bF_1=b. Por tanto, assign f = a ? b : c;. Calcule primero las funciones parciales para no intercambiar las entradas de selección 0 y 1.

Tu elección se aplica a este navegador. Puedes cambiarla en el pie de página.