Driven or Undriven?
For a node in a circuit to have a defined voltage, and thus a defined logic level, it must be driven, or forced, to that voltage. When we created CMOS gates, each gate created high and low logic levels on its output by using pull-up and pull-down switch networks to connect that node to a source of a known voltage (the definitions of high and low). That is what driving the node means -- connecting it to a source of known voltage.
The outputs of two driving gates cannot be connected together, because if one drives high and the other drives low, that creates a
In some situations, it can be beneficial to not drive a signal. A signal that is not driven is said to be floating, or in a high-impedance state. "Impedance" here means electrical resistance. Driving a node means creating a low-impedance path to a voltage source, so if there is no such path, the node has high impedance to all sources.
Signals in a digital system are typically driven high or low, so not being driven is a kind of third state, so signals that are designed to be able to be in the high impedance state are often called "tri-state" signals (or "tristate" or "tri-statable"). Engineers are a bit loose with that term; for example, a "tri-stated signal" means that it is in the high-impedance state, not just that it can be.
The standard symbol for impedance is Z, so "high impedance" is often shortened to "high-Z" or "hi-Z,", and in situations where logical state is abbreviated with '1' and '0' (like in truth tables), high impedance is abbreviated as 'Z'.
Tri-state Drivers
With gates with tri-state outputs, there is typically an input dedicated to controlling whether the gate drives its output or not. The simplest such gate is a tri-state driver (or tri-state buffer), which is a non-inverting single-input gate that can tri-state its output.
It is possible to create such a gate using similar methods to those covered when we looked at CMOS. The starting point might be to describe when the pull-up and pull-down networks should create connections based on the output enable signal and the input:
OE | in | out | p.u. | p.d. |
---|---|---|---|---|
0 | 0 | Z | no | no |
0 | 1 | Z | no | no |
1 | 0 | 0 | no | yes |
1 | 1 | 1 | yes | no |
In the first two rows, where OE is 0, neither switch network creates a connection, so the output is left high impedance. In the bottom two rows, where OE is 1, the pull-up and pull-down networks connect to drive the output to the same value as the input.
The implementation in CMOS would then look something like this:
Transmission Gates
Instead of creating a full gate capable of both driving and tri-stating its output, it is also possible to use FETs to simply connect or disconnect one node from another. The most effective structure for doing that looks like this (along with an annotated copy in case it just looks like a jumble of lines):
This is a transmission gate, or t-gate, or pass gate. When the lower control input is high and the upper control input is low, the FETs are active, and electrons can pass between the two terminals. When the input values are reversed, both FETs are inactive, and signals are blocked. The symbol for a t-gate looks like this:
The symbol is derived from the symbol for a non-inverting buffer facing both directions, because a t-gate can be reversed. Note that the bubble on the top control input indicates that that input is active-low.
Using T-gates
T-gates are used to disconnect one node from another, and a common reason to do that is so that some other device can drive the node. Consider this structure:
When input sel
is low, the top t-gate is active and passes signal A
onto the shared node. The bottom t-gate is inactive, which prevents signal B
from interfering. When input sel
is high, the t-gates are switched, and signal B
can drive the shared node while signal A
is blocked.
Note that for the shared node to be driven, signals A and B must be driven by something. T-gates cannot drive -- they have no internal connection to a voltage source.
Summary
- A node that is forced to a known voltage is said to be driven, and the opposite of driven is undriven (or simply "not driven").
- An undriven signal is said to be in the "high-impedance" state.
- Gates that are capable of not driving their outputs are said to have tri-state outputs, with the "third" state being high impedance, denoted as 'Z'.
- A transmission gate can be used to allow or prevent one signal from driving another.