intermediate#adder#half adder#full adder#combinational circuitUpdated: 2026-07-15

অ্যাডার (Adder)

ভূমিকা — যোগই সব হিসাবের মূল

Calculator-এ 7 + 5 চাপলে উত্তর আসে 12। কিন্তু CPU-র ভেতরে কোনো "যোগ করার মানুষ" নেই — আছে কয়েকটা logic gate-এর জোড়া লাগানো সার্কিট: Adder। মজার ব্যাপার — কম্পিউটার বিয়োগ, গুণ, ভাগ সবই করে এই Adder দিয়েই (2's complement আর বারবার যোগের কৌশলে)। তাই বলা হয়: যে সার্কিট যোগ করতে পারে, সে সব হিসাবই করতে পারে।

💡 মজার তথ্য: তোমার ফোনের প্রসেসরে কোটি কোটি adder circuit আছে, প্রতিটি সেকেন্ডে শত কোটি বার যোগ করছে!

Adder কেন দরকার?

ALU (Arithmetic Logic Unit) — CPU-র হিসাবের অংশ — এর মূল ভিত্তিই Adder:

  • যোগ → সরাসরি Adder
  • বিয়োগ → 2's complement বানিয়ে Adder দিয়ে যোগ
  • গুণ → বারবার যোগ
  • ভাগ → বারবার বিয়োগ

অর্থাৎ Adder ছাড়া কম্পিউটারের গণিত অসম্ভব। Adder একটি Combinational Circuit — আউটপুট শুধু বর্তমান ইনপুটের উপর নির্ভর করে, আগের অবস্থা মনে রাখে না।

চিত্রের মাধ্যমে বোঝো

Binary যোগের নিয়ম মনে করো:
  0+0 = 0
  0+1 = 1
  1+0 = 1
  1+1 = 10  ◄── এখানেই ঝামেলা! ফল 0, হাতে থাকে (carry) 1

দুটি আউটপুট লাগবে:
  Sum (S)   = যোগফল বিট
  Carry (C) = হাতের বিট

Module 1: Half Adder — অর্ধেক যোগ

📌 সংজ্ঞা: যে সমবায় সার্কিট দুটি বিট যোগ করে SumCarry আউটপুট দেয়, তাকে Half Adder বলে।

Truth Table:

ABSumCarry
0000
0110
1010
1101

Truth Table থেকে Boolean Expression বের করো:

  • Sum কলামটা দেখো — A আর B ভিন্ন হলেই 1। এটা কোন gate-এর আচরণ? XOR!
  • Carry কলামটা দেখো — দুটোই 1 হলে 1। এটা AND!
Sum   = A ⊕ B  (A XOR B)
Carry = A · B  (A AND B)

সার্কিট:

A ──┬──────► XOR ──► Sum
    │    ┌──►
B ──┼────┤
    │    └──► AND ──► Carry
    └──────►

প্রয়োজনীয় Gate: ১টি XOR + ১টি AND = মোট ২টি gate।

সীমাবদ্ধতা (নামে "Half" কেন?): আগের ধাপ থেকে আসা carry নিতে পারে না। একাধিক বিটের সংখ্যা যোগ করতে গেলে আগের কলামের carry যোগ করতেই হয় — Half Adder তা পারে না। তাই সে "অর্ধেক"।

Module 2: Full Adder — পূর্ণাঙ্গ যোগ

📌 সংজ্ঞা: যে সমবায় সার্কিট তিনটি বিট (A, B এবং আগের ধাপের Carry-in) যোগ করে Sum ও Carry-out দেয়, তাকে Full Adder বলে।

Truth Table:

ABCinSumCout
00000
00110
01010
01101
10010
10101
11001
11111

Pattern লক্ষ করো:

  • Sum = 1 হয় যখন বিজোড় সংখ্যক ইনপুট 1 (1টি বা 3টি)
  • Cout = 1 হয় যখন কমপক্ষে ২টি ইনপুট 1
Sum  = A ⊕ B ⊕ Cin
Cout = A·B + Cin·(A ⊕ B)

গঠন: ২টি Half Adder + ১টি OR gate দিয়ে একটি Full Adder তৈরি হয়:

A ──►┌──────────┐ S₁
B ──►│ Half Add │────►┌──────────┐  Sum
     │          │ C₁  │ Half Add │────────►
     └──────────┘  │  │          │ C₂
Cin ──────────────►└──└──────────┘──► OR ──► Cout
                   │                  ▲
                   └──────────────────┘

Module 3: হাতে-কলমে যাচাই

উদাহরণ: A=1, B=1, Cin=1

  • Sum = 1 ⊕ 1 ⊕ 1 = 0 ⊕ 1 = 1
  • Cout = 1·1 + 1·(1⊕1) = 1 + 0 = 1
  • অর্থাৎ 1+1+1 = 11₂ (দশমিক 3) → Sum=1, Carry=1 ✓

Multi-bit যোগ (Ripple Carry Adder): 4-bit সংখ্যা যোগ করতে ৪টি Full Adder পাশাপাশি বসাও — প্রতিটির Cout পরেরটির Cin-এ যায়। carry ঢেউয়ের মতো এগোয় বলে নাম "ripple carry"।

বাস্তব জীবনের সাথে মিল

🏠 অ্যানালজি: হাতে যোগ করার কথা ভাবো: ৪৭ + ৩৮। এককের ঘরে ৭+৮=১৫ → লেখো ৫, হাতে ১। দশকের ঘরে ৪+৩+হাতের ১=৮। এই "হাতের ১" নেওয়ার ক্ষমতাই Half Adder-এ নেই, Full Adder-এ আছে।

Half Adder vs Full Adder তুলনা

বৈশিষ্ট্যHalf AdderFull Adder
ইনপুট২টি (A, B)৩টি (A, B, Cin)
আউটপুট২টি (S, C)২টি (S, Cout)
SumA ⊕ BA ⊕ B ⊕ Cin
CarryA·BA·B + Cin·(A⊕B)
Carry গ্রহণপারে নাপারে
গঠন1 XOR + 1 AND2 Half Adder + 1 OR

🧠 মূল শিক্ষা

  1. Adder = logic gate দিয়ে তৈরি যোগের সার্কিট; ALU-র প্রাণ
  2. Half Adder: 2 ইনপুট, Sum = A⊕B, Carry = A·B
  3. Full Adder: 3 ইনপুট (carry-in সহ), Sum = A⊕B⊕Cin
  4. ২টি Half Adder + ১টি OR = ১টি Full Adder
  5. কম্পিউটার বিয়োগ/গুণ/ভাগ সবই করে Adder দিয়ে

🔁 নিজে পরীক্ষা করো

  1. Half Adder-এ A=1, B=0 → Sum? Carry? → Sum=1, Carry=0
  2. Full Adder-এ A=0, B=1, Cin=1 → Sum? Cout? → Sum=0, Cout=1
  3. ৮-bit সংখ্যা যোগে কয়টি Full Adder লাগবে? → ৮টি (বা ৭ Full + ১ Half)

📝 HSC পরীক্ষার প্রস্তুতি

পরীক্ষায় যা আসতে পারে:

  • Half/Full Adder-এর Truth Table ও Boolean Expression — প্রায় প্রতি বছর আসে
  • উদ্দীপকে সার্কিট দিয়ে "চিত্রের সার্কিটটি কী?" — XOR+AND দেখলেই Half Adder
  • Full Adder-এ নির্দিষ্ট ইনপুটে আউটপুট নির্ণয়
  • Half Adder দিয়ে Full Adder বাস্তবায়ন (সৃজনশীল গ)

সাধারণ ভুল:

  • ❌ Sum-এ OR ব্যবহার করা (হবে XOR — 1+1-এ Sum 0, OR দিলে 1 হয়ে যেত)
  • ❌ Full Adder-এর ইনপুট ২টি ভাবা (৩টি!)
  • ❌ Cout = A·B·Cin লেখা (সঠিক: A·B + Cin·(A⊕B))

✅ সারাংশ

  • Half Adder: ২ বিট যোগ, carry নেয় না — XOR (Sum) + AND (Carry)
  • Full Adder: ৩ বিট যোগ (carry-in সহ) — বহু-বিট যোগের ভিত্তি
  • একের পর এক Full Adder জুড়লে Ripple Carry Adder — CPU এভাবেই যোগ করে

🎯 অনুশীলন প্রশ্ন

  1. Half Adder-এর Truth Table আঁকো এবং Sum ও Carry-র Boolean Expression বের করো।
  2. ২টি Half Adder দিয়ে Full Adder-এর ব্লক চিত্র আঁকো।
  3. A=1, B=1, Cin=0 হলে Full Adder-এর আউটপুট নির্ণয় করো।
  4. Half Adder-কে "অর্ধেক" বলা হয় কেন — ব্যাখ্যা করো।
  5. 1011 + 0110 যোগে প্রতি ধাপে কোন Adder কী আউটপুট দেবে দেখাও।