# Implementing boolean function using multiplexers

#### Anchit Jain

Joined Dec 3, 2014
3
Hello everyone , I have a problem "
Implement the function F(A,B,C) = A’B’C+ABC+A’BC’+AB’C’ using two 2:1
Multiplexers (Only). Assume input in both true and compliment form available."

.I am able to implement it with 2 multiplexer and a not gate (but it is not available). Please help .

#### WBahn

Joined Mar 31, 2012
30,256
Since the output of the two multiplexers has to be combined somehow to produce a single output, and since you can't use a logic gate to do the combining, they almost have to be combined via output enable signals. Do the muxes you are using have output enables?

Actually, there is another way to approach it. Think about how you can combine the output of one mux with the other mux to get a single output even if everything is active at all times.

It might help to consider the Boolean expression that governs a 2:1 mux in terms of the two data inputs, D0 and D1, and the select input, S. Though, of course, you can use whatever symbols you want.

Last edited:

#### Anchit Jain

Joined Dec 3, 2014
3
No . But even if I take enable inputs than I am not able to combine the mux because I have to invert the output of one of the mux than insert it into second mux .

#### WBahn

Joined Mar 31, 2012
30,256
No . But even if I take enable inputs than I am not able to combine the mux because I have to invert the output of one of the mux than insert it into second mux .
You've got the basic idea, which is that you use the output of one of the muxes as an input to the other mux (and then the output from that mux as your function output). Doing this you not only don't need an output enable, but you don't want one.

There are three ways to connect the first mux to the second (two of which are basically the same). What are they? How many inputs do you have available to you in each configuration? What is the logic expression for the function output in terms of these inputs?

If you get that, then it is just a matter of seeing if you can figure out how to map your three inputs to the available inputs in order to realize the terms you need for your function.

Again, the starting point is the Boolean expression for the output of a 2:1 mux.

#### WBahn

Joined Mar 31, 2012
30,256
How are you coming along?

Of the three ways to connect the two muxes, look at how many terms you get and compare that to how many terms you need. This should lead you to choose one of the the three to focus on first (it does not necessarily mean that the other configurations won't work, just that they would probably require more effort to make them work if, indeed, they can work at all).

To make matters simpler, look at the symmetry of the function you are trying to implement. If you swap the labels around, does it make any difference to the implementation?

Note that I am not claiming that this approach will be successful, but rather trying to guide you along a path that enables you to explore potential solutions.

#### Anchit Jain

Joined Dec 3, 2014
3
How are you coming along?

Of the three ways to connect the two muxes, look at how many terms you get and compare that to how many terms you need. This should lead you to choose one of the the three to focus on first (it does not necessarily mean that the other configurations won't work, just that they would probably require more effort to make them work if, indeed, they can work at all).

To make matters simpler, look at the symmetry of the function you are trying to implement. If you swap the labels around, does it make any difference to the implementation?

Note that I am not claiming that this approach will be successful, but rather trying to guide you along a path that enables you to explore potential solutions.
Thanks for your guidance WBahn. I figured out the solution, actually it would have to be implemented by using enable input of the second mux and connecting it to the output of the first.

#### WBahn

Joined Mar 31, 2012
30,256
What kind of enable input do the muxes have? By this, I mean that when disabled, is the output a hard LO or is the output high-impedance? You can't connect the two outputs together unless one or the other is in a high-impedance state at any given time. If they just output LO when disabled, you can't connect them together directly.

What's the solution you came up with?

Note that it CAN be done using muxes that do not have output enables.

Last edited: