# Did I implement this function with a MUX correctly?

I have this truth table:

Which gives this SOP

y = A'B'C + A'BC' + AB'C' + ABC


I tried to use a MUX with 2 selects and 4 inputs and I got this (using A and B as the selectors):

I'm pretty sure it's correct because when I light up A, B and C according to the truth table I get the right value for Y but I just want to make sure.

• First of all, have you checked the datasheet for this chip? Secondly, it's hard to understand what you're trying to do. A MUX device is supposed to stream a serial output of bits depending on the data selection you assign. I really don't think you're using this MUX for its intended purpose.
– user103380
Dec 22, 2019 at 17:52
• @KingDuken I have. It's a multiplexer. D0-D7 are inputs, A,B and C are selector, with A being the least significant one. Y and W are outputs, S is enable. What I am trying to do is use a mux to implement that SOP. Or at least that's what my professor wants us to do. Dec 22, 2019 at 17:55
• @SilenceOnTheWire Well, your circuit does what you are supposed to make it do. So, that's good!
– jonk
Dec 22, 2019 at 20:16
• @SilenceOnTheWire Also looks like you are using Neemann's Digital. Good!! That's the best available for things like this, right now. You should add in test vectors to your schematic. That way, you have automatic verification.
– jonk
Dec 22, 2019 at 20:29
• @SilenceOnTheWire This screen capture shows what I mean. Digital makes it very easy to add this feature. All eight of those text vector lines could also be replaced with just one line: "repeat(8) bits(3,n) (((n>>2)+((n>>1)&1)+(n&1))&1)".
– jonk
Dec 22, 2019 at 20:42

y = A'B'C + A'BC' + AB'C' + ABC

Given to implement with 8:1 mux. with 3 address inputs.

y=1 ABC
001 = d1 =>"1"
010 = d2 =>"1"
100 = d4 =>"1"
111 = d7 =>"1"
y = 0 for d0=d3=d5=d6="0"


That looks like a correct implementation of the 3-bit parity function to me.

you've used an 8:1 mux instead of 4:1, but as you're only using 2 of the address lines I guess that's ok.

As jstola says writing it in logic diagrams instead of wiring may be preferred.