Given a function, e.g. \$y = f(x_0, x_1, x_2, x_3) = \sum m(0, 3, 4, 5, 6, 7, 8, 9, 11, 15)\$. How can i find the minimized function without hazards?
I see this can be minimized using a Karnaugh map:
\$\Rightarrow y = (x_1 x_0) + (\overline{x}_3 x_2) + (\overline{x}_2 \overline{x}_1 \overline{x}_0) + (x_3 \overline{x}_2 \overline{x}_1)\$
To make this function hazard free the implicants \$\overline{x}_0 \overline{x}_1 \overline{x}_3\$ and \$x_0 \overline{x}_2 x_3\$ need to be added right?
\$\Rightarrow y = (x_1 x_0) + (\overline{x}_3 x_2) + (\overline{x}_2 \overline{x}_1 \overline{x}_0) + (x_3 \overline{x}_2 \overline{x}_1) + (\overline{x}_0 \overline{x}_1 \overline{x}_3) + (x_0 \overline{x}_2 x_3)\$
How can this function be minimized? Because by reducing it, hazards could be created again, couldn't they?
-
\$\begingroup\$ This might be a better question on the Math Stackexchange. \$\endgroup\$– user103380Dec 31, 2017 at 22:48
-
\$\begingroup\$ @kingduken if at all, more likely cs.se but here some people will use it too. \$\endgroup\$– PlasmaHHJan 1, 2018 at 12:39
1 Answer
You added the right terms to "cover the abutments of boundaries of a minimal cover" minimally (minimal consensus terms):
For sum-of-products, you're done using 22 inputs, 7 outputs (+ 4 inverters).
(Starting with a different minimal cover out of four results in the exact same implementation.)
Seeing 6 0s vs. 10 1s, consider POS:
\$\Rightarrow y = ({x}_3+{x}_2+{x}_1+\overline{x}_0) ({x}_2 +\overline{x}_1+{x}_0) (\overline{x}_3+\overline{x}_1+{x}_0) (\overline{x}_3+\overline{x}_2+{x}_0) (\overline{x}_3+\overline{x}_2+{x}_1)\$
– 21 inputs, 6 outputs (+ 4 inverters).