Multiplexers
Outline Larger Multiplexers Standard MSI Multiplexer Implementing Functions with Multiplexers Implementing Functions with Smaller Multiplexers
Outline Larger Multiplexers Standard MSI Multiplexer Implementing Functions with Multiplexers Implementing Functions with Smaller Multiplexers
Larger Multiplexers (1/6) Larger multiplexers can be constructed from smaller ones. An 8-to-1 multiplexer can be constructed from smaller multiplexers like this (note placement of selector lines): 4:1 MUX I0I1I2I3I0I1I2I3 S 1 S 0 4:1 MUX I4I5I6I7I4I5I6I7 S 1 S 0 2:1 MUX S2S2 Y
Larger Multiplexers (2/6) 4:1 MUX I0I1I2I3I0I1I2I3 S 1 S 0 4:1 MUX I4I5I6I7I4I5I6I7 S 1 S 0 2:1 MUX S2S2 Y I0I0 I4I4 I0I0 When S 2 S 1 S 0 = 000
Larger Multiplexers (3/6) 4:1 MUX I0I1I2I3I0I1I2I3 S 1 S 0 4:1 MUX I4I5I6I7I4I5I6I7 S 1 S 0 2:1 MUX S2S2 Y I1I1 I5I5 I1I1 When S 2 S 1 S 0 = 001
Larger Multiplexers (4/6) 4:1 MUX I0I1I2I3I0I1I2I3 S 1 S 0 4:1 MUX I4I5I6I7I4I5I6I7 S 1 S 0 2:1 MUX S2S2 Y I2I2 I6I6 I6I6 When S 2 S 1 S 0 = 110
Larger Multiplexers (5/6) Another implementation of an 8-to-1 multiplexer using smaller multiplexers: Y I0I0 When S 2 S 1 S 0 = 000 4:1 MUX S 2 S 1 I0I1I0I1 2:1 MUX S0S0 I2I3I2I3 S0S0 I4I5I4I5 S0S0 I6I7I6I7 S0S0 I0I0 I4I4 I2I2 I6I6 Q: Can we use only 2:1 multiplexers?
Larger Multiplexers (6/6) A 16-to-1 multiplexer can be constructed from five 4-to-1 multiplexers:
Outline Larger Multiplexers Standard MSI Multiplexer Implementing Functions with Multiplexers Implementing Functions with Smaller Multiplexers
Standard MSI Multiplexer (1/2) 74151A 8-to-1 multiplexer. (a) Package configuration. (b) Function table.
Standard MSI Multiplexer (2/2) 74151A 8-to-1 multiplexer. (c) Logic diagram. (d) Generic logic symbol. (e) IEEE standard logic symbol. Source: The TTL Data Book Volume 2. Texas Instruments Inc.,1985.
Outline Larger Multiplexers Standard MSI Multiplexer Implementing Functions with Multiplexers Implementing Functions with Smaller Multiplexers
Multiplexers: Implementing Functions (1/3) A Boolean function can be implemented using multiplexers. A 2 n -to-1 multiplexer can implement a Boolean function of n input variables, as follows: (i) Express in sum-of-minterms form. Example: F(A,B,C) = A'B'C + A'BC + AB'C + ABC' = m(1,3,5,6) (ii) Connect n variables to the n selection lines. (iii) Put a '1' on a data line if it is a minterm of the function, '0' otherwise.
Multiplexers: Implementing Functions (2/3) This method works because: Output = m 0.I 0 + m 1.I 1 + m 2.I 2 + m 3.I 3 + m 4.I 4 + m 5.I 5 + m 6.I 6 + m 7.I 7 Supplying ‘1’ to I 1,I 3,I 5,I 6, and ‘0’ to the rest: Output = m 1 + m 3 + m 5 + m 6 F(A,B,C) = m(1,3,5,6) mux A B C F
Multiplexers: Implementing Functions (3/3) Example: Use a 74151A to implement: f(x 1,x 2,x 3 ) = m(0,2,3,5) Realization of f(x 1,x 2,x 3 ) = m(0,2,3,5). (a) Truth table. (b) Implementation with 74151A.
Outline Larger Multiplexers Standard MSI Multiplexer Implementing Functions with Multiplexers Implementing Functions with Smaller Multiplexers
Using Smaller Multiplexers (1/6) Earlier, we saw how a 2 n -to-1 multiplexer can be used to implement any Boolean function of n (input) variables. However, we can use a single smaller 2 (n-1) -to-1 multiplexer to implement any Boolean function of n (input) variables. In particular, the earlier function F(A,B,C) = m(1,3,5,6) can be implemented using a 4-to-1 multiplexer (rather than an 8- to-1 multiplexer).
Using Smaller Multiplexers (2/6) Note: Two of the variables, A, B, are applied as selection lines of the multiplexer, while the inputs of the multiplexer contain 1, C, 0 and C'. mux A B C F mux A B C 0 C' F Let’s look at this example: F(A,B,C) = m(0,1,3,6) = A’B’C’ + A’B’C + A’BC + ABC’ A’B’
Using Smaller Multiplexers (3/6) Procedure 1) Express boolean function in “sum-of-minterms” form. e.g. F(A,B,C)= m(0,1,3,6) 2) Reserve one variable (in our example, we take the least significant one) for input lines of multiplexer, and use the rest for selection lines. e.g. C is for input lines, A and B for selection lines.
Using Smaller Multiplexers (4/6) 3) Draw the truth table for function, but grouping inputs by selection line values, and then determine multiplexer inputs by comparing input line (C) and function (F) for corresponding selection line values. mux A B F C
Using Smaller Multiplexers (5/6) Alternative: What if we use A for input lines, and B, C for selector lines? A’ (when BC = 00) A’ (when BC = 01) A (when BC = 10) A’ (when BC = 11) mux B C A F
Using Smaller Multiplexers (6/6) Example: Implement using a 74151A the function: f(x 1,x 2,x 3,x 4 ) = m(0,1,2,3,4,9,13,14,15)