3.3.1 · Hardware › Combinational Circuits
Jab tum haath se do decimal numbers add karte ho, har column mein ek digit likhte ho aur kabhi kabhi 1 ko agle column mein carry karte ho. Binary addition bilkul waisi hi hai, lekin har column mein sirf bits hoti hain (0 ya 1). Ek half adder do bits add karta hai. Ek full adder teen bits add karta hai (do inputs + ek carry jo andar aa rahi hai). Ye woh building blocks hain jo, ek saath chain karke, ek CPU ko kisi bhi length ke numbers add karne dete hain.
KYA chahiye hame: ek circuit jo, input bits dene par, unka arithmetic sum binary mein output kare.
Dikkat yeh hai: 1 + 1 = 1 0 2 — ek do-bit ka answer. Toh kisi bhi adder ko do outputs chahiye:
Sum (current column ka bit)
Carry (woh bit jo agle column mein jaati hai)
KAISE hum logic dhundhte hain: truth table banao, phir Boolean expression padho.
Ek combinational circuit jo do single bits A aur B add karta hai, ek Sum bit aur ek Carry bit produce karta hai. Isse "half" isliye kaha jaata hai kyunki yeh carry-in ko accept nahi kar sakta kisi pichle stage se.
Har input combination aur arithmetic result list karo:
A
B
A + B (decimal)
Carry C
Sum S
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
1
1
2 = 1 0 2
1
0
Yeh step kyun? Table bas "ones ginlo aur binary mein likho" hai. Abhi koi Boolean guessing nahi — pure arithmetic truth.
Ab columns padho:
S tab 1 hai jab A aur B alag hon → woh hai XOR .
C tab 1 hai jab dono 1 hon → woh hai AND .
Real multi-bit addition mein, har column ko uske daayein column se ek carry bhi milti hai. Half adder ise ignore karta hai, isliye woh incomplete hai. Ek full adder teen inputs handle karta hai: A , B , aur C in .
Ek combinational circuit jo teen bits add karta hai — A , B , aur ek carry-in C in — ek Sum S aur ek Carry-out C o u t produce karta hai.
A
B
C in
sum(dec)
C o u t
S
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
2
1
0
1
0
0
1
0
1
1
0
1
2
1
0
1
1
0
2
1
0
1
1
1
3
1
1
Yeh step kyun? Phir se, teenon inputs mein 1s gino aur count ko 2-bit binary ( C o u t S ) mein likho.
Sum S padhna: S = 1 jab 1s ki sankhya odd ho (count 1 ya 3 wali rows). "Odd number of 1s" teeno ka XOR hai:
S = A ⊕ B ⊕ C in
Kyun? XOR output ko har baar flip karta hai jab ek input 1 ho; odd count use 1 par chhodta hai.
Carry C o u t padhna: C o u t = 1 jab kam se kam do inputs 1 hon. Minterms group karo:
C o u t = A B + B C in + A C in
Yeh majority function hai — teenon inputs mein se majority jo value rakhti hai woh output karo.
Doosri form equivalent kyun hai (algebra ka steel-man):
( A ⊕ B ) C in = ( A B ˉ + A ˉ B ) C in . A B add karo. Jab A = B = 1 , A B term pehle se fire ho jaata hai. Jab exactly ek A , B mein se 1 ho, tab A ⊕ B = 1 isliye doosra term fire hoga agar C in = 1 ho. Yeh "≥2 ones" ko exactly reproduce karta hai — A B + A C in + B C in se match karta hai. ✓
Intuition Reuse karo, reinvent mat karo
Ek full adder = HA1 jo A , B add karta hai → S 1 = A ⊕ B , C 1 = A B deta hai.
HA2 S 1 aur C in add karta hai → final S = S 1 ⊕ C in , aur C 2 = S 1 C in .
Final carry: C o u t = C 1 + C 2 = A B + ( A ⊕ B ) C in (ek OR gate).
Worked example 1) Half adder se
1 + 1 add karo
A = 1 , B = 1 . S = 1 ⊕ 1 = 0 , C = 1 ⋅ 1 = 1 . Output ( C , S ) = ( 1 , 0 ) = 1 0 2 = 2 .
Yeh step kyun? Barabar bits ka XOR 0 hota hai (woh alag nahi hain); AND 1 hai (dono true hain). Result sahi se decimal 2 ke barabar hai.
Worked example 2) Full adder ke saath
A = 1 , B = 1 , C in = 1
S = 1 ⊕ 1 ⊕ 1 = 1 (ones ki odd sankhya).
C o u t = ( 1 ⋅ 1 ) + ( 1 ⋅ 1 ) + ( 1 ⋅ 1 ) = 1 . Output ( C o u t , S ) = ( 1 , 1 ) = 1 1 2 = 3 . ✓
Yeh step kyun? Teen ones → binary 11 . Teen 1s ka XOR = 1; teen 1s ki majority = 1.
Worked example 3) FAs chain karke
A = 01 1 2 , B = 00 1 2 add karo
Column 0: 1 + 1 + 0 → S 0 = 0 , C = 1 .
Column 1: 1 + 0 + 1 → S 1 = 0 , C = 1 .
Column 2: 0 + 0 + 1 → S 2 = 1 , C = 0 .
Result = 10 0 2 = 4 = 3 + 1 . ✓
Yeh step kyun? Har column ka C o u t agle column ka C in ban jaata hai — yeh ek ripple-carry adder hai.
Common mistake "Half adder ki carry
A + B (OR) hai."
Kyun sahi lagta hai: "add" OR jaisa lagta hai, aur OR of ( 1 , 1 ) 1 hai jo sahi dikhta hai.
Trap: OR of ( 0 , 1 ) 1 hai, lekin 0 aur 1 add karne par koi carry nahi aati. Carry tab 1 honi chahiye jab dono 1 hon.
Fix: Carry AND hai (A ⋅ B ), OR nahi.
Common mistake "Full adder Sum
A + B + C in (OR) hai."
Kyun sahi lagta hai: "sum" ka matlab hi add karna hai, aur + Boolean mein OR symbol hai.
Trap: Boolean algebra mein, + = OR, jo arithmetic addition NAHI hai.
Fix: Sum parity hai → teeno ka XOR : A ⊕ B ⊕ C in .
Common mistake Kaunsa output kaunsa hai, yeh confuse karna.
Fix mnemonic: Sum woh hai jo tum is column mein See karte ho; Carry woh hai jo tum agle column mein Cart karte ho.
Recall Feynman: ek 12-saal ke bacche ko samjhao
Socho tum 1 + 1 add kar rahe ho sirf 0 aur 1 buttons ke saath. Answer hai "do," lekin tum "2" nahi likh sakte — tumhare paas sirf 0 aur 1 hain! Toh tum yahan ek 0 likhte ho aur ek chota 1 agli jagah carry kar dete ho, jaise normal addition mein carry karte hain. Half adder ek choti machine hai jo do buttons ke liye yeh karti hai. Lekin kabhi kabhi ek carry daayein se aati hai, toh tum actually teen cheezein add kar rahe ho. Full adder woh badi machine hai jo teeno handle kar sakti hai. Full adders ki ek row laga do aur woh bade numbers add kar sakti hai, ek column ek baar — aise computers add karte hain!
Mnemonic Equations yaad karo
"Sum = XOR, Carry = MAJORity."
Half: S = A ⊕ B , C = A B . Full: S = XOR-all-three, C o u t = majority-of-three.
Aur: Ise yahan dekho (Sum), agale darwaze par Cart karo (Carry).
Answers dhak do aur dono truth tables scratch se rebuild karo, phir equations.
Kisi bhi binary adder cell ke do outputs kya hain? Sum (is column ka bit) aur Carry (agle column ko pass hone wala bit).
Half adder Sum equation? S = A ⊕ B (XOR).
Half adder Carry equation? C = A ⋅ B (AND).
Ise "half" adder kyun kehte hain? Yeh sirf do bits add karta hai aur pichle stage se carry-in accept nahi kar sakta.
Full adder ke kitne inputs hote hain? Teen: A , B , aur C in .
Full adder Sum equation? S = A ⊕ B ⊕ C in (inputs ka odd/parity).
Full adder Carry-out equation? C o u t = A B + A C in + B C in (majority function).
Do half adders se full adder — final carry? C o u t = A B + ( A ⊕ B ) C in , yaani do half-adder carries ka OR.
Common mistake: kya half-adder carry OR hai? Nahi — yeh AND hai; carry sirf tab jab DONO bits 1 hon.
Full adders chain karne par kaun sa multi-bit adder milta hai? Ek ripple-carry adder (har C o u t agla C in feed karta hai).
A = 1 , B = 1 , C in = 1 ke liye, ( C o u t , S ) kya hai?( 1 , 1 ) = 3 .
XOR gate — woh parity behavior jo Sum output ko power deta hai
AND gate aur OR gate — carry logic banate hain
Ripple-carry adder — full adders chain kiye hue
Carry-lookahead adder — tez carry, ripple delay se bachta hai
Truth tables and minterms — yahan use ki gayi derivation method
Two's complement subtraction — adders subtraction ke liye reuse hote hain
Combinational circuits — parent family (koi memory nahi, output = f(inputs))
because 1+1 equals 10 base 2
CPU adds any-length numbers