Controlled Buffer/Inverter

Library: Gates
Introduced: 2.0 Beta 1


The controlled buffer and inverter, often called three-state buffers/inverters, each have a one-bit "control" input pin on the south side. The value at this control pin affects how the component behaves:

  • When the value on this pin is 1, then the component behaves just like the respective component (a buffer or a inverter (NOT gate)).
  • When the value is 0 or unknown (i.e., floating), then the component's output is also floating.
  • When the value is an error value (such as would occur when two conflicting values are being fed into the input), then the output is an error value.

Controlled buffers can be useful when you have a wire (often called a bus) whose value should match the output of one of several components. By placing a controlled buffer between each component output and the bus, you can control whether that component's output is fed onto the bus or not.


The direction of the component (its output relative to its input).
West edge (input, bit width matches Bit Width attribute)
The component input that will be used to compute the output if the control input is 1.
South edge (input, bit width 1)
The component's control input.
East edge (output, bit width matches Bit Width attribute)
The component's output, which will be floating if the control input is 0 or floating, the error value if the control input is the error value, and will be computed based on the west-side input if the control input is 1.


Data Bits
The bit width of the component's inputs and outputs.

Poke Tool Behavior


Text Tool Behavior


Back to Library Reference