HOME

TheInfoList



OR:

In
electronics Electronics is a scientific and engineering discipline that studies and applies the principles of physics to design, create, and operate devices that manipulate electrons and other Electric charge, electrically charged particles. It is a subfield ...
, a multiplexer (or mux; spelled sometimes as multiplexor), also known as a data selector, is a device that selects between several analog or digital input signals and forwards the selected input to a single output line. The selection is directed by a separate set of digital inputs known as select lines. A multiplexer of 2^n inputs has n select lines, which are used to select which input line to send to the output. A multiplexer makes it possible for several input signals to share one device or resource, for example, one
analog-to-digital converter In electronics, an analog-to-digital converter (ADC, A/D, or A-to-D) is a system that converts an analog signal, such as a sound picked up by a microphone or light entering a digital camera, into a Digital signal (signal processing), digi ...
or one communications
transmission medium A transmission medium is a system or substance that can mediate the propagation of signals for the purposes of telecommunication. Signals are typically imposed on a wave of some kind suitable for the chosen medium. For example, data can modula ...
, instead of having one device per input signal. Multiplexers can also be used to implement Boolean functions of multiple variables. Conversely, a demultiplexer (or demux) is a device that takes a single input signal and selectively forwards it to one of several output lines. A multiplexer is often used with a complementary demultiplexer on the receiving end. An electronic multiplexer can be considered as a multiple-input, single-output switch, and a demultiplexer as a single-input, multiple-output switch. The schematic symbol for a multiplexer is an
isosceles trapezoid In Euclidean geometry, an isosceles trapezoid is a convex quadrilateral with a line of symmetry bisecting one pair of opposite sides. It is a special case of a trapezoid. Alternatively, it can be defined as a trapezoid in which both legs and bo ...
with the longer parallel side containing the input pins and the short parallel side containing the output pin. The schematic on the right shows a 2-to-1 multiplexer on the left and an equivalent switch on the right. The sel wire connects the desired input to the output.


Applications

Multiplexers are part of computer systems to select data from a specific source, be it a memory chip or a hardware peripheral. A computer uses multiplexers to control the data and address buses, allowing the processor to select data from multiple data sources. In digital communications, multiplexers allow several connections over a single channel by connecting the multiplexer's single output to the demultiplexer's single input (Time-Division Multiplexing). The image to the right demonstrates this benefit. In this case, the cost of implementing separate channels for each data source is higher than the cost and inconvenience of providing the multiplexing/demultiplexing functions. At the receiving end of the
data link A data link is a means of telecommunications link, connecting one location to another for the purpose of transmitting and receiving digital information (data communication). It can also refer to a set of electronics assemblies, consisting of a t ...
a complementary ''demultiplexer'' is usually required to break the single data stream back down into the original streams. In some cases, the far end system may have functionality greater than a simple demultiplexer, and while the demultiplexing still occurs technically, it may never be implemented discretely. This would be the case when, for instance, a multiplexer serves a number of IP network users; and then feeds directly into a router, which immediately reads the content of the entire link into its
routing Routing is the process of selecting a path for traffic in a Network theory, network or between or across multiple networks. Broadly, routing is performed in many types of networks, including circuit-switched networks, such as the public switched ...
processor; and then does the demultiplexing in memory from where it will be converted directly into IP sections. Often, a multiplexer and demultiplexer are combined into a single piece of equipment, which is simply referred to as a ''multiplexer''. Both circuit elements are needed at both ends of a transmission link because most communications systems transmit in both directions. In analog circuit design, a multiplexer is a special type of analog switch that connects one signal selected from several inputs to a single output.


Digital multiplexers

