bus-holder
A weak latch circuit that holds the last value on a tristate bus.
bus-holder: a latch that remembers the last signal
A bus-holder is a weak pull-up or pull-down transistor that maintains the last voltage level on a tristate bus when all active drivers are disabled. When no device is actively driving the bus, the bus-holder prevents the line from floating to an undefined state by applying a gentle current that keeps the voltage at logic high or logic low, depending on the design. This ensures that any receiver reading the bus sees a defined value rather than noise or an indeterminate state.
The bus-holder is called weak because its pull transistor has high impedance: typically in the kilohm range. This weakness is intentional. If a new driver wants to take control of the bus, it must be able to overpower the bus-holder and pull the line to a new voltage without excessive current draw. A strong pull-up or pull-down would fight new drivers and waste power. The bus-holder yields as soon as any device begins driving with normal strength.
Why the bus-holder matters
Tristate buses like PCI or parallel data lines frequently shift between multiple drivers. During transitions between drivers, even microseconds of undriven bus can cause capacitive coupling to pick up noise, cross-talk from adjacent signals, or electromagnetic interference. A floating bus can also trigger multiple input stages simultaneously, causing ghost reads and data corruption. The bus-holder eliminates this window of vulnerability by holding the last valid state. This is cheaper and faster than waiting for explicit pull-up resistors to settle the bus after every transition.
Bus-holders are typically integrated into I/O buffer cells on FPGAs, ASICs, and microcontrollers. They are also found as discrete components in legacy parallel bus designs. Because they dissipate very little power when holding, they add minimal thermal load. However, bus-holder strength must be carefully matched to bus capacitance and slew rates; a bus-holder that is too weak will not hold the level against noise, while one that is too strong will waste power and slow new drivers unnecessarily.