Para poder mantenerme sano mientras escribo esta respuesta, usaré la nomenclatura con la que estoy más familiarizado.
- \ $ \ bar x \ $ en lugar de ~ x
- \ $ xy \ $ en lugar de x * y
- \ $ x + y \ $ en lugar de x + y
- \ $ x_0 \ $ en lugar de x0
¿Puede alguien mostrarme cómo minimizar z2 y z1?
Tratemos de \ $ z_2 \ $ primero.
$$
\ begin {align}
z_2 & = x_1 (\ bar x_0) y_1 + x_1y_1 (\ bar y_0) \\
z_2 & = x_1y_1 (\ bar x_0 + \ bar y_0) \\
z_2 & = x_1y_1 \ overline {x_0 y_0} \\
\ end {align}
$$
Bien, ahora hemos terminado con \ $ z_2 \ $
Tiempo para \ $ z_1 \ $
$$
\ begin {align}
z_1 & = x_1 (\ bar y_1) y_0 + x_1 (\ bar x_0) y_0 + (\ bar x_1) x_0y_1 + x_0y_1 (\ bar y_0) \\
z_1 & = x_1y_0 (\ bar y_1 + \ bar x_0) + x_0y_1 (\ bar y_0 + \ bar x_1) \\
z_1 & = x_1y_0 \ overline {y_1x_0} + x_0y_1 \ overline {y_0x_1} \\
\ end {align}
$$
Entonces recapitulemos lo que realmente tenemos.
\ $
z_3 = x_0x_1y_0y_1 \\
z_2 = x_1y_1 \ overline {x_0 y_0} \\
z_1 = x_1y_0 \ overline {y_1x_0} + x_0y_1 \ overline {y_0x_1} \\
z_0 = x_0y_0
\ $
¿Puedes ver alguna expresión algebraica que se use varias veces en las 4?
Puedo ver que \ $ x_1y_0 \ $ y \ $ x_0y_1 \ $ se usan dos veces en \ $ z_1 \ $. Vamos a introducir dos señales. Una llamada \ $ A = x_1y_0 \ $ y \ $ B = x_0y_1 \ $.
Puedo ver que \ $ x_1y_0 \ $ y \ $ x_0y_1 \ $ hace \ $ z_3 \ $.
Puedo ver que \ $ z_0 \ $ es una parte de \ $ z_2 \ $.
Vamos a actualizar lo que tenemos.
\ $
z_3 = AB \\
z_2 = x_1y_1 \ overline {z_0} \\
z_1 = A \ overline {B} + B \ overline {A} = A \ oplus B \\
z_0 = x_0y_0 \\
A = x_1y_0 \\
B = x_0y_1
\ $
Contemos cuántas puertas tenemos.
\ $
z_3 = \ text {1 AND gate} \\
z_2 = \ text {2 AND gates, 1 NOT gate} \\
z_1 = \ text {1 XOR gate} \\
z_0 = \ text {1 AND gate} \\
A = \ text {1 AND gate} \\
B = \ text {1 AND gate}
\ $
8, igual que tú. ¿Con cuál crees que necesitamos trabajar para reducir el número de puertas?
Creo que \ $ z_2 \ $, porque esa tiene la mayor cantidad de puertas. El problema es claramente cómo se agrega \ $ z_0 \ $ a \ $ z_2 \ $.
Entonces, ¿cómo podemos reescribir \ $ z_2 = x_1y_1 \ overline {x_0 y_0} \ $?
$$
\ begin {align}
z_2 & = x_1y_1 \ overline {z_0} \\\\
z_2 & = (x_1y_1) \ overline {z_0} \\\\
z_2 & = \ overline {\ overline {(x_1y_1) \ overline {z_0}}} \\\\
z_2 & = \ overline {\ overline {(x_1y_1)} + \ overline {\ overline {z_0}}} \\\\
z_2 & = \ overline {\ overline {(x_1y_1)} + z_0} \\\\
\ end {align}
$$
Eso es mejor! \ $ z_2 \ $ ahora requiere solo una puerta NOR y una puerta NAND. 2 puertas en lugar de 3. Misión cumplida.
Para mayor claridad, estas son las expresiones algebraicas finales que desea utilizar:
\ $
z_3 = AB \\
z_2 = \ overline {\ overline {(x_1y_1)} + z_0} \\
z_1 = A \ oplus B \\
z_0 = x_0y_0 \\
A = x_1y_0 \\
B = x_0y_1
\ $