In
digital circuit In theoretical computer science, a circuit is a model of computation in which input values proceed through a sequence of gates, each of which computes a function. Circuits of this kind provide a generalization of Boolean circuits and a mathematica ...
design, the selector wires are of digital value. In the case of a 2-to-1 multiplexer, a logic value of 0 would connect I_0 to the output, while a logic value of 1 would connect I_1 to the output. In larger multiplexers, the number of selector pins is equal to \left \lceil \log_2(n) \right \rceil where n is the number of inputs. For example, 9 to 16 inputs would require no fewer than 4 selector pins and 17 to 32 inputs would require no fewer than 5 selector pins. The binary value expressed on these selector pins determines the selected input pin. A 2-to-1 multiplexer has a Boolean equation where A and B are the two inputs, S_0 is the selector input, and Z is the output: : Z = ( A \wedge \neg S_0) \vee (B \wedge S_0) or : Z = ( A \cdot \overline) + (B \cdot S_0) Which can be expressed as a
truth table A truth table is a mathematical table used in logic—specifically in connection with Boolean algebra, Boolean functions, and propositional calculus—which sets out the functional values of logical expressions on each of their functional arg ...
: Or, in simpler notation: These tables show that when S_0 = 0 then Z = A but when S_0 = 1 then Z = B. A straightforward realization of this 2-to-1 multiplexer would need 2 AND gates, an OR gate, and a NOT gate. While this is mathematically correct, a direct physical implementation would be prone to
race condition A race condition or race hazard is the condition of an electronics, software, or other system where the system's substantive behavior is dependent on the sequence or timing of other uncontrollable events, leading to unexpected or inconsistent ...
s that require additional gates to suppress. Larger multiplexers are also common and, as stated above, require \left \lceil \log_2(n) \right \rceil selector pins for n inputs. Other common sizes are 4-to-1, 8-to-1, and 16-to-1. Since digital logic uses binary values, powers of 2 are used (4, 8, 16) to maximally control a number of inputs for the given number of selector inputs. File:Multiplexer 4-to-1.svg, 4-to-1 mux File:Multiplexer 8-to-1.svg, 8-to-1 mux File:Multiplexer 16-to-1.svg, 16-to-1 mux The Boolean equation for a 4-to-1 multiplexer is: :Z = (A \wedge \neg \wedge \neg S_0) \vee (B \wedge \neg S_1 \wedge S_0) \vee (C \wedge S_1 \wedge \neg S_0) \vee (D \wedge S_1 \wedge S_0) or :Z = (A \cdot \overline \cdot \overline) + (B \cdot \overline. S_0) + (C \cdot S_1 \cdot \overline) + (D \cdot S_1 \cdot S_0) Which can be expressed as a
truth table A truth table is a mathematical table used in logic—specifically in connection with Boolean algebra, Boolean functions, and propositional calculus—which sets out the functional values of logical expressions on each of their functional arg ...
: The following 4-to-1 multiplexer is constructed from 3-state buffers and AND gates (the AND gates are acting as the decoder): The subscripts on the I_n inputs indicate the decimal value of the binary control inputs at which that input is let through.


Chaining multiplexers and mux trees

Larger Multiplexers can be constructed by using smaller multiplexers by chaining them together in what are called "mux trees". For example, an 8:1 multiplexer can be made with two 4:1 multiplexers and one 2:1 multiplexer. The two 4:1 multiplexer outputs are fed into the 2:1 with the selector pins on the 4:1's put in parallel giving a total number of selector inputs to 3, which is equivalent to an 8:1.


List of ICs which provide multiplexing

For
7400 series The 7400 series is a popular logic family of transistor–transistor logic (TTL) integrated circuits (ICs). In 1964, Texas Instruments introduced the SN5400 series of logic chips, in a ceramic semiconductor package. A low-cost plastic package ...
part numbers in the following table, "x" is the logic family.


Digital demultiplexers

Demultiplexers take one data input and a number of selection inputs, and they have several outputs. They forward the data input to one of the outputs depending on the values of the selection inputs. Demultiplexers are sometimes convenient for designing general-purpose logic because if the demultiplexer's input is always true, the demultiplexer acts as a binary decoder. This means that any function of the selection bits can be constructed by logically OR-ing the correct set of outputs. If X is the input and S is the selector, and A and B are the outputs: A = ( X \wedge \neg S) B = ( X \wedge S)


