Siksha Sarovar

Siksha Sarovar (sikshasarovar.com) is a free educational web application that helps students in India learn programming and prepare for academic and competitive exams. The platform offers structured coding courses (C, C++, Python, Java, HTML, CSS, PHP, Power BI, AI, Machine Learning, Data Science), complete university curriculum notes for BCA/MCA students with previous year question papers, Class 10 and Class 12 CBSE/HBSE school notes, and dedicated preparation material for SSC, UPSC, Banking, Railway and other government exams. Browsing the site is completely free and requires no account. Users may optionally sign in with Google solely to save their learning progress, quiz scores and personal preferences across devices.

Privacy Policy | Terms of Service | Contact Siksha Sarovar | About Siksha Sarovar

v4.0.9 · PWA
Siksha Sarovar logo
Siksha Sarovar
Your Learning Universe

Siksha Sarovar is a free e-learning platform for coding courses, BCA university notes and competitive exam preparation. Optional Google sign-in saves your learning progress across devices.

Initializing knowledge base…
Compiling modules 0%

Arithmetic Circuits: Half Adder, Full Adder, Subtractors and Parallel Adder

Lesson 5 of 17 in the free Computer Organization and Architecture notes on Siksha Sarovar, written by Rohit Jangra.

Half Adder Circuit

---

Half Adder Truth Table

ABSum (A⊕B)Carry (A·B)
0000
0110
1010
1101

Expressions: Sum = A ⊕ B, Carry = A · B

A Half Adder adds two single bits but cannot accept a carry-in. It needs two inputs (A, B) and produces two outputs (Sum, Carry).

---

Full Adder Truth Table

ABCᵢₙSumCₒᵤₜ
00000
00110
01010
01101
10010
10101
11001
11111

Expressions:

  • Sum = A ⊕ B ⊕ Cᵢₙ
  • Cₒᵤₜ = AB + BCᵢₙ + ACᵢₙ (carry generated if any two of A, B, Cᵢₙ are 1)

---

---

Ripple Carry Adder Trace: 0101 + 0011

Bit PositionABCᵢₙSumCₒᵤₜ
Bit 0 (LSB)11001
Bit 101101
Bit 210101
Bit 3 (MSB)00110

Result: 0101 (5) + 0011 (3) = 1000 (8) ✓

In a Ripple Carry Adder, carry ripples from bit 0 to bit N sequentially. For n bits, worst-case delay = n × (Full Adder delay) → slow for large n.

---

Half Subtractor

ABDifference (A⊕B)Borrow (A'·B)
0000
0111
1010
1100

Expressions: Diff = A ⊕ B, Borrow = A' · B

---

Full Subtractor

ABBᵢₙDiffBₒᵤₜ
00000
00111
01011
01101
10010
10100
11000
11111

Expressions: Diff = A ⊕ B ⊕ Bᵢₙ, Bₒᵤₜ = A'B + A'Bᵢₙ + BBᵢₙ

---

2's Complement Subtraction

To compute A − B: add A + (2's complement of B) = A + B' + 1

Example: 0101 − 0011 = 0101 + (1101) = 10010 → drop carry → 0010 (= 2) ✓

---

Study Deep: Carry Look-Ahead Adder (CLA)

CLA computes all carry bits simultaneously using:

  • Generate: Gᵢ = AᵢBᵢ (this stage always produces carry)
  • Propagate: Pᵢ = Aᵢ ⊕ Bᵢ (this stage propagates incoming carry)
  • Carry: Cᵢ₊₁ = Gᵢ + PᵢCᵢ

All Cᵢ are computed in parallel in just 2 gate delays. For 4-bit CLA: always 2 gate delays regardless of carry chain length.

---

Adder Comparison Table

TypeInputsCarry InDelay (gates)HardwareUse Case
Half Adder2 (A, B)None21 XOR + 1 ANDLSB of adder
Full Adder3 (A, B, Cin)Yes32 XOR + 2 AND + 1 ORGeneral bit position
Ripple Carry (n-bit)2nFirst FAO(n)n Full AddersSimple low-cost designs
Carry Look-Ahead2nFirstO(1)=2 levelsn FA + extra logicHigh-speed ALUs
📝 Exam Tips: - Half Adder = 2 inputs, 2 outputs (Sum, Carry). Full Adder = 3 inputs, 2 outputs - Full Adder can be built from 2 Half Adders + 1 OR gate - CLA reduces delay from O(n) to O(log n) at cost of more hardware - Subtraction using 2's complement: A − B = A + NOT(B) + 1