Question

If I have a 5-variable function (below) and I want to implement it using a multiplexer, how would I do that (using the minimum possible multiplexer):

f(A,B,C,D,E) = A + C'D + BD' + B'D + B'CE

This is homework, so don't provide a solution, just a guidance of how that works.

Thanks!

Was it helpful?

Solution

5 variables means a 2**5 (32) input multiplexer, with inputs 0 through 31. Convert the terms into binary numbers and hold the corresponding inputs high. For B'CE we have:

A B C D E
X 0 1 X 1

This gives us 4 numbers, since we have 2 don't cares. The four numbers are:

00101 = 5
00111 = 7
10101 = 21
10111 = 23

Hold inputs 5, 7, 21, and 23 high.

Repeat for the rest of the terms.

OTHER TIPS

Since you explicitly mention

using the minimum possible multiplexer

there's another way of doing it in which you only need a 2^(n-1) input multiplexer to implement a n input function (so, in your case, a MUX with 2^4 inputs and 4 select inputs would suffice). The idea is to use the first n-1 inputs of the truth table as select inputs for the MUX while the remaining one is connected to the data inputs as appropriate to give the desired result.

Since I can't post images yet, see this for a concrete example: https://www.dropbox.com/s/v8osbd8gtwhtfor/n-1inputmux.png

Or for how to implement simple logic gates with MUXes: https://www.dropbox.com/s/7cqbodha7lcoi9y/n-1inputmuxbasics.png


Sources:

http:// sifaka.uwaterloo.ca/~akenning/courses/ece124/

http:// 6004.mit.edu/

(I can't post more than two real links...)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top