A third state besides 0 and 1
An ordinary gate output is always actively driving either 0 or 1. A tri-state buffer adds a third possibility: when its Enable input is low, the output disconnects entirely — high impedance (Hi-Z) — as if the wire were unplugged rather than driven to any voltage. Boolflow models this directly with its TRIBUF element: one data input, one enable input, one output that either follows the data or floats.
Why share a wire at all
A bus is a set of wires that several devices need to write to at different times — a memory bus with multiple chips, or a register file with multiple read ports feeding one output. Instead of routing every source through a multiplexer, tie several tri-state buffer outputs directly to the same wire and enable exactly one driver at a time; whichever buffer is enabled writes the bus, and every other buffer stays disconnected.
Contention and floating buses
Two failure modes come from getting the enable logic wrong. Enable two drivers at once when they disagree, and both actively fight to drive the same wire to opposite voltages — contention, which in real hardware wastes power and can damage the drivers. Enable zero drivers, and the bus floats: whatever reads it sees an undefined, noise-sensitive value rather than a clean 0 or 1.
What Boolflow's Check tool actually catches
Boolflow's Check tool validates ordinary wiring — every input pin that needs a driver has one, and every output pin that should go somewhere does — but it has no special understanding of tri-state sharing, so two TRIBUFs enabled onto the same wire at once won't be flagged as contention the way a real EDA timing/DRC pass would. Keeping exactly one driver enabled at a time is a discipline the designer has to maintain by hand, not something the simulator verifies for you.
Try it yourself
Build a shared bus from two TRIBUF elements in the circuit editor, toggle their Enable lines by hand, and watch what the simulator actually does — rather than reports — when both are briefly active at once.