advanced#flip-flop#SR#JK#D#T#sequential-logic#memory#register#counterUpdated: 2026-05-12

ফ্লিপ ফ্লপ (Flip-Flop)


ভূমিকা — Computer-এর স্মৃতিশক্তি

তোমার Computer-এর RAM বিদ্যুৎ চলে গেলে সব data মুছে যায়। কিন্তু বিদ্যুৎ থাকা পর্যন্ত প্রতিটি bit মনে রাখে।

এই "মনে রাখার" কাজটি করে Flip-Flop Circuit

প্রতিটি Flip-Flop একটি মাত্র bit সংরক্ষণ করে — হয় 0 অথবা 1। লক্ষ কোটি Flip-Flop মিলে তৈরি হয় RAM, CPU Register, Cache।

মজার তথ্য: তোমার 8GB RAM মানে প্রায় 64 বিলিয়ন Flip-Flop! প্রতিটি 1 bit সংরক্ষণ করছে।


Flip-Flop কেন দরকার?

আমরা এতদিন যে Logic Gate শিখেছি সেগুলো Combinational Logic — output শুধু current input-এর উপর নির্ভর করে।

কিন্তু Computer-কে মনে রাখতে হয় — যেমন:

  • Loop counter: শেষবার কত ছিল?
  • Register: CPU-তে এই মুহূর্তে কী data আছে?
  • Flag: আগের operation-এ overflow হয়েছিল?

এই "পূর্ববর্তী অবস্থা মনে রাখার" জন্য দরকার Sequential Logic — এবং Sequential Circuit-এর মৌলিক building block হলো Flip-Flop


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

Combinational vs Sequential:

Combinational:
Inputs → [Gate] → Output
(আগের কিছু মনে নেই)

Sequential (Flip-Flop):
Inputs ──────┐
             ├── [FF] → Q (output)
Clock ───────┘    ↑
              Previous state মনে আছে

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

উপমা: Light switch vs রুমের thermostat। Switch = Combinational (চালু/বন্ধ শুধু বর্তমান position-এ)। Thermostat = Sequential (আগে কত ছিল মনে রেখে সিদ্ধান্ত নেয়)। Flip-Flop হলো Thermostat-এর মতো — previous state মনে রাখে।


Module 1: Sequential Logic ও Combinational Logic পার্থক্য

বিষয়Combinational LogicSequential Logic
Output নির্ভর করেশুধু current input-এCurrent input + Previous state-এ
Memoryনেইআছে (Flip-Flop দিয়ে)
উদাহরণAND/OR Gate, AdderFlip-Flop, Register, Counter
Clockলাগে নাপ্রায়ই লাগে

Clock Signal কী?

Flip-Flop সাধারণত Clock-এর Rising Edge (0→1) বা Falling Edge (1→0)-এ trigger হয়।

Clock: _____|‾‾‾‾‾|_____|‾‾‾‾‾|_____
              ↑             ↑
         Rising Edge    Rising Edge
         (FF trigger)  (FF trigger)

Module 2: SR Flip-Flop (Set-Reset)

📌 সংজ্ঞা

SR Flip-Flop হলো সবচেয়ে সরল Flip-Flop। এর দুটি input আছে:

  • S (Set): Q কে 1 করে
  • R (Reset): Q কে 0 করে

এবং দুটি output:

  • Q: বর্তমান state
  • Q̄: Q-এর complement

Truth Table

SRQ (next)মন্তব্য
00QNo Change (আগের state মনে রাখে)
010Reset (Q = 0 হয়)
101Set (Q = 1 হয়)
11?Forbidden / Invalid State

SR=11 কেন Forbidden?

S=1 AND R=1 দিলে একই সময় Set এবং Reset — Q-এর মান undefined/indeterminate। এটা circuit-এ অস্থির অবস্থা তৈরি করে।

⚠️ সতর্কতা: SR Flip-Flop-এ S=R=1 কখনো দেওয়া উচিত নয়। এটা "Forbidden State।"

