Tri-State Buffer
A tri-state buffer can drive its output high, low, or disconnect it entirely, allowing many devices to share a bus.
Three states
An ordinary gate always drives its output to 0 or 1. A tri-state buffer adds a third option: a high-impedance state, written Z, in which the output is effectively disconnected and drives nothing. An enable input selects between driving and disconnecting.
Behavior
When the enable is active the buffer passes its input to the output normally. When the enable is inactive the output goes to high impedance regardless of the input, as if the buffer were unplugged from the wire.
Behavior table
| Enable | In | Out |
|---|---|---|
| 0 | 0 | Z |
| 0 | 1 | Z |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Why it enables buses
On a shared bus, only one device may drive the line at a time. Tri-state buffers let each device disconnect when it is not the active driver, so many outputs can connect to the same wire without conflict. Control logic ensures exactly one buffer is enabled at any moment.
Bus contention
If two tri-state buffers on the same line are enabled at once and drive opposite values, the result is bus contention: an undefined level and potentially damaging current. Correct designs guarantee at most one enabled driver per line.