The missing piece is called a transmission gate the symbol is usually drawn like two intersecting triangles or a six-pointed star. This is not a Boolean value, it's a practical digital logic state represented by the combination of two Boolean variables. There is a way to model tri-state output behavior, but it requires using two Boolean variables instead of one: one variable is used to enable the output, and when not-enabled, then the value of the pin is tri-state.
This is closely related to open-drain outputs or open-collector outputs, which can only pull the signal to logic low but require an external passive device to make the logic high default signal when no driver is active. Typically the use case for tri-state logic is to allow more than one device to share the output driving capability, though not all can drive the output at the same time. Usually there is a requirement for some passive termination to pull the signal to some predetermined level, like VDD/2, otherwise the voltage could drift into the logic low or logic high range. But if the transistors that drive the output are "switched off", then the output pin is no longer driven by the output: that's what is meant by "high-impedance" or "tri-state".Īt a system level, what happens when a device makes its output high-impedance (or tri-state), is not determined by the tri-state device but rather determined by other parts of the system. Outputs need to be able to drive the parasitic capacitance of wiring and PCB routes, so an output needs to be fairly low impedance (<100 ohms). Inputs are expected to draw negligible input current, so their input impedance needs to be fairly high (>6000 ohms). What makes an output an output is its relatively low source impedance. There is a range of voltages that has no defined logic value this is an essential part of the "noise immunity" which is the primary advantage of digital logic. In practical digital logic circuits, we map the Boolean True and False values to a range of voltages, such as a "logic low" (V 2.4V) for Boolean True. A single Boolean variable must be either True or False, there is no such thing as a Boolean tri-state value. There is no set of Boolean operators that can produce a value that is simultaneously not-True and not-False. But there is a missing piece if you're trying to model a tri-state system. The Boolean operators by itself is also sufficient (since NOT X = X NAND X, A AND B = NOT (A NAND B), A OR B = (NOT A) NAND (NOT B)). Boolean logic (propositional calculus) is an idealized, mathematical formal system which has exactly two variable values, True and False.