Skip to main content

Full adder using 4:1 multiplexers

Short answer

Use two 4:1 MUXes with A and B as select lines. For Sum, data inputs are I0=Cin, I1=Cin', I2=Cin', I3=Cin. For Carry, data inputs are I0=0, I1=Cin, I2=Cin, I3=1. This directly realizes the full adder truth table.

Implement a full adder circuit using 4:1 Multiplexers.

A full adder has inputs AA, BB, CinC_{in} and outputs Sum SS and Carry CoutC_{out}. Two 4:1 MUXes are used, one for each output, with AA and BB on the select lines (S1=AS_1 = A, S0=BS_0 = B) and CinC_{in} on the data side.

Truth table

ABCinC_{in}SCoutC_{out}
00000
00110
01010
01101
10010
10101
11001
11111
S=Σm(1,2,4,7),Cout=Σm(3,5,6,7)S = \Sigma m(1,2,4,7), \qquad C_{out} = \Sigma m(3,5,6,7)

Implementation tables

For data input IjI_j (AB=jAB = j), the two rows are Cin=0C_{in} = 0 (minterm 2j2j) and Cin=1C_{in} = 1 (minterm 2j+12j+1).

Sum:

I0I_0I1I_1I2I_2I3I_3
Cin′C_{in}'0246
CinC_{in}1357
InputCinC_{in}Cin′C_{in}'Cin′C_{in}'CinC_{in}

Carry:

I0I_0I1I_1I2I_2I3I_3
Cin′C_{in}'0246
CinC_{in}1357
Input0CinC_{in}CinC_{in}1

Circuit

               +-------+                  +-------+
  Cin -------->| I0    |      0 --------->| I0    |
  Cin --[NOT]->| I1 4:1|-> S  Cin ------->| I1 4:1|-> Cout
  Cin'-------->| I2    |      Cin ------->| I2    |
  Cin -------->| I3    |      1 --------->| I3    |
               +-------+                  +-------+
                 A  B                       A  B

Check

From the MUX equation:

Cout=A′B(Cin)+AB′(Cin)+AB(1)=(A⊕B)Cin+ABC_{out} = A'B(C_{in}) + AB'(C_{in}) + AB(1) = (A \oplus B)C_{in} + AB

which is the standard carry expression. For A=1,B=0,Cin=1A = 1, B = 0, C_{in} = 1: select 1010 gives S=I2=Cin′=0S = I_2 = C_{in}' = 0 and Cout=I2=Cin=1C_{out} = I_2 = C_{in} = 1, i.e. 1+0+1=1021 + 0 + 1 = 10_2. All eight rows were verified.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Digital Logic chapter 4 questions →