intermediate#encoder#priority-encoder#digital-circuit#octal-encoder#BCDUpdated: 2026-05-12

এনকোডার (Encoder)


ভূমিকা — Keyboard থেকে CPU পর্যন্ত

তুমি যখন Keyboard-এ 'A' চাপো, তখন:

  1. Keyboard-এর 'A' key একটি specific electric signal তৈরি করে
  2. Encoder সেই signal-কে Binary code-এ রূপান্তর করে: 01000001 (= ASCII 65)
  3. CPU সেই Binary code পড়ে

Keyboard-এ 104টি key — প্রতিটি key চাপলে Encoder সেটাকে Binary-তে রূপান্তর করে CPU-কে পাঠায়।

মজার তথ্য: Encoder ছাড়া CPU বুঝতেই পারত না যে কোন key চাপা হয়েছে!


Encoder কেন দরকার?

ধরো একটি Circuit-এ 8টি input line আছে — প্রতিটি একটি ভিন্ন device represent করে। যখন device-1 active হয়, CPU জানাতে হবে "device-1 active।"

CPU-কে সরাসরি 8টি line পাঠানো ব্যয়বহুল। Encoder দিয়ে 8টি input কে মাত্র 3টি Binary line-এ convert করা যায়।

কম wire → কম cost → সহজ communication


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

4-to-2 Encoder:

    D0 ─────┐
    D1 ─────┤  ENCODER  ├── A1 (output bit 1)
    D2 ─────┤           ├── A0 (output bit 0)
    D3 ─────┘

(4 inputs, 2 outputs, একসময় শুধু 1 input active)

যখন D1 active:  D0=0, D1=1, D2=0, D3=0 → A1=0, A0=1 → 01₂ = 1
যখন D3 active:  D0=0, D1=0, D2=0, D3=1 → A1=1, A0=1 → 11₂ = 3

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

উপমা: ৪টি ঘরে ৪ জন মানুষ। প্রতিটি ঘরে একটি বেল বোতাম। বাইরে একটি display আছে যেখানে কোন ঘরের বেল বাজছে সেটা দেখায়। কিন্তু display-এ সরাসরি 4টি wire না লাগিয়ে, Encoder ব্যবহার করে 2টি wire-এ Binary code পাঠানো হয়। এটাই Encoder-এর কাজ।


Module 1: Encoder কী?

📌 সংজ্ঞা

Encoder হলো একটি Combinational Logic Circuit যার 2ⁿ টি input এবং n টি output থাকে। একটি নির্দিষ্ট সময়ে শুধুমাত্র একটি input active (HIGH) থাকে এবং Encoder সেই active input-এর Binary code output-এ দেয়।

2ⁿ inputs → n outputs
(Many → Few)
Encoder TypeInputsOutputs
4-to-24 = 2²2
8-to-3 (Octal)8 = 2³3
16-to-416 = 2⁴4
10-to-4 (BCD)104

💡 Encoder vs Decoder: Encoder = Many → Few, Decoder = Few → Many।


Module 2: 4-to-2 Encoder

4টি input (D0, D1, D2, D3) এবং 2টি output (A1, A0)।

Truth Table

D3D2D1D0A1A0
000100
001001
010010
100011

Boolean Expressions

Truth Table থেকে:

A1 = D2 + D3       (A1 = 1 যখন D2 অথবা D3 active)
A0 = D1 + D3       (A0 = 1 যখন D1 অথবা D3 active)

Logic Circuit

D2 ─┐
    ├── OR ── A1
D3 ─┤
    │
D1 ─┼─┐
    │  ├── OR ── A0
D3 ─┘  │
    (D3 দুটো OR-এই)

শুধু OR Gate দিয়ে তৈরি!


Module 3: 8-to-3 Octal Encoder

8টি input (D0–D7) এবং 3টি output (A2, A1, A0)।

Truth Table

D7D6D5D4D3D2D1D0A2A1A0
00000001000
00000010001
00000100010
00001000011
00010000100
00100000101
01000000110
10000000111

Boolean Expressions

A2 = D4 + D5 + D6 + D7     (A2=1 যখন upper half active)
A1 = D2 + D3 + D6 + D7     (A1=1 যখন D2,D3 বা upper two active)
A0 = D1 + D3 + D5 + D7     (A0=1 যখন odd-numbered inputs active)

💡 Pattern মনে রাখো: A0 = সব odd-numbered input (D1,D3,D5,D7)।


Module 4: Priority Encoder

মূল সমস্যা

Basic Encoder-এ ধরে নেওয়া হয় একটি মাত্র input একসাথে active হবে। কিন্তু বাস্তবে একাধিক input একসাথে active হতে পারে।

Priority Encoder সমাধান

Priority Encoder বেশি সংখ্যাক (highest number) input-কে priority দেয়।

4-to-2 Priority Encoder Truth Table

