Implementing 5-variable function using multiplexers
-
22-09-2019 - |
문제
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!
해결책
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.
다른 팁
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...)