I'm trying to figure out the boolean expressions I need for drawing a circuit based on a state transition table. I wound up with the k maps below, but I'm not really sure what to do with them. Would I circle 3 or even just 2 x's and the 1 in the left table to make a more general expression for the first table? What do I do with the right side table with it not having any 1's at all?
1 Answer
You should circle 3 don't cares with the 1 and circle nothing in the right hand map.
Each cell in a Karnaugh map represents what is called a "canonical product". For a boolean function, a canonical product is a product containing each variable or its complement exactly once. For instance, in f(a, b, c) = a b c' + a b' c + a' c, both a b c' and a b' c are cannonical products, but a' c is not, because it doesn't contain b or b'.
Adjacent cells in a Karnaugh map can be grouped together. If one cell represents the canonical product a b c, and the cell next to it represents the canonical product a b c', then the group containing both of them represents the product (not canonical) a b. That group would be called a 1-cube, and, in general, groups like this are called j-cubes, where j is the number of variables not represented in the product. A single cell can also be thought of as a 0-cube. So, two adjacent 0-cubes can be combined to make a 1-cube, two 1-cubes can make a 2-cube, and in general, two adjacent j-cubes can make a j+1-cube.
The goal, when using a Karnaugh map to find a sum of products, is to circle all of the 1s, while leaving all of the 0s not circled. 1s can be circled multiple times, because of the properties of logical OR. Also, It doesn't matter if "don't care" terms are circled or not, because we don't care about the output for those combinations of inputs.
Since, a j+n-cube represents a product with n less variables than a j-cube, it also uses n less two-input gates, and is usually more efficient. Since larger cubes are more efficient than smaller cubes, we want to circle all the 1s in the Karnaugh map using the largest cubes possible, and since we don't care about the don't care terms, we can combine the 0-cube around the 1 with the 0-cube of a don't care next to it to make a 1-cube. Then, we can combine the 1-cube of the 1 and don't care with an adjacent 1-cube of two don't cares and end up with a 2-cube containing a 1 and 3 don't cares.
On the other hand, since the right Karnaugh map doesn't contain any 1s, we should not circle anything, because even though we don't care about the output of the don't care terms, adding j-cubes will add gates to out expression, and we want to use a few gates as possible.
-
-
\$\begingroup\$ On the other hand , we could interpret the table with no 1's as always=0 or we could use this to represent tri-state logic if needed and just circle 0-cubes with x= tristate or open circuit for a tristate k-table \$\endgroup\$– D.A.S.Commented Apr 9, 2017 at 3:03