Diode Logic (AND/OR)
3 min read
Quick Answer
Diode logic builds an AND or an OR out of diodes and a single resistor, with no active device anywhere. It works, and it is how the first gates were built. It also gives up a forward drop at every stage and has no gain to put back what it lost, which is why it cannot be cascaded.
Pull-up and pull-down resistors already make the case that wiring alone can perform a logic function: give several outputs the ability to drag one line down, hang a resistor on that line, and it reads low if any one of them says low. Diode logic is the same idea with diodes doing the work, and because a diode passes current one way only, the same parts decide in either direction.
For an AND, take the cathodes to the inputs, tie the anodes together at a common node, and run a resistor from that node to the supply. Any input held low pulls the node down through its own diode; only when every input is high does nothing pull, and the resistor takes the node up. For an OR, turn every diode round: anodes to the inputs, cathodes to the common node, resistor to ground. Any input driven high pushes the node up through its diode, and the node stays low only while nothing is driving it. The same parts turned around, one resistor apiece, and nothing else in either.
That is the whole circuit, and it is where the trouble starts. A conducting diode costs a forward drop, and the drop lands on the output. The AND's node, held low, sits one drop above the input that pulled it there, so the low has been raised. The OR's node, driven high, sits one drop below the input that drove it, so the high has been lowered. Each spoils one end of the range and leaves the other alone.
Cascade them and the two ends walk toward each other. Start with a five volt rail, a driver whose low is 0.2 V and a 0.7 V drop: the first AND puts its low out at 0.9 V, a second takes it to 1.6 V, a third has it at 2.3 V, which on that rail is not a low by anybody's reckoning. Those figures are illustrative rather than read off any part. Nothing puts the loss back, because a diode steers current but cannot make a signal larger than the one that arrived, and two or three stages is all it takes for the levels to reach the band between the thresholds that logic levels is about, where a receiver may report whatever it likes.
That is the argument that ended diode logic and started everything after it. Put a transistor after the diodes and it supplies the one thing they cannot: it takes a degraded input and drives a full swing from the supply, so the next stage sees levels as good as the first stage saw. The gates were still made of diodes and the transistor only restored what they cost, which is what diode-transistor logic was named for, and the logic families that followed grew out of it.