List of ICs which provide demultiplexing

For
7400 series The 7400 series is a popular logic family of transistor–transistor logic (TTL) integrated circuits (ICs). In 1964, Texas Instruments introduced the SN5400 series of logic chips, in a ceramic semiconductor package. A low-cost plastic package ...
part numbers in the following table, "x" is the logic family.


Bi-directional multiplexers

Bi-directional multiplexers are built using analog switches or transmission gates controlled by the select pins. This allows the roles of input and output to be swapped so that a bi-directional multiplexer can function both as a demultiplexer and multiplexer.


Multiplexers as PLDs

Multiplexers can also be used as programmable logic devices, to implement Boolean functions. Any Boolean function of ''n'' variables and one result can be implemented with a multiplexer with ''n'' selector inputs. The variables are connected to the selector inputs, and the function result, 0 or 1, for each possible combination of selector inputs is connected to the corresponding data input. If one of the variables (for example, ''D'') is also available inverted, a multiplexer with ''n''−1 selector inputs is sufficient; the data inputs are connected to 0, 1, ''D'', or ~''D'', according to the desired output for each combination of the selector inputs.


Unconventional use of multiplexers for arithmetic

Multiplexers have found application in unconventional stochastic computing (SC), particularly in facilitating arithmetic addition. In this paradigm, data is represented as a probability bitstream where the number of '1' bits signifies the magnitude of a value. Thus, the function of a 2-to-1 multiplexer can be conceptualized as a probability function denoted as: y = P(a) \times P(1-s)+P(b)\times P(s) , where a and b are the input bitstream and s is the select input. Using the select input = 0.5 yields: y=\frac While this approach doesn't yield exact addition but rather scaled addition, it is deemed acceptable in most SC studies. Multiplexers are extensively utilized for tasks such as average addition, average pooling, and median filtering within SC circuits. Moreover, more sophisticated applications of multiplexers include serving as Bernstein polynomial function generator, capable of producing arbitrary mathematical functions within the SC domain. Recent research has also revealed that combinations of multiplexers can facilitate large-scale multiply-accumulate operation, demonstrating feasibility in accelerating
convolutional neural network A convolutional neural network (CNN) is a type of feedforward neural network that learns features via filter (or kernel) optimization. This type of deep learning network has been applied to process and make predictions from many different ty ...
on field-programmable gate arrays.


See also

*
Digital subscriber line access multiplexer A digital subscriber line access multiplexer (DSLAM, often pronounced ''DEE-slam'') is a network device, often located in telephone exchanges, that connects multiple customer digital subscriber line (DSL) interfaces to a high-speed digital co ...
(DSLAM) * Inverse multiplexer * Multiplexing ** Code-division multiplexing **
Frequency-division multiplexing In telecommunications, frequency-division multiplexing (FDM) is a technique by which the total bandwidth (signal processing), bandwidth available in a communication channel, communication medium is divided into a series of non-overlapping freque ...
** Time-division multiplexing ** Wavelength-division multiplexing **
Statistical multiplexing Statistical multiplexing is a type of digital communication link sharing, sometimes abbreviated as STDM. It is very similar to dynamic bandwidth allocation (DBA). In statistical multiplexing, a communication channel is divided into an arbitrary num ...
** Charlieplexing * Priority encoder * Rule 184, a
cellular automaton A cellular automaton (pl. cellular automata, abbrev. CA) is a discrete model of computation studied in automata theory. Cellular automata are also called cellular spaces, tessellation automata, homogeneous structures, cellular structures, tessel ...
in which each cell acts as a multiplexer for the values from the two adjacent cells * Statistical multiplexer * Ternary conditional operator


References


Further reading

*.


External links

* * {{Authority control Multiplexing Digital circuits