The XOR (exclusive OR) and the XNOR (exclusive NOR) digital functions are very valuable in digital logic. While not a specific logic gate, their functionality is important.
OR | XOR
A B | O | O A B | O | O
0 0 | 0 | 0 0 0 | 1 | 1
0 1 | 1 | 1 0 1 | 0 | 0
1 0 | 1 | 1 1 0 | 0 | 0
1 1 | 1 | 0 1 1 | 0 | 1
The only real difference between an OR and a XOR function is when both inputs are true. In boolean algebra, the XOR function is written as a plus sign with a circle around it. The schematic symbol looks like the regular gate except an extra curve across the inputs.
Another useful gate in digital logic is a "tri-state." While the output of a regular gate is either a logical 1 or a logical 0, a tri-state can also have an "open" condition. This third condition is neither high or low, but a high resistance output. This is very useful in computers, when a data line can have data from different sources. When one source isn't using the line, it's output is turned off so some other output can use the line instead.
INVERTERS, NAND, NOR, just about anything can be a tri-state. For those that cannot be, the output can go into a "pass gate" to do the same thing. A pass gate takes any signal (not just the output of a gate) and permits the "open" condition. A tri-state schematic symbol looks like a regular gate, except for 2 additional inputs (one on the bottom, another on the top). A pass gate's symbol looks like two opposite facing triangles over top of each other.
In a tri-state, two more transistors (1 P-FET and 1 N-FET) are added in series with the rest of the logic, normally added just before the output. That way, the output can be opened quicker. The two extra FETs are normally controlled by an inverter, so that the input of the inverter goes to one FET and the output goes to the other. Remember, a logical 0 turns on a P-FET while it takes a logical 1 for an N-FET. Using an inverter permits one control line to turn both on or both off. Pass gates can be controlled by the same way.
In this case, if input I is a logical 1 the tri-state is open, but a logical 0 will permit the gate to act like a "normal" NOR gate.
Using pass gates, the XOR and XNOR gates become much simpler then the circuit shown in the previous section.
Notice that when B is a logical 1, the bottom pair of pass gates are turned on while the top pair are turned off. The signal that passes through the bottom set is inverted A. Likewise when B is a 0, A passes through the top pair.
For an XNOR, the logic looks almost the same. By simply moving the inverter that A enters we get the opposite output. When B is a logical 1, again the bottom pair of gates are turned on. This time, A is the signal passed.