Episode 6.06 – Don’t Cares as Inputs

Click here to download the episode worksheet.

Welcome to the Geek Author series on Computer Organization and Design Fundamentals. I’m David Tarnoff, and in this series, we are working our way through the topics of Computer Organization, Computer Architecture, Digital Design, and Embedded System Design. If you’re interested in the inner workings of a computer, then you’re in the right place. The only background you’ll need for this series is an understanding of integer math, and if possible, a little experience with a programming language such as Java. And one more thing. Due to the computational nature of this episode, you might want to visit the transcript page found at intermation.com to download the episode worksheet.

We’re going to take a one episode long break from Karnaugh maps to continue our discussion about those little truth table wild cards called “don’t cares”. In Episode 6.05 – Don’t Cares, we showed how the use of “don’t cares” can result in simpler sum-of-products expressions.

Don’t cares can also appear as inputs to a truth table. This is typically done to reduce the number of rows in an effort to make the purpose of the defined operation clearer.

In Episode 6.04 – Four-Variable Karnaugh Map Example, we presented a security system with four inputs: an armed signal, a glass break detector, a door open sensor, and a motion detector. We talked about how regardless of whether the system is armed, if glass is broken, we want the alarm to sound. That means we could simplify our truth table by having a row of the truth table with an X in the armed column, a one in the glass break detector column, an X in the door open column, and an X in the motion detector column with a 1 in the output column. This one row takes care of eight input conditions and reduces our truth table to just nine rows. It also better describes the operation by indicating that regardless of any other inputs, if glass is broken, turn on the alarm.

An additional simplification could be achieved to represent when the system is disarmed and the glass is not broken. In this case, no alarm should be sounding regardless of what is happening with the motion and door sensors. That places a zero in the output column for a row with inputs identified using a zero in the armed column, a zero in the glass break detector column, an X in the door open column, and an X in the motion detector column. This condenses four more rows into a single row of our truth table.

There are two other modifications that can take three of the rows where glass is not broken and combine them into two. If the system is armed and motion is detected, then it doesn’t matter if the door is open. We will set off the alarm. That means that the output should be one when A is one, G is zero, D is a don’t care, and M is a one. The same is true if the door is open – it doesn’t matter if there’s motion. That means that the output should be one also when A is one, G is zero, D is a one, and M is a don’t care.

This reduces our final truth table to just five rows. The top row has a zero output when A equals zero, G equals zero, and both D and M are don’t cares. The next row outputs a one if G equals one while A, D, and M are all don’t cares. There is a row that shows an output of zero for the armed, but no points tripped case where A equals one while G, D, and M are all zero. Note that this is the only row without any don’t cares for inputs. The next row has a one output when A is one, G is zero, D is a don’t care, and M is a one. Finally, the last row outputs a one when A is one, G is zero, D is a one, and M is a don’t care.

In our next episode, we are going to do one more Karnaugh map example with don’t cares. For episode transcripts, worksheets, links, or other podcast notes, please visit us at intermation.com where you will also find links to our Instagram, Twitter, Facebook, and Pinterest pages. Until the next episode, remember that while the scope of what makes a computer is immense, it’s all just ones and zeros.