Min-term and Max-term Don’t-Cares

A recent homework assignment in my digital electronics course must have made people ask my professor about how don’t-cares were represented in the functions, because he sent an email out explaining that \( + d \) represented don’t-cares for a min-term list and \( \cdot D \) represented don’t-cares for a max-term list. I would have assumed that to be the case anyway. However, it still struck up the question in my mind of why are the two represented differently anyway?

The reason I question this is because don’t-cares can be either 1’s or 0’s without altering the outcome of the function. So, in that case, whether we choose to express don’t-cares with a lower-case \( d \) or an upper-case \( D \), does it really matter? The don’t-cares will have the same values whether we’re looking at the function in terms of SOP or POS. I understand that it looks nicer to have a capitalized \( D \) with the capitalized \( M \) of the max-term list, but, in reality, the values of the don’t-cares remain the same within the same function whether we are looking at the min-term or max-term list of the function. Is that not entirely true? So why bother transitioning between the lower-case or upper-case to represent the numerical form in the function? It just seems pointless to me. A lower-case \( d \) isn’t going to throw the appearance of the expression off just because it is shown with a max-term list and ANDed as opposed to ORed with a min-term list.

\( f(A,B,C,D)=\prod M(1,2,3) \cdot d(0,4,5) \) works just as well as \( f(A,B,C,D)=\prod M(1,2,3) \cdot D(0,4,5) \)

Hamming Code

I’m just now getting exposed to Hamming Code in my Digital Electronics class, and I must say that I’m shocked that I’ve never heard of this before in any prior electronics classes – even if just being briefly mentioned. Parity bits used to identify minor errors is quite familiar, but Hamming Code was never mentioned.

My professor actually studied under Dr. Hamming, which makes learning about Hamming’s code that much more interesting to learn about, though it’s a pretty nifty and interesting either way you look at it.

I must say that the process of encoding and decoding is fairly straight-forward. It doesn’t seem too difficult to work out, though it does get progressively more work-demanding as the message that you’re encoding/decoding grows. And, of course, you have to watch out for conversion errors.