(X = Don't care = 0 বা 1 যাই হোক)

D3D2D1D0A1A0V
0000XX0
0001001
001X011
01XX101
1XXX111

V (Valid): V=1 মানে কোনো input active, V=0 মানে কোনো input নেই।

বাস্তব প্রয়োগ

  • 🖥️ Interrupt Controller: CPU-তে একাধিক device interrupt চাইলে, Priority Encoder সবচেয়ে important টা বেছে নেয়।

Module 5: BCD Encoder (10-to-4)

10টি Decimal input (0–9) → 4-bit BCD output।

Truth Table (সংক্ষিপ্ত)

Decimal KeyD9D8D7D6D5D4D3D2D1D0A3A2A1A0
000000000010000
500001000000101
910000000001001

Calculator Keyboard-এ ঠিক এইভাবে Encoder কাজ করে।


Module 6: বাস্তব প্রয়োগ

  • ⌨️ Keyboard Scanner: কোন key চাপা হলো → Binary code → CPU
  • 🖥️ Interrupt Controller: কোন device interrupt করছে → Priority code → CPU
  • 📷 Camera Sensor: কোন pixel/sensor triggered → Address code
  • 🔢 Calculator: Decimal key → BCD code
  • 📡 Multiplexer Control: কোন input select করবে

🧠 মূল শিক্ষা

মনে রাখো: Encoder হলো "many → few" — 2ⁿ inputs → n outputs। একসময় শুধু একটি input active। Priority Encoder একাধিক active input handle করে সবচেয়ে high number-কে priority দিয়ে। Encoder ≠ Decoder — এই দুটো বিপরীত।


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

প্রশ্ন ১: Encoder-এর সংজ্ঞা দাও।

উত্তর: Encoder হলো Combinational Circuit যা 2ⁿ inputs কে n outputs-এ রূপান্তর করে। একটি input active থাকলে সেটার Binary code output দেয়।


প্রশ্ন ২: 8-to-3 Encoder-এ কতটি input ও output থাকে?

উত্তর: 8 inputs, 3 outputs।


প্রশ্ন ৩: 4-to-2 Encoder-এ D3 active হলে output কত?

উত্তর: A1=1, A0=1 → 11₂ = 3


প্রশ্ন ৪: Priority Encoder এবং Basic Encoder-এর পার্থক্য কী?

উত্তর: Basic Encoder-এ একটিমাত্র input active। Priority Encoder-এ একাধিক active হলে highest number input-কে priority দেয়।


প্রশ্ন ৫: 8-to-3 Encoder-এ A0-এর Boolean expression কী?

উত্তর: A0 = D1 + D3 + D5 + D7 (সব odd-numbered inputs)


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

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

🎯 সংজ্ঞা: "Encoder কী?" — "2ⁿ inputs → n outputs" অবশ্যই লিখতে হবে।

🎯 Truth Table: 4-to-2 বা 8-to-3 Encoder-এর Truth Table।

🎯 Boolean Expression: Output-এর Boolean expression বের করো।

🎯 Priority Encoder: "Priority Encoder কী এবং কোথায় ব্যবহার হয়?"

🎯 Encoder vs Decoder পার্থক্য।

সাধারণ ভুলসমূহ

⚠️ ভুল ১: Encoder এবং Decoder গুলিয়ে ফেলা — Encoder = compression (many→few)।

⚠️ ভুল ২: "2n inputs → n outputs" লেখা — সঠিক: 2ⁿ inputs (exponential)।

⚠️ ভুল ৩: একাধিক input active হওয়ার সমস্যা উল্লেখ না করা।

মনে রাখার কৌশল

💡 "Encoder = Compression" — বড় থেকে ছোট, many → few।

💡 A0 = odd inputs, A1 = upper half — pattern মনে রাখো।


✅ সারাংশ

  • Encoder: 2ⁿ inputs → n outputs (many → few)
  • একটি input একসময় active থাকে
  • 4-to-2 Encoder: A1=D2+D3, A0=D1+D3
  • 8-to-3 Encoder: A2=D4+D5+D6+D7; A1=D2+D3+D6+D7; A0=D1+D3+D5+D7
  • Priority Encoder: Multiple active inputs → highest priority wins; Valid bit V
  • BCD Encoder: Decimal keys (0–9) → 4-bit BCD
  • ব্যবহার: Keyboard, Interrupt controller, Camera sensors

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

  1. সংজ্ঞা: Encoder কী? Decoder থেকে কীভাবে আলাদা?

  2. Truth Table: 4-to-2 Encoder-এর সম্পূর্ণ Truth Table তৈরি করো।

  3. Boolean Expression: 8-to-3 Octal Encoder-এর A2, A1, A0-এর Boolean expression লেখো।

  4. Priority Encoder: Priority Encoder কী? কোথায় ব্যবহার হয় এবং কেন দরকার?

  5. MCQ: Encoder-এর সংজ্ঞা অনুযায়ী 16-to-? Encoder হবে:

    • (a) 2 (b) 4 (c) 8 (d) 16 উত্তর: (b) 4 (কারণ 16 = 2⁴, তাই 4 output)