0
\$\begingroup\$

Here is the image of multiplexer:

enter image description here

May I know, what is the output form of Boolean expression, how it is working function?

Can anyone help me to guide me?

Any help would be highly appreciated,

nidhin
8,4323 gold badges32 silver badges47 bronze badges
asked Mar 27, 2015 at 8:21
\$\endgroup\$
4
  • 3
    \$\begingroup\$ Sounds like homework to me, so: what have you found out so far? Did you google 'multiplexer' an read a few hits? \$\endgroup\$ Commented Mar 27, 2015 at 8:54
  • \$\begingroup\$ actually i am not a student sir, i just read out through Wikipedia, but it seems to be too shortcut method.. I just confused for two days.. still i didn't get. so only i raised question here. thanks. \$\endgroup\$ Commented Mar 27, 2015 at 9:07
  • \$\begingroup\$ The image shows a 4:1 multiplexer, but the inputs are also shown as being driven by (R, !R, !R, R). So if R=0, then that's equivalent to one kind of Boolean operator on P and Q (whose truth table is the vector 0110). And if R=1, then it's a different Boolean operator. In other words, it's being used as a look-up table (LUT) which is analogous to a truth table. \$\endgroup\$ Commented Mar 27, 2015 at 9:22
  • \$\begingroup\$ Okay, thanks for your comments, so what is relation with your comments and XOR gate? \$\endgroup\$ Commented Mar 27, 2015 at 9:26

2 Answers 2

2
\$\begingroup\$

Simply put, a multiplexer selects one of its inputs and routes it through to the output.

enter image description here

S1 and S0 can be combined to create a 2-bit binary number. That number, when converted to decimal, corresponds to one of the 4 inputs, and that is the input that is then routed through to the output. For instance, if you have S1 = 1 and S0 = 0, that is the binary number 102, which is 210. So input 2 would be routed to the output.

The general truth table looks like this:

S1 | S0 | I0 | I1 | I2 | I3 || Out
----------------------------------
 0 | 0 | X | X | X | X || I0
 0 | 1 | X | X | X | X || I1
 1 | 0 | X | X | X | X || I2
 1 | 1 | X | X | X | X || I3

The "X" means "Don't Care", or more strictly "This value doesn't affect the results of the truth table". The output value as "I0" etc indicates that "The output is whatever this input is set to".

Taking your multiplexer from above, with a specific (fixed) set of values on the input pins (1, 0, 0, 1), the full expanded truth table would look like this:

S1 | S0 | I0 | I1 | I2 | I3 || Out
----------------------------------
 0 | 0 | 1 | 0 | 0 | 1 || 1
 0 | 1 | 1 | 0 | 0 | 1 || 0
 1 | 0 | 1 | 0 | 0 | 1 || 0
 1 | 1 | 1 | 0 | 0 | 1 || 1

If you were to take S1 and S0 as the inputs to some unknown logic gate, and examine the output from it to determine what the gate was, so ignoring the I0-I1 pins since they are fixed, you can equate that table to another known truth table. Let's collapse it by removing the static input values:

S1 | S0 || Out
--------------
 0 | 0 || 1
 0 | 1 || 0
 1 | 0 || 0
 1 | 1 || 1

The output is high when both the inputs are low or both the inputs are high, and the output is low when one and only one of the inputs is high and the other one is low. That sounds familiar to me. That sounds like the XNOR gate to me (an inverted XOR gate).

enter image description here

Of course, change the combination of values on the input pins, and you can change the way the output works. Just by inverting the whole of the inputs, so you have 0, 1, 1, 0 instead, will completely invert the output values, so the XNOR becomes an XOR. A different combination could make it look like an AND gate, or an OR gate, etc.

In this mode, where it is able to emulate any single low-level gate, is known as a "look-up table" where, instead of actually performing a logic function, it uses values to "look up" another value from another place, in this case the input pins.

Look-up tables are used extensively in FPGAs and other similar programmable logic, where the output of a logic cell can be, to a large extent, pre-programmed into a block of memory, and the incoming values just look up the output value in that memory. Just like a very large multiplexer.

answered Mar 27, 2015 at 10:14
\$\endgroup\$
12
  • \$\begingroup\$ thanks for your answer, how to calculate this one, i mean from your answer, second table? thanks \$\endgroup\$ Commented Mar 27, 2015 at 10:57
  • \$\begingroup\$ I can't understand the value of I0, I1, I2 and I3? please explain? \$\endgroup\$ Commented Mar 27, 2015 at 11:00
  • \$\begingroup\$ The value of I1 etc are what are being fed into the inputs. In your case R, !R, !R and R, so if R is 1 then that's 1, !1, !1 and 1, or 1, 0, 0 and 1. \$\endgroup\$ Commented Mar 27, 2015 at 11:10
  • \$\begingroup\$ please explain get the way of P(XOR)Q(XOR)R? thanks \$\endgroup\$ Commented Mar 27, 2015 at 11:14
  • \$\begingroup\$ I don't understand what you're asking. \$\endgroup\$ Commented Mar 27, 2015 at 11:16
0
\$\begingroup\$

It's just a matter of systematically writing down a product term for each combination of P and Q, then adding all terms together (sum of products):

f= !p * !q * input0 +
 !p * q * input1 +
 p * !q * input2 +
 p * q * input3 

substitution of input:

f= !p * !q * r + 
 !p * q * !r + 
 p * !q * !r + 
 p * q * r
answered Mar 27, 2015 at 10:21
\$\endgroup\$
1
  • \$\begingroup\$ okay, from your answer how can i get this value(this is output form Boolean expression) P(XOR)Q(XOR)R? thanks \$\endgroup\$ Commented Mar 27, 2015 at 11:38

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.