NAND Gate দিয়ে SR Latch Circuit

S ──┤NAND├──────── Q
    │    │    │
    └────┘    │
              │
R ──┤NAND├──────── Q̄
    │    │
    └────┘
(Cross-coupled NAND gates)

Module 3: JK Flip-Flop

📌 সংজ্ঞা

JK Flip-Flop হলো SR Flip-Flop-এর উন্নত সংস্করণ যেখানে Forbidden State নেই। J=K=1 দিলে output Toggle (পরিবর্তন) হয়।

  • J (Jump/Set): SR-এর S-এর মতো
  • K (Kill/Reset): SR-এর R-এর মতো

Truth Table

JKQ (next)মন্তব্য
00QNo Change
010Reset
101Set
11Toggle (SR-এর forbidden = JK-এর toggle!)

🎯 Key Insight: SR-এর সমস্যা (J=K=1 → undefined) কে JK সুন্দরভাবে সমাধান করেছে — Toggle করে।

JK Toggle উদাহরণ

Initial Q = 0, J=1, K=1:
After clock: Q = Q̄ = 1  (toggle হলো)

Next clock (Q=1, J=1, K=1):
After clock: Q = Q̄ = 0  (আবার toggle)

Clock pulse:  1  2  3  4  5
J=K=1 রাখলে: Q: 0  1  0  1  0  (দোলানো)

এই toggle behavior থেকেই T Flip-Flop তৈরি।


Module 4: D Flip-Flop (Data/Delay)

📌 সংজ্ঞা

D Flip-Flop সবচেয়ে সরল এবং সহজ বোধগম্য। Clock edge-এ input D-এর value output Q-তে copy হয়।

Q(next) = D

Truth Table

DQ (next)মন্তব্য
00D-এর value Q-তে store হয়
11D-এর value Q-তে store হয়

SR থেকে D তৈরি

S = D, R = D̄
(SR-এর forbidden state automatically avoid হয়)

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

  • Data Latch: এক clock cycle-এ data store করে
  • Register: CPU-তে 8/16/32/64 D Flip-Flop মিলে register তৈরি
  • Shift Register: Data shift করার জন্য

Module 5: T Flip-Flop (Toggle)

📌 সংজ্ঞা

T Flip-Flop এ T=1 হলে প্রতিটি clock edge-এ output toggle হয় (0→1 বা 1→0)। T=0 হলে কোনো পরিবর্তন নেই।

Truth Table

TQ (next)মন্তব্য
0QNo Change
1Toggle

JK থেকে T তৈরি

J = K = T — JK-এ J এবং K একসাথে connect করলে T Flip-Flop।

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

  • Binary Counter: T=1 রাখলে প্রতি clock-এ 0,1,0,1... — frequency divider
  • Frequency Divider: ১ টা T FF clock frequency অর্ধেক করে

চার ধরনের Flip-Flop তুলনা

TypeInputsবিশেষ বৈশিষ্ট্যসমস্যাব্যবহার
SRS, RসরলS=R=1 ForbiddenBasic storage
JKJ, KToggle (J=K=1)Race conditionUniversal FF
DDQ_next = DRegisters, Latches
TTToggle (T=1)Counters

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

  • 💾 RAM (SRAM): প্রতিটি memory cell-এ Flip-Flop (static RAM)
  • 🖥️ CPU Register: প্রতিটি register = D Flip-Flop-এর সমষ্টি
  • ⏱️ Counter: JK বা T Flip-Flop দিয়ে Digital counter তৈরি
  • 📡 Shift Register: Serial data transmission-এ
  • 🔢 Frequency Divider: T Flip-Flop cascade করলে clock ÷2, ÷4 হয়

🧠 মূল শিক্ষা

মনে রাখো: Flip-Flop হলো Digital Memory-র মৌলিক unit। SR-এ S=R=1 forbidden, JK-এ J=K=1 = Toggle — এটাই SR-এর সমস্যার সমাধান। D Flip-Flop সবচেয়ে সহজ (Q=D), T Flip-Flop counter তৈরিতে ব্যবহার হয়। Clock-এর edge-এ trigger হওয়াই Flip-Flop-কে Combinational Gate থেকে আলাদা করে।


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

