DOC PREVIEW
U of I CS 231 - Multiplexers

This preview shows page 1-2-3-4-5 out of 14 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

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 1Multiplexers• A 2n-to-1 multiplexer sends one of 2ninput lines to a single output line. – A multiplexer has two sets of inputs:• 2ndata input lines• n select lines, to pick one of the 2ndata inputs– The mux outputis a single bit, which is one of the 2ndata inputs.• The simplest example is a 2-to-1 mux:Q = S’ D0 + S D1Multiplexers 2• 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).Q = S’ D0 + S D1More truth table abbreviations• Here is a full truth table for this 2-to-1 mux, based on the equation:SD1D0Q0 0 0 00 0 1 10 1 0 00 1 1 11 0 0 01 0 1 01 1 0 11111Q = S’ D0 + S D1Multiplexers 3• 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.1111S Q0D01 D1A 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.EN’ S1 S0 Q0 0 0 D00 0 1 D1010D2Multiplexers 4010D20 1 1D31 x x 1Q = S1’ S0’ D0 + S1’ S0 D1 + S1 S0’ D2 + S1 S0 D3Implementing functions with multiplexers• Muxes can be used to implement arbitrary functions.• One way to implement a function of nvariables is to use an n-to-1mux:– For each minterm miof 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).xyzfMultiplexers 5xyzf0 0 0 0001 1010101 10100010101 1011 1 1 1A 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 group the rows into pairs. Within each pair of rows, x and y are the same, so f is a function of z only.– When xy=00, f=z– When xy=01, f=z’– When xy=10, f=0–When xy=11, f=1x y z f0 0 0 00 0 1 10 1 0 101 101 0 0 010101101Multiplexers 6–When xy=11, f=1• Step 2: Connect the first two input variables of the truth table (here, x and y) to the select bits S1 S0 of the 4-to-1 mux.• Step 3: Connect the equations above for f(z) to the data inputs D0-D3.11011 1 1 1Example: multiplexer-based adder• 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.XYZC0 0 0 00010Multiplexers 7001001000111100010111 1011 111With S1=X and S0=Y, thenQ=X’Y’D0 + X’YD1 + XY’D2 + XYD3Equation for the multiplexerMultiplexer-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.X Y Z C0 0 0 000100 1 0 001111000When XY=00, C=0When XY=01, C=ZMultiplexers 8100010111 1 0 11 111C = 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)When XY=10, C=ZWhen XY=11, C=1Multiplexer-based sum• Here’s the same thing, but for the sum function S(X,Y,Z). X Y Z S0 0 0 000110 1 0 101101001When XY=00, S=ZWhen XY=01, S=Z’Multiplexers 9100110101 1 0 01 111S = 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)When XY=10, S=Z’When XY=11, S=ZDual multiplexer-based full adder• We need two separate 4-to-1 muxes: one for C and one for S.• But sometimes it’s convenient to think about the adder output as being a single 2-bit number, instead of as two separate functions.• A dual 4-to-1 mux gives the illusion of 2-bit data inputs and outputs.– It’s really just two 4-to-1 muxes connected together.– In LogicWorks, it’s called a “Mux-4x2 T.S.”Multiplexers 10Dual muxes in more detail• You can make a dual 4-to-1 mux by connecting two 4-to-1 muxes. (“Dual” means “two-bit values.”)• LogicWorks labels input bits xDy, which means “the xth bit of data input y.”• In the diagram on the right, we’re using S1-S0 to choose one of the following pairsof inputs:–2D3 1D3, when S1 S0 = 11Multiplexers 11–2D3 1D3, when S1 S0 = 11– 2D2 1D2, when S1 S0 = 10– 2D1 1D1, when S1 S0 = 01– 2D0 1D0, when S1 S0 = 00You can see how 8-way multiplexer (k-to-1) can be used to select from a set of (k) 8-bit numbersSummary• A 2n-to-1 multiplexer routes one of 2ninput lines to a single output line.• Just like decoders,– Muxes are common enough to be supplied as stand-alone devices for use in modular designs.– Muxes can implement arbitrary functions.• We saw some variations of the standard multiplexer:– Smaller muxes can be combined to produce larger ones.–We can add active-low or active-high enable inputs.•As always, we use truth tables and Boolean algebra to analyze things.Multiplexers 12–•As always, we use truth tables and Boolean algebra to analyze things.• Wednesday, we start to discuss how to build circuits to do arithmetic.Practice• Implement F(x,y,z) = ∑m(1,3,4,5) using a decoder.Multiplexers 13Practice• Implement F(x,y,z) = ∑m(1,3,4,5) using a multiplexer.Multiplexers


View Full Document

U of I CS 231 - Multiplexers

Documents in this Course
Counters

Counters

23 pages

Latches

Latches

22 pages

Lecture

Lecture

33 pages

Lecture

Lecture

16 pages

Lecture

Lecture

4 pages

Datapaths

Datapaths

30 pages

Lecture

Lecture

6 pages

Registers

Registers

17 pages

Datapaths

Datapaths

28 pages

Decoders

Decoders

20 pages

Load more
Download Multiplexers
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Multiplexers and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Multiplexers 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?