Demultiplexer

Library: Plexers
Introduced: 2.0 Beta 11
Appearance:

Behavior

Copies the input on the west edge onto exactly one of the outputs on the east edge; which of these outputs is specified via the current value received through the input on the south edge. I find it useful to think of a demultiplexer as analogous to a railroad switch, controlled by the select input.

(Incidentally, some authorities spell this demultiplexor, but demultiplexer is the predominant spelling.)

Pins

West edge (input, bit width matches Data Bits attribute)
The value to be routed to one of the outputs on the east edge.
East edge, variable number (outputs, bit width matches Data Bits attribute)
The outputs are numbered starting with 0 on the north. An output will match the west input if its number matches the value currently received through the select input on the south; otherwise, its value will be either all-zeroes or all-floating, depending on the value of the Three-State? attribute. If the select input contains any unspecified bits, then all outputs are floating.
South edge (input, bit width matches Select Bits attribute)
Select input: The value of this input determines to which output on the east edge to route the value received on the west edge.

Attributes

Facing
The direction of the component (specifying which side has the outputs).
Select Bits
The bit width of the component's select input on its south edge. The number of outputs for the demultiplexer will be 2selectBits.
Data Bits
The bit width of the data being routed through the demultiplexer.
Three-state?
Specifies whether the unselected outputs should be floating (Yes) or zero (No).

Poke Tool Behavior

None.

Text Tool Behavior

None.

Back to Library Reference