প্রশ্ন ১: SR Flip-Flop-এ S=R=1 দিলে কী হয়?

উত্তর: Forbidden/Invalid state — output undefined।


প্রশ্ন ২: JK Flip-Flop-এ J=K=1 দিলে কী হয়?

উত্তর: Toggle — Q-এর বর্তমান মান পরিবর্তন হয় (0→1 বা 1→0)।


প্রশ্ন ৩: D Flip-Flop-এ Q(next) = ?

উত্তর: D (input D-এর value output Q-তে copy হয়)।


প্রশ্ন ৪: কোন Flip-Flop Counter তৈরিতে সবচেয়ে বেশি ব্যবহার হয়?

উত্তর: T Flip-Flop (Toggle behavior-এর কারণে)।


প্রশ্ন ৫: Sequential Logic এবং Combinational Logic-এর মূল পার্থক্য কী?

উত্তর: Sequential Logic-এ output পূর্ববর্তী state-এর উপরও নির্ভর করে (memory আছে)। Combinational-এ শুধু current input।


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

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

🎯 JK Flip-Flop Truth Table: সবচেয়ে বেশি আসে। পুরো table মুখস্থ।

🎯 SR vs JK পার্থক্য: "SR-এর Forbidden State কী এবং JK কীভাবে সমাধান করল?"

🎯 Sequential vs Combinational: Definition এবং পার্থক্য।

🎯 D Flip-Flop: সংজ্ঞা এবং বাস্তব প্রয়োগ।

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

⚠️ ভুল ১: SR Flip-Flop-এ S=R=1 হলে Q=1 লেখা — সঠিক: Undefined/Forbidden।

⚠️ ভুল ২: JK Toggle অবস্থায় নির্দিষ্ট মান দেওয়া — toggle মানে আগের মানের বিপরীত।

⚠️ ভুল ৩: Flip-Flop কে Combinational Circuit বলা — এটা Sequential।

⚠️ ভুল ৪: Clock-এর কথা উল্লেখ না করা — Flip-Flop clock-triggered।

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

💡 SR → JK evolution: "JK = SR without forbidden state + Toggle bonus।"

💡 "D = Data, T = Toggle, JK = versatile, SR = basic"


✅ সারাংশ

Sequential Logic: output = f(inputs + previous state) — Memory আছে।

SR Flip-Flop:

  • S=0,R=0 → No change; S=0,R=1 → Reset; S=1,R=0 → Set; S=1,R=1 → Forbidden

JK Flip-Flop:

  • J=0,K=0 → No change; J=0,K=1 → Reset; J=1,K=0 → Set; J=1,K=1 → Toggle

D Flip-Flop:

  • Q(next) = D (সরল copy)

T Flip-Flop:

  • T=0 → No change; T=1 → Toggle

Comparison:

  • SR: Basic, has forbidden state
  • JK: Universal, solves SR problem
  • D: Simplest, used in registers
  • T: Toggle, used in counters

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

  1. Truth Table: JK Flip-Flop-এর সম্পূর্ণ Truth Table তৈরি করো।

  2. SR পার্থক্য: SR এবং JK Flip-Flop-এর মধ্যে পার্থক্য লেখো। JK কীভাবে SR-এর সমস্যা সমাধান করে?

  3. D Flip-Flop: D Flip-Flop কী? এটি কোথায় ব্যবহার হয়?

  4. State Diagram: JK Flip-Flop-এর Q=0 থেকে শুরু করে J=1, K=1 দিলে 5টি clock pulse-এ Q-এর মান কী কী হবে?

  5. MCQ: কোন Flip-Flop-এ Toggle state আছে?

    • (a) শুধু SR (b) শুধু D (c) JK এবং T (d) শুধু JK উত্তর: (c) JK এবং T