# Input and Multiplexers

Topics: Input, Output, Multiplexer Pages: 6 (1121 words) Published: May 2, 2013
Multiplexers
•  Today, we’ll study multiplexers, which are just as commonly used as the decoders we presented last time. Again, –  These serve as examples for circuit analysis and modular design. –  Multiplexers can implement arbitrary functions. –  We will actually put these circuits to good use in later weeks, as building blocks for more complex designs.

Multiplexers

1

Multiplexers
•  A 2n-to-1 multiplexer sends one of 2n input lines to a single output line. –  A multiplexer has two sets of inputs: •  2n data input lines •  n select lines, to pick one of the 2n data inputs –  The mux output is a single bit, which is one of the 2n data inputs. •  The simplest example is a 2-to-1 mux: Q = S’ D0 + S D1

•  The select bit S controls which of the data bits D0-D1 is chosen: –  If S=0, then D0 is the output (Q=D0). –  If S=1, then D1 is the output (Q=D1).

Multiplexers

2

More truth table abbreviations
•  Here is a full truth table for this 2-to-1 mux,
based on the equation: Q = S’ D0 + S D1

•  Here is another kind of abbreviated truth table. –  Input variables appear in the output column. –  This table implies that when S=0, the output –  Q=D0, and when S=1 the output Q=D1. This is a pretty close match to the equation.

Multiplexers

3

A 4-to-1 multiplexer
•  Here is a block diagram and abbreviated truth table for a 4-to-1 mux. •  Be careful! In LogicWorks the multiplexer has an active-low EN input signal. When EN’ = 1, the mux always outputs 1.

Q = S1’ S0’ D0 + S1’ S0 D1 + S1 S0’ D2 + S1 S0 D3

Multiplexers

4

Implementing functions with multiplexers
•  Muxes can be used to implement arbitrary functions. •  One way to implement a function of n variables is to use an n-to-1 mux: –  For each minterm mi of the function, connect 1 to mux data input Di. Each data input corresponds to one row of the truth table. –  Connect the function’s input variables to the mux select inputs. These are used to indicate a particular input combination. For example, let’s look at f(x,y,z) = Σm(1,2,6,7).

•

Multiplexers

5

A more efficient way
•  We can actually implement f(x,y,z) = Σm(1,2,6,7) with just a 4-to-1 mux, instead of an 8-to-1.

•  Step 1: Find the truth table for the function, and –  When xy=00, f=z –  When xy=01, f=z’ –  When xy=10, f=0 –  When xy=11, f=1

group the rows into pairs. Within each pair of rows, x and y are the same, so f is a function of z only.

•  Step 2: Connect the first two input variables of the •  Step 3: Connect the equations above for f(z) to the data inputs D0-D3.

truth table (here, x and y) to the select bits S1 S0 of the 4-to-1 mux.

Multiplexers

6

What should be the values of D0 .. D3? A) D0=0; D1=X;D2=1; D3=X’ B) D0=1; D1=X’;D2=0; D3=X C) D0=0; D1=X’;D2=1; D3=X D) D0=X; D1=X’;D2=0; D3=1

y z

Multiplexers

7

•  Let’s implement the adder carry function, C(X,Y,Z), with muxes. •  There are three inputs, so we’ll need a 4-to-1 mux. •  The basic setup is to connect two of the input variables (usually the first two in the truth table) to the mux select inputs.

With S1=X and S0=Y, then Q=X’Y’D0 + X’YD1 + XY’D2 + XYD3 Equation for the multiplexer Multiplexers 8

Multiplexer-based carry
•  We can set the multiplexer data inputs D0-D3, by fixing X and Y and finding equations for C in terms of just Z.

When XY=00, C=0 When XY=01, C=Z When XY=10, C=Z When XY=11, C=1 C = X’ Y’ D0 + X’ Y D1 + X Y’ D2 + X Y D3 = X’ Y’ 0 + X’ Y Z + X Y’ Z + X Y 1 = X’ Y Z + X Y’ Z + XY = Σm(3,5,6,7) Multiplexers 9

Multiplexer-based sum
•  Here’s the same thing, but for the sum function S(X,Y,Z).

When XY=00, S=Z When XY=01, S=Z’ When XY=10, S=Z’ When XY=11, S=Z S = X’ Y’ D0 + X’ Y D1 + X Y’ D2 + X Y D3 = X’ Y’ Z + X’ Y Z’ + X Y’ Z’ + X Y Z = Σm(1,2,4,7)

Multiplexers

10

•  We need two separate 4-to-1 muxes: one for C and one for S. •  But sometimes it’s...