Implement and
as a multiplexer:
How is that working? When I repeat from before:
Y | out
0 | 0
1 | X
So, this means, when Y = 1
, then the output = X
I'm not sure how to understand this. So far, I'm only used to things like "if X=1 and Y=1, then out=1"
.
My issue is probably somehow connected to the output. I'm only familiar with truth tables like this:
but in this case here, I can only switch between 0 and X. I also found:
-
4\$\begingroup\$ That truth table clearly shows that you got that not-X at the output. The output is always the opposite of X. That's a "not". \$\endgroup\$Marcus Müller– Marcus Müller2021年01月09日 20:24:43 +00:00Commented Jan 9, 2021 at 20:24
-
\$\begingroup\$ That's quite true and obvious :) I was confused to use that control input (correct term?) like an input but I understand it technically now.. \$\endgroup\$Ben– Ben2021年01月09日 20:30:16 +00:00Commented Jan 9, 2021 at 20:30
-
\$\begingroup\$ so, question answered? \$\endgroup\$Marcus Müller– Marcus Müller2021年01月09日 20:31:19 +00:00Commented Jan 9, 2021 at 20:31
-
\$\begingroup\$ have another one, just a moment. It's trickier.. slightly but a lot for me.. \$\endgroup\$Ben– Ben2021年01月09日 20:46:51 +00:00Commented Jan 9, 2021 at 20:46
-
1\$\begingroup\$ write down the output table, compare it to the table of "AND". It's really as easy as that. \$\endgroup\$Marcus Müller– Marcus Müller2021年01月09日 21:12:50 +00:00Commented Jan 9, 2021 at 21:12
2 Answers 2
First let's see how a multiplexor works. In your case you have a 2-1 (or 2 to 1) multiplexor.
So looking at your diagram, the multiplexor has the following:
2 data inputs: 0 and 1 (0 has a 0 connected and 1 has the value of X connected)
1 control input: Y
1 output: X and Y
So when Y is a logic level 0, the value on the input 0 (a logic level 0 in this case) is seen on the output.
And when Y is a logic level 1, the value on the input 1 (a logic level X in this case) is seen on the output.
If you think about it, when Y is a logic level 0, a logic level 0 is always on the output as a logic level 0 is hardwired to this input. So this equates X and Y.
Now when Y is a logic level 1, the output will be whatever logic level X is at.
You should see that whatever logic level Y is, the multiplexor output always equals the boolean value of X and Y.
EDIT
With 2 to 1 multiplexors like you have in your question, the control input (Y in your case) can be two logic levels, a 0 or a 1. What the two inputs labelled 0 and 1 on the multiplexor mean, is that when Y = 0, the output will equal the logic level connected to 0, and when Y = 1, the output will equal the logic level connected to input 1.
Think of a multiplexor working like the switch in the image below:
When Sel = 0, the output will equal the logic level of I0 and when Sel = 1, the output will equal the logic level of I1
Hope this helps!
-
\$\begingroup\$ Thank you, is there any further meaning of the multiplexer input order? I mean, does it make a difference whether a signal is on input 0 or on input 1? \$\endgroup\$Ben– Ben2021年01月09日 21:51:33 +00:00Commented Jan 9, 2021 at 21:51
-
1\$\begingroup\$ @Ben You are welcome. Yes, it makes a difference. See my edit to the question. \$\endgroup\$David777– David7772021年01月09日 22:02:45 +00:00Commented Jan 9, 2021 at 22:02
-
\$\begingroup\$ Thanks for the further explanation! I guess I understood this already but I wanted to know whether it makes a difference if X is on input 1 or on input 0? This is probably confusing, is there any meaning of the input order like input0 i off and input1 is on? \$\endgroup\$Ben– Ben2021年01月09日 22:15:54 +00:00Commented Jan 9, 2021 at 22:15
-
\$\begingroup\$ @Ben I’m not really sure what you are asking but if you are trying to implement an AND function then yes it will matter. You want X to be on input 1 so when the select input is equal to 1, then the output is X and select \$\endgroup\$David777– David7772021年01月09日 23:14:23 +00:00Commented Jan 9, 2021 at 23:14
The circuit functions perfectly as AND gate, even according to your truth table.
When Y input is 0, the output is always 0, so the X input does not matter at all.
Breaking down the second case of Y input being 1 into further subsections might help. So only if Y input is 1, the output will be 0 if X input is 0, and output will be 1 if input X is 1.
So the output is 1 only if both X and Y inputs are 1.
-
\$\begingroup\$ Thank you! So I have to treat X as it could be 0 or 1? In which way is the output 1 when it is given as "x and y"? I mean, from my understanding, when Y=1, then the output should be "X". \$\endgroup\$Ben– Ben2021年01月09日 21:42:19 +00:00Commented Jan 9, 2021 at 21:42
-
1\$\begingroup\$ Yes, if Y=1, output=X, so output=1 when X=1. \$\endgroup\$Justme– Justme2021年01月09日 22:29:29 +00:00Commented Jan 9, 2021 at 22:29
-
\$\begingroup\$ Thank you. I modified my question a bit as I think I am able to highlight my understanding problem. Have a look, please. Thanks in advance! \$\endgroup\$Ben– Ben2021年01月10日 08:15:23 +00:00Commented Jan 10, 2021 at 8:15
-
1\$\begingroup\$ I don't understand what you don't understand, you may have some fundamental issue understanding muxes, or otherwise overthinking this. A mux can select between any two arbitrary data streams, based on SEL input, OUT=IN1 if SEL=0, and OUT=IN2 if SEL=1. It just happens that in this special case of using it, it happens to produce AND functionality, because the truth tables match, IN1=0 always and IN2=X always, and SEL=Y. Then expand the X to both cases where X=0 and X=1. \$\endgroup\$Justme– Justme2021年01月10日 09:34:11 +00:00Commented Jan 10, 2021 at 9:34