I know how to create a full adder using a 4:1 mux with A and B as the select lines. However, now I need to create a full adder using B and Cin as the select lines.

enter image description here enter image description here

the CoutMux and SumMux columns represent what the input lines would be for those 4:1 Multiplexers. I'm not sure how to get the values for the other inputs because the value of Cout and Sum is constantly changing while the value of A is the same.

Here is the original question if I didn't explain correctly:

Using two 4-to-1 MUXes, connect Cin and B to the control lines of the MUXES, and connect 1, 0, A, or A' to each input.

  • \$\begingroup\$ Seems like a trick question to me. Think about how each of the the three inputs A, B and Carry in affect the outputs. Is there any difference between them; can you just swap A with B or Cin with A without affecting the behaviour of the outputs? \$\endgroup\$
    – jms
    Feb 27, 2017 at 8:05

1 Answer 1


I'm not going to give you the answer; merely suggest an approach to figure it out yourself.

To visualize it better, I suggest restructuring the table an compressing A=0 and A=1 into one row for each condition:

$$ \begin{array}{|c|c|c|c|c|} \hline B & Ci & A & Cout & Sum \\\hline 0 & 0 & 0/1 & \text{0/0 or 0} & \text{0/1 or A} \\\hline 0 & 1 & 0/1 & \text{_/_ or ?} & \text{_/_ or ?} \\\hline 1 & 0 & 0/1 & \text{_/_ or ?} & \text{_/_ or ?} \\\hline 1 & 1 & 0/1 & \text{1/1 or 1} & \text{0/1 or A} \\\hline \end{array} $$

Fill in _/_ for Cout and Sum when A=0 / A=1. Then replace ? with \$1\$, \$0\$, \$A\$, or \$\overline{A}\$ related to the _/_ results.


Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.