Buffer
A buffer passes its input to its output unchanged, restoring signal strength and adding controlled drive or delay.
What it does
A buffer is a gate whose logical output equals its input: 0 stays 0 and 1 stays 1. It changes nothing about the logic but a great deal about the electrical behavior.
Truth table
| A | OUT |
|---|---|
| 0 | 0 |
| 1 | 1 |
Why a do-nothing gate is useful
- Drive strength: a buffer can source and sink more current, so one signal can feed many loads.
- Level restoration: it cleans up a degraded or slow edge back to a sharp logic level.
- Isolation: it separates a sensitive node from a heavy load that would slow it.
- Deliberate delay: a chain of buffers adds predictable propagation time.
How it is built
The simplest buffer is two inverters in series: the first inverts, the second inverts back, and the pair delivers strong drive with the original polarity. A single-stage non-inverting buffer can also be designed directly.
In code
out = a # a buffer is the identity function
Relation to the tri-state buffer
Adding an enable control turns a plain buffer into a tri-state buffer, which can also disconnect from the wire entirely. That variant is essential for shared buses, whereas the plain buffer is about strength and timing.
A buffer is the identity of logic and the amplifier of electronics, doing nothing to the value while doing everything for the signal.