I'm having a hard time understanding how to find the don't-care values in a Karnaugh map. What does it even mean? If I have a boolean function, say $f(a,b,c,d)=a'bc+abc'+bc'd+a'bc'd$, how would I determine don't-care values? What would I be looking for?
Determining don't-care values in a Karnaugh Map
-
0Ya I saw that, but I'm using a Mac:( I'm installing Windows as we speak though.. – 2011-02-09
2 Answers
You are not looking for anything. Don't-care values in a Karnaugh map relate to output that is generally not reachable under normal circumstances and allow you to simplify the logic more than you would normally be able to. Because of this, don't-care values must be explicitly given, or understood from some statement akin to "the values a'bcd and ab'c' will never be used as input".
For an example, consider the input logic to a seven-segment display (the display you see on digital alarm clocks, microwaves, etc.) The input to a seven-segment display is often a number between $0$ and $9$, represented with 4 bits. Since the numbers $10$ through $15$ are also valid combinations of those 4 bits, the logic would theoretically work and determine output values if that was the input received. But because that input is never expected, it doesn't matter what would happen on the display if the number $12$ were received. The display could show a $4$ or an $8$ or any combination of the segments. Thus, when determining the logic for such things, you can put an X in the Karnaugh map under the values that correspond to $10, \dots, 15$ and they will often simplify the logic. This ultimately results in fewer logic gates necessary in hardware, which is always a good thing.
-
0@mohabitar I think there may be an error in the problem statement. Given that answer I think the last term in the function should be $a'bc'd'$ instead of $a'bc'd$. The term as-is is obviously already included in the third term, $bc'd$. If the problem statement is correct, and you are trying to find the locations where there must be don't cares for that statement to be satisfied, there must be a don't care for $a'bc'd'$. Posting the entire problem statement as it appears in the original source would be helpful. – 2011-02-09
To solve the problem, try to write the function in a simplified form. Now draw a $k$-map for both the simplified function and the original function. Compare the the two functions and any $1$'s that are present in one and not in the other will be your don't cares.