Truth Table Practice Problems

C. Build the following circuits and prove their correctness using truth tables:

1. Build a circuit that simulates a NAND gate using only AND, OR, and NOT gates. You need not use all three types of gate in your design. Use the NAND truth table and one for your circuit to prove that your circuit is correct. 2. Build a circuit that simulates a NOR gate using only AND, OR, and NOT gates. You need not use all three types of gate in your design. Use the NOR truth table and the one for your machine to prove that it is correct. 3. Using only a NAND gate, build circuits to simulate AND, OR and NOT gates. Use the AND, OR, and NOT truth tables and the ones from your machine to prove that it is correct.

Implementing Gates

In the previous sections we saw that, by using very simple Boolean gates, we can implement adders, counters, latches and so on. That is a big achievement, because not so long ago human beings were the only ones who could do things like add two numbers together. With a little work, it is not hard to design Boolean circuits that implement subtraction, multiplication, division... You can see that we are not that far away from a pocket calculator. From there, it is not too far a jump to the full-blown CPUs used in computers. So how might we implement these gates in real life? Mr. Boole came up with them on paper, and on paper they look great. To use them, however, we need to implement them in physical reality so that the gates can perform their logic actively. Once we make that leap, then we have started down the road toward creating real computation devices. The easiest way to understand the physical implementation of Boolean logic is to use relays. This is, in fact, how the very first computers were implemented. No one implements computers with relays anymore -- today, people use sub-microscopic transistors etched onto silicon chips. These transistors are incredibly small and fast, and they consume very little power compared to a relay. However, relays are incredibly easy to understand, and they can implement Boolean logic very simply. Because of that simplicity, you will be able to see that mapping from "gates on paper" to "active gates implemented in physical reality" is possible and straightforward. Performing the same mapping with transistors is just as easy.