# 3 Bit Adder Logic Circuit Design

Im trying to design a logic circuit for a 3 bit adder using 6 inputs, A2, A1, A0, B2, B1, B0 and 4 outputs, s0, s1, s2 and c (the carry out). I already have circuits for a half adder, full adder and a 2 bit adder. I thought I understood the concept behind it and iterated upon the 2 bit adder that I got working earlier but for some reason I'm not getting the correct answer.

My logic:

a0 XOR b0 = s0
(a1 XOR b1) XOR (ao AND b0) = s1
(a2 XOR b2) XOR (a1 AND b1) = s2
((a2 XOR b2) AND (a1 AND b1) OR (a2 AND b2)) = c (the carry out)


I'm testing values and when I try to following combination a2 = 0 , a1 = 0 , a0 = 1, b2 = 1, b1 = 1, b0 = 1 . s2 shows 1 when it should be the carry I believe that should be 1 because, (001 + 111) = 1000, right? Could someone let me know where Im making a mistake? Thank you.

• If just a ripple-carry, then the basic blocks are one HA and two FA. Each HA can be an XOR and an AND (or four NANDs or four NORs) and each FA is two HA plus an OR gate. (C2 will far and away carry the longest logic expression.)
– jonk
Commented Feb 11, 2020 at 20:36
• (Sorry. I meant S2 will have the longest logic expression.)
– jonk
Commented Feb 12, 2020 at 0:42