কাউন্টার: প্রকারভেদ ও গঠন

এইচএসসি আইসিটি অধ্যায় ৩: কাউন্টার এর বিস্তারিত আলোচনা। অ্যাসিনক্রোনাস (রিপল) ও সিনক্রোনাস কাউন্টার, মডুলাস কাউন্টার এবং ডিজিটাল ঘড়িতে কাউন্টারের ব্যবহার।

শেখা শুরু করুন

কাউন্টার: প্রকারভেদ ও গঠন (Counter: Types & Construction)

  1. কাউন্টার: প্রকারভেদ ও গঠন
  2. সংখ্যা কে মনে রাখে?
  3. কাউন্টার (Counter) কী?
  4. কাউন্টারের প্রকারভেদ
  5. অ্যাসিনক্রোনাস বা রিপল কাউন্টার
  6. ২-বিট রিপল আপ কাউন্টার গঠন
  7. কীভাবে গণনা হয়? (কার্যপ্রণালী)
  8. টাইমিং ডায়াগ্রাম (Timing Diagram)
  9. ৩-বিট রিপল কাউন্টার
  10. অ্যাসিনক্রোনাস কাউন্টারের সীমাবদ্ধতা
  11. সিনক্রোনাস কাউন্টার (Synchronous Counter)
  12. তুলনা: অ্যাসিনক্রোনাস বনাম সিনক্রোনাস
  13. মডুলাস (MOD) কাউন্টার কী?
  14. MOD-10 বা ডিকেড কাউন্টার
  15. কাউন্টারের ব্যবহার
  16. সারাংশ ও বাড়ির কাজ

কাউন্টার: প্রকারভেদ ও গঠন

এই লেকচার শেষে আমরা-

১। কাউন্টার কী এবং এর প্রকারভেদ বর্ণনা করতে পারব।
২। অ্যাসিনক্রোনাস (Ripple) কাউন্টারের গঠন ও কার্যপ্রণালী ব্যাখ্যা করতে পারব।
৩। সিনক্রোনাস ও অ্যাসিনক্রোনাস কাউন্টারের মধ্যে পার্থক্য করতে পারব।
৪। মডুলাস (MOD) কাউন্টারের ধারণা ব্যাখ্যা করতে পারব।

হ্যালো এবং স্বাগতম সবাইকে! আশা করি তোমরা সবাই ভালো আছ। আজকের ক্লাসটা ডিজিটাল লজিক ডিজাইনের অন্যতম মজার একটা টপিক নিয়ে—সেটা হলো কাউন্টার। নাম শুনেই বুঝতে পারছ, এর কাজ কিছু একটা গণনা করা। এই লেকচার শেষে আমরা কাউন্টার কী, এটা কত ধরনের হয়, এবং বিশেষ করে অ্যাসিনক্রোনাস বা রিপল কাউন্টার কীভাবে কাজ করে, সেটা একদম ভেতর থেকে বুঝতে পারব। এছাড়াও আমরা সিনক্রোনাস কাউন্টার এবং MOD কাউন্টার নিয়েও কথা বলব। চলো তাহলে শুরু করা যাক!

সংখ্যা কে মনে রাখে?

দৃশ্যপট:
  • ট্রাফিক সিগন্যাল: কাউন্টডাউন টাইমার (১০, ৯, ৮...)
  • ডিজিটাল ঘড়ি: সেকেন্ডের কাঁটা (০০ $\rightarrow$ ৫৯)
প্রশ্ন:

এই যে একটার পর একটা সংখ্যা আসছে, এই হিসাবটা কে রাখে? কে বলে দেয় যে ৫ এর পর ৬ আসবে, নাকি আবার ০ হবে?

তোমরা কি কখনো ভেবেছ, রাস্তায় ট্রাফিক সিগন্যালের ওই লাল বাতিটা কীভাবে জানে যে ১০ সেকেন্ড শেষ হয়ে গেছে? বা তোমার হাতের ডিজিটাল ঘড়িটা কীভাবে সেকেন্ডের হিসাব রাখে? ৫৯ সেকেন্ড হওয়ার ঠিক পরেই সেটা আবার ০০ তে ফিরে আসে। এই যে একটার পর একটা সংখ্যা মনে রাখা এবং সময়মতো সেটা পরিবর্তন করা—এই কাজটা করে ডিজিটাল ইলেকট্রনিক্সের একটা বিশেষ সার্কিট, যাকে আমরা বলি 'কাউন্টার'। চলো দেখি এটা আসলে কী।

কাউন্টার (Counter) কী?

সংজ্ঞা:
কাউন্টার হলো এমন একটি সিকোয়েন্সিয়াল সার্কিট (Sequential Circuit) যা ইনপুট ক্লক পালসের (Clock Pulse) সংখ্যা গণনা করতে পারে।

বৈশিষ্ট্য:
* এটি ফ্লিপ-ফ্লপ দিয়ে তৈরি (কারণ তথ্য মনে রাখতে হয়)।
* এটি মেমোরি এলিমেন্ট হিসেবে কাজ করে।
* এটি সাধারণত বাইনারি সংখ্যা (০ এবং ১) আকারে গণনা করে।

কাউন্টারের সোজা সংজ্ঞা হলো—এটি ক্লক পালস গোনে। মানে, ইনপুটে কয়টা সিগন্যাল বা পালস এল, কাউন্টার সেটা গুনে রাখে। যেহেতু একে আগের সংখ্যাটা মনে রাখতে হয়—যেমন ৫ এর পর ৬ হবে—তাই এটি একটি সিকোয়েন্সিয়াল সার্কিট। আর আমরা জানি, সিকোয়েন্সিয়াল সার্কিট মানেই সেখানে মেমোরি থাকতে হবে। আর এই মেমোরি বা স্মৃতি ধরে রাখার কাজটা করে 'ফ্লিপ-ফ্লপ'। অর্থাৎ, কতগুলো ফ্লিপ-ফ্লপ সাজিয়েই আমরা কাউন্টার তৈরি করি।

কাউন্টারের প্রকারভেদ

১. ক্লক পালস প্রয়োগের ওপর ভিত্তি করে:
  • অ্যাসিনক্রোনাস (Asynchronous) বা রিপল কাউন্টার
  • সিনক্রোনাস (Synchronous) কাউন্টার
২. গণনার দিক বা মোড অনুসারে:
  • আপ কাউন্টার (Up Counter): ছোট থেকে বড় (০ $\rightarrow$ ১ $\rightarrow$ ২...)
  • ডাউন কাউন্টার (Down Counter): বড় থেকে ছোট (৯ $\rightarrow$ ৮ $\rightarrow$ ৭...)
  • আপ-ডাউন কাউন্টার (Up-Down Counter): উভয় দিকেই গুনতে পারে।

কাউন্টারকে আমরা প্রধানত দুই ভাগে ভাগ করি—ক্লক পালস কীভাবে দেওয়া হচ্ছে তার ওপর ভিত্তি করে। একটা হলো অ্যাসিনক্রোনাস বা রিপল কাউন্টার, যেখানে ফ্লিপ-ফ্লপগুলো একে অপরের ওপর নির্ভর করে। আরেকটা হলো সিনক্রোনাস, যেখানে সবাই একসাথে ক্লক পালস পায়। এছাড়াও কাউন্টার সোজা দিকে গুনছে না উল্টো দিকে, তার ওপর ভিত্তি করে আপ এবং ডাউন কাউন্টার হতে পারে। এই চার্টটা একটু ভালো করে দেখে নাও, পুরো ম্যাপটা মাথায় গেঁথে যাবে।

অ্যাসিনক্রোনাস বা রিপল কাউন্টার

মূল কথা:
এখানে সব ফ্লিপ-ফ্লপ একই সাথে ক্লক পালস পায় না।

কার্যপদ্ধতি:
* প্রথম ফ্লিপ-ফ্লপটি বাইরের ক্লক সোর্স থেকে পালস পায়।
* প্রথমটির আউটপুট দ্বিতীয়টির ক্লক হিসেবে কাজ করে।
* এভাবে সংকেত ঢেউয়ের মতো (Ripple) এক স্টেজ থেকে আরেক স্টেজে এগিয়ে যায়।

অ্যাসিনক্রোনাস কাউন্টারকে 'রিপল' কাউন্টার কেন বলা হয় জানো? তোমরা কি কখনো ডোমিনো খেলা দেখেছ? একটার গায়ে টোকা দিলে সেটা পড়ে গিয়ে পরেরটাকে ধাক্কা দেয়, সেটা আবার তার পরেরটাকে। ঠিক এভাবেই, এখানে আমরা মেইন ক্লক পালসটা দিই শুধু প্রথম ফ্লিপ-ফ্লপে। সে কাজ শেষ করে পরেরজনকে ধাক্কা দেয় বা সিগন্যাল পাঠায়। এভাবে সিগন্যালটা পানির ঢেউ বা 'রিপল' এর মতো এগিয়ে যায়। তাই এর নাম রিপল কাউন্টার।

২-বিট রিপল আপ কাউন্টার গঠন

উপাদান:
* ২টি JK ফ্লিপ-ফ্লপ (FF0, FF1)।
* উভয় ফ্লিপ-ফ্লপ 'Toggle Mode'-এ থাকে (J=1, K=1)।

সংযোগ:
* Clock $\rightarrow$ FF0 এর CLK ইনপুট।
* FF0 এর Output (Q0) $\rightarrow$ FF1 এর CLK ইনপুট।

চলো এবার একটা ২-বিট রিপল কাউন্টার বানাই। আমাদের লাগবে দুটো JK ফ্লিপ-ফ্লপ। মনে রাখবে, কাউন্টারে আমরা ফ্লিপ-ফ্লপকে 'টগল মোড'-এ রাখি। অর্থাৎ J এবং K দুটো ইনপুটেই আমরা ১ (High) দিয়ে রাখি, যাতে প্রতিবার ক্লক পেলেই সে তার মান উল্টে দেয় (0 হলে 1, 1 হলে 0)। ডায়াগ্রামটা খেয়াল করো—বাইরের ক্লকটা শুধু প্রথম ফ্লিপ-ফ্লপে (FF0) লাগানো। আর দ্বিতীয় ফ্লিপ-ফ্লপ (FF1) তার ক্লক পাচ্ছে প্রথমজনের আউটপুট (Q0) থেকে। এটাই হলো রিপল কানেকশন।

কীভাবে গণনা হয়? (কার্যপ্রণালী)

ধরি, শুরুতে কাউন্টারটি রিসেট অবস্থায় আছে ($Q_1=0, Q_0=0$)।

  1. ১ম ক্লক পালস (Negative Edge):
    - FF0 টগল করবে ($Q_0: 0 \rightarrow 1$)।
    - এখন মান: ০১ (দশমিকে ১)।

  2. ২য় ক্লক পালস:
    - FF0 আবার টগল করবে ($Q_0: 1 \rightarrow 0$)।
    - $Q_0$ এর এই পরিবর্তন ($1 \rightarrow 0$) FF1 কে ট্রিগার করবে।
    - ফলে $Q_1$ টগল হবে ($0 \rightarrow 1$)।
    - এখন মান: ১০ (দশমিকে ২)।

  3. ৩য় ক্লক পালস:
    - FF0 টগল করবে ($Q_0: 0 \rightarrow 1$)। FF1 ট্রিগার হবে না।
    - এখন মান: ১১ (দশমিকে ৩)।

এবার একটু মন দিয়ে কার্যপ্রণালীটা বুঝি। শুরুতে সব ০। প্রথম ক্লক পালস এল—প্রথম ফ্লিপ-ফ্লপ (Q0) ০ থেকে ১ হলো। মান হলো ১। দ্বিতীয় ক্লক পালস এল—Q0 আবার উল্টে ১ থেকে ০ হলো। এই যে ১ থেকে ০ হলো, এই 'নেগেটিভ এজ' বা পরিবর্তনের ধাক্কায় দ্বিতীয় ফ্লিপ-ফ্লপ (Q1) জেগে উঠল এবং সে ০ থেকে ১ হলো। তাহলে এখন Q1=1, Q0=0, মানে বাইনারিতে ১০, যা হলো ২। এভাবেই একটার পর একটা পালস আসে আর সংখ্যা বাড়তে থাকে।

টাইমিং ডায়াগ্রাম (Timing Diagram)

এই টাইমিং ডায়াগ্রামটা খুব গুরুত্বপূর্ণ। ওপরের লাইনটা হলো ক্লক পালস। খেয়াল করো, ক্লক যখনই ওপর থেকে নিচে নামছে (Falling Edge), ঠিক তখনই Q0 তার অবস্থা পরিবর্তন করছে। আবার Q0 যখন ওপর থেকে নিচে নামছে, তখন Q1 তার অবস্থা পরিবর্তন করছে। অর্থাৎ, কেউ কারো হুকুম ছাড়া নড়ছে না। গ্রাফটা দেখলে বুঝবে, Q0 এর ফ্রিকোয়েন্সি ক্লকের অর্ধেক, আর Q1 এর ফ্রিকোয়েন্সি Q0 এর অর্ধেক।

৩-বিট রিপল কাউন্টার

  • ফ্লিপ-ফ্লপ সংখ্যা: ৩টি (FF0, FF1, FF2)।
  • স্টেট সংখ্যা: $2^3 = 8$ টি (০০০ থেকে ১১১ পর্যন্ত)।
  • গণনা: ০, ১, ২, ৩, ৪, ৫, ৬, ৭ $\rightarrow$ আবার ০।
  • সংযোগ: $Q_0$ ক্লক হিসেবে কাজ করে FF1 এর জন্য, $Q_1$ কাজ করে FF2 এর জন্য।

আমরা যদি আরও বড় সংখ্যা গুনতে চাই? যেমন ০ থেকে ৭? তাহলে আমাদের ৩ বিট দরকার। খুব সহজ, আগের সার্কিটের সাথে শুধু আরেকটা ফ্লিপ-ফ্লপ (FF2) জুড়ে দেব। এখানে Q1 এর আউটপুট গিয়ে ধাক্কা দেবে FF2 কে। তাহলেই আমরা ৩-বিট রিপল কাউন্টার পেয়ে যাব। এটি মোট ৮টি সংখ্যা (০-৭) গুনতে পারবে।

অ্যাসিনক্রোনাস কাউন্টারের সীমাবদ্ধতা

সমস্যা: প্রপাগেশন ডিলে (Propagation Delay)

কারণ:
* সিগন্যাল এক ফ্লিপ-ফ্লপ থেকে আরেক ফ্লিপ-ফ্লপে যেতে সামান্য সময় নেয়।
* অনেকগুলো ফ্লিপ-ফ্লপ থাকলে শেষের দিকের ফ্লিপ-ফ্লপ অনেক দেরিতে সিগন্যাল পায়।
* একে 'রিপল এফেক্ট' বলে, যার ফলে মোট ডিলে অনেক বেড়ে যায়।

ফলাফল: হাই-স্পিড অ্যাপ্লিকেশনে এটি ব্যবহার করা যায় না।

অ্যাসিনক্রোনাস কাউন্টার বানানো সহজ, কিন্তু এর একটা বড় সমস্যা আছে। ওই যে ডোমিনোর মতো একজন আরেকজনকে ধাক্কা দেয়—এতে সময় নষ্ট হয়। প্রথম ফ্লিপ-ফ্লপ থেকে শেষ ফ্লিপ-ফ্লপে খবর পৌঁছাতে একটু দেরি হয়। এটাকে বলে 'প্রপাগেশন ডিলে'। যদি অনেকগুলো ফ্লিপ-ফ্লপ থাকে, তবে শেষ পর্যন্ত সিগন্যাল পৌঁছাতে এত দেরি হয়ে যায় যে দ্রুতগতির কম্পিউটারে এটা আর ঠিকমতো কাজ করে না।

সিনক্রোনাস কাউন্টার (Synchronous Counter)

গঠন:
* সব ফ্লিপ-ফ্লপ একই সাথে একটি কমন ক্লক পালস পায়।
* ফ্লিপ-ফ্লপগুলোর ইনপুট লজিক গেট দিয়ে নিয়ন্ত্রণ করা হয়।

সুবিধা:
* যেহেতু সবাই একসাথে ক্লক পায়, তাই প্রপাগেশন ডিলে সমস্যা নেই
* খুব দ্রুত কাজ করতে পারে।

ডিলে সমস্যা দূর করার জন্য এল 'সিনক্রোনাস কাউন্টার'। নামের সাথেই মিল আছে—'সিনক্রোনাইজড' বা সমন্বিত। এখানে বস (Clock) যখন সিগন্যাল দেয়, সব ফ্লিপ-ফ্লপ একসাথে কাজ শুরু করে। কেউ কারো জন্য অপেক্ষা করে না। ডায়াগ্রামটা দেখো—ক্লক লাইনটা সবার সাথে সরাসরি যুক্ত। এর ফলে এই কাউন্টার অনেক ফাস্ট কাজ করতে পারে, যদিও এর গঠনটা একটু জটিল।

তুলনা: অ্যাসিনক্রোনাস বনাম সিনক্রোনাস

বৈশিষ্ট্য অ্যাসিনক্রোনাস (Ripple) সিনক্রোনাস
ক্লক পালস আলাদা আলাদা (Ripple) সবাই একসাথে (Common)
গতি কম (Slow) বেশি (Fast)
গঠন সহজ, লজিক গেট কম লাগে জটিল, লজিক গেট বেশি লাগে
ব্যবহার কম গতির সার্কিটে হাই স্পিড সার্কিটে

পরীক্ষা বা বোঝার সুবিধার জন্য এই তুলনাটা খুব গুরুত্বপূর্ণ। এক কথায় মনে রাখবে—অ্যাসিনক্রোনাস হলো সহজ কিন্তু ধীর গতির, আর সিনক্রোনাস হলো জটিল কিন্তু দ্রুত গতির। অ্যাসিনক্রোনাসে একটার আউটপুট অন্যটার ক্লক হিসেবে কাজ করে, আর সিনক্রোনাসে সবাই মেইন ক্লকের সাথে যুক্ত থাকে। টেবিলটা ভিডিও পজ করে একবার পড়ে নাও।

মডুলাস (MOD) কাউন্টার কী?

সংজ্ঞা:
একটি কাউন্টার রিসেট হওয়ার আগে মোট কতটি সংখ্যা বা স্টেট (State) গুনতে পারে, তাকে তার মডুলাস বা MOD নম্বর বলে।

সূত্র:
$$MOD \ number = 2^n$$
(যেখানে $n$ = ফ্লিপ-ফ্লপ সংখ্যা)

উদাহরণ:
* ৩ বিট কাউন্টার = $2^3 = 8$ টি স্টেট (MOD-8)
* ৪ বিট কাউন্টার = $2^4 = 16$ টি স্টেট (MOD-16)

এবার আসি MOD কাউন্টারে। MOD শব্দটা এসেছে Modulus থেকে। সোজা কথায়, একটা কাউন্টার কত পর্যন্ত গুনতে পারে, সেটাই তার মডুলাস। যেমন, একটা ৩ বিট কাউন্টার ০ থেকে ৭ পর্যন্ত মোট ৮টা সংখ্যা গুনতে পারে, তাই এটি একটি MOD-8 কাউন্টার। যদি ৪টি ফ্লিপ-ফ্লপ থাকে, তবে সেটি হবে MOD-16 কাউন্টার। কিন্তু আমরা যদি ১০ পর্যন্ত গুনতে চাই? তখন কী করব?

MOD-10 বা ডিকেড কাউন্টার

প্রয়োজনীয়তা:
আমরা দশমিক সংখ্যায় অভ্যস্ত (০-৯)। তাই আমাদের ১০টি স্টেট দরকার।

গঠন:
* ৪টি ফ্লিপ-ফ্লপ লাগে (কারণ $2^3=8$ যা ১০ এর চেয়ে কম, তাই $2^4=16$ নিতে হবে)।
* লজিক: যখনই কাউন্টার ১০ (১০১০) এ পৌঁছাবে, তখনই এটি রিসেট হয়ে ০ (০০০০) হবে।
* রিসেট করার জন্য NAND গেট ব্যবহার করা হয়।

আমাদের দৈনন্দিন জীবনে আমরা দশমিক পদ্ধতি বা ০ থেকে ৯ ব্যবহার করি। তাই ১০ পর্যন্ত গুনেই রিসেট হয়ে যাবে—এমন কাউন্টার খুব দরকার। একে বলে ডিকেড (Decade) কাউন্টার বা MOD-10 কাউন্টার। এর জন্য আমরা ৪ বিটের কাউন্টার নিই (যা ১৬ পর্যন্ত গুনতে পারে), কিন্তু একটা বুদ্ধি করি। যখনই সংখ্যাটা ১০ (বাইনারিতে ১০১০) হয়, তখন একটা লজিক গেট দিয়ে জোর করে কাউন্টারটাকে ০ বানিয়ে ফেলি। ছবিতে দেখো, ১০১০ ডিটেক্ট করার জন্য একটা রিসেট লজিক ব্যবহার করা হয়েছে।

কাউন্টারের ব্যবহার

  1. ডিজিটাল ঘড়ি ও স্টপওয়াচ
  2. ফ্রিকোয়েন্সি ডিভাইডার (Frequency Divider) হিসেবে।
  3. কম্পিউটারের প্রসেসরে ইনস্ট্রাকশন গুনতে (Program Counter)।
  4. এনালগ টু ডিজিটাল কনভার্টারে (ADC)
  5. অটোমোবাইল ও পার্কিং লটে গাড়ি গণনায়।

এতক্ষণ যা শিখলাম, তা বাস্তবে কোথায় কাজে লাগে? তোমার হাতের ডিজিটাল ঘড়ি থেকে শুরু করে কম্পিউটারের প্রসেসর পর্যন্ত—সব জায়গায় কাউন্টার আছে। ফ্রিকোয়েন্সি কমানোর জন্য বা 'ডিভাইড' করার জন্য কাউন্টার ব্যাপকভাবে ব্যবহৃত হয়। এছাড়া বড় শপিং মলের পার্কিংয়ে কয়টা গাড়ি ঢুকল আর কয়টা বের হলো, সেই হিসাবও রাখে এই কাউন্টার সার্কিট।

সারাংশ ও বাড়ির কাজ

আজকের সারসংক্ষেপ:
* কাউন্টার হলো পালস গণনাকারী সিকোয়েন্সিয়াল সার্কিট।
* অ্যাসিনক্রোনাস (Ripple) কাউন্টার ধীর কিন্তু সহজ।
* সিনক্রোনাস কাউন্টার দ্রুত কিন্তু জটিল।
* MOD নম্বর দিয়ে কাউন্টারের রেঞ্জ বোঝা যায়।

বাড়ির কাজ:
১। একটি ৩-বিট রিপল ডাউন কাউন্টারের (৭ থেকে ০) লজিক ডায়াগ্রাম আঁকার চেষ্টা করো।
২। MOD-5 কাউন্টার তৈরি করতে কয়টি ফ্লিপ-ফ্লপ লাগবে এবং কেন?

আজ আমরা অনেক কিছু শিখলাম। কাউন্টার কী, রিপল ইফেক্ট কী, এবং সিনক্রোনাস কাউন্টার কেন ফাস্ট—সবই এখন তোমাদের জানা। এই কনসেপ্টগুলো মাথায় গেঁথে নেওয়ার জন্য বাসায় একটু প্র্যাকটিস করা দরকার। স্ক্রিনে দেওয়া বাড়ির কাজগুলো চেষ্টা করবে। ডাউন কাউন্টার আঁকার সময় মনে রাখবে—আউটপুটগুলো শুধু উল্টো জায়গা থেকে নিতে হবে অথবা ক্লক পালসের লজিকটা উল্টে দিতে হবে। আজ এ পর্যন্তই, দেখা হবে পরের ক্লাসে!

কাউন্টার: গঠন, প্রকারভেদ ও মডুলাস - বিস্তারিত আলোচনা ও পরীক্ষার প্রস্তুতি

পড়তে প্রায় 25 মিনিট

লেকচারে আমরা ডিজিটাল ঘড়ি এবং ট্রাফিক লাইটের উদাহরণ দিয়ে কাউন্টারের প্রয়োজনীয়তা সম্পর্কে প্রাথমিক ধারণা পেয়েছি। এই রিডিং ম্যাটেরিয়ালে আমরা এর অভ্যন্তরীণ গঠন, কার্যপদ্ধতি এবং পরীক্ষার খাতায় কীভাবে এর লজিক চিত্র আঁকতে ও ব্যাখ্যা করতে হয় তা বিস্তারিত জানব। কাউন্টার হলো ডিজিটাল ইলেকট্রনিক্সের হৃৎস্পন্দন, যা শুধুমাত্র সংখ্যা গণনা নয়, বরং সময় পরিমাপ ও ফ্রিকোয়েন্সি ভাগের মতো গুরুত্বপূর্ণ কাজও করে। সিকোয়েন্সিয়াল লজিক সার্কিটের এই অংশটি সৃজনশীল প্রশ্নের জন্য অত্যন্ত গুরুত্বপূর্ণ।

কাউন্টার কী? (What is Counter?)

কাউন্টার হলো ডিজিটাল লজিক সার্কিটের একটি বিশেষ অংশ যা ইনপুট ক্লক পালসের সংখ্যা গণনা করতে পারে। এটি মূলত একগুচ্ছ ফ্লিপ-ফ্লপের (Flip-Flop) সমষ্টি যা নির্দিষ্ট ক্রমে বা সিকোয়েন্সে তাদের অবস্থা (State) পরিবর্তন করে। কম্বিনেশনাল সার্কিট (যেমন অ্যাডার বা ডিকোডার) থেকে এর মূল পার্থক্য হলো—কাউন্টারের মেমোরি আছে এবং এর বর্তমান আউটপুট পূর্ববর্তী আউটপুটের ওপর নির্ভর করে।

সংজ্ঞা (Definition): কাউন্টার (Counter) হলো এমন একটি সিকোয়েন্সিয়াল লজিক সার্কিট যা ইনপুট ক্লক পালসের সংখ্যা গণনা করতে পারে এবং বাইনারি আকারে আউটপুট প্রদান করে। এটি মূলত ক্লক পালসের ওপর ভিত্তি করে নির্দিষ্ট স্টেট বা অবস্থা পরিবর্তন করে।

কাউন্টারের প্রধান কাজগুলো হলো:
১. ইনপুট পালস গণনা করা।
২. ফ্রিকোয়েন্সি ভাগ করা (Frequency Division)।
৩. সময় পরিমাপ করা (Time Measurement)।
৪. তথ্যের সিকোয়েন্স নিয়ন্ত্রণ করা।

গুরুত্বপূর্ণ (Important):
- কাউন্টার তৈরির প্রধান উপাদান হলো ফ্লিপ-ফ্লপ (Flip-Flop) এবং লজিক গেট।
- এনকোডার বা ডিকোডার দিয়ে কাউন্টার তৈরি করা যায় না কারণ তাদের মেমোরি বা স্মৃতি নেই।
- কাউন্টারের 'State' বা অবস্থা হলো এর ফ্লিপ-ফ্লপগুলোর আউটপুটের (Q) বর্তমান মান (যেমন: 000, 001 ইত্যাদি)।

কাউন্টারের প্রকারভেদ (Classification of Counters)

কাউন্টারকে প্রধানত তিনটি ভিন্ন ক্যাটাগরিতে ভাগ করা যায়: ক্লক পালস প্রয়োগের পদ্ধতির ওপর ভিত্তি করে, গণনার দিক অনুসারে এবং মডুলাস বা গণনার সংখ্যা অনুসারে।

ডিজিটাল কাউন্টারের প্রকারভেদ

  1. ক্লক পালসের ওপর ভিত্তি করে:
    * অ্যাসিনক্রোনাস (Asynchronous) বা রিপল কাউন্টার: এখানে ক্লক পালস শুধুমাত্র প্রথম ফ্লিপ-ফ্লপে দেওয়া হয়। পরবর্তী ফ্লিপ-ফ্লপগুলো আগেরটির আউটপুট দ্বারা ট্রিগার হয়। এটি ধীরগতির কিন্তু গঠন সহজ।
    * সিনক্রোনাস (Synchronous) কাউন্টার: এখানে সব ফ্লিপ-ফ্লপে একই সাথে ক্লক পালস দেওয়া হয়। এটি দ্রুতগতির কিন্তু সার্কিট জটিল।

  2. গণনার দিক অনুসারে:
    * আপ কাউন্টার (Up Counter): ছোট থেকে বড় ক্রমে গণনা করে (যেমন: ০, ১, ২, ৩...)।
    * ডাউন কাউন্টার (Down Counter): বড় থেকে ছোট ক্রমে গণনা করে (যেমন: ৩, ২, ১, ০...)।
    * আপ-ডাউন কাউন্টার (Up-Down Counter): উভয় দিকেই গণনা করতে পারে।

  3. মডুলাস অনুসারে:
    * যেমন: MOD-10 (ডিকেড কাউন্টার), MOD-16 (৪-বিট বাইনারি কাউন্টার)।

পার্থক্য ছক: অ্যাসিনক্রোনাস (Ripple) vs সিনক্রোনাস কাউন্টার

বৈশিষ্ট্য অ্যাসিনক্রোনাস (Ripple) কাউন্টার সিনক্রোনাস কাউন্টার
ক্লক পালস শুধুমাত্র ১ম ফ্লিপ-ফ্লপে ক্লক দেওয়া হয়। সব ফ্লিপ-ফ্লপে একই সাথে ক্লক দেওয়া হয়।
গতি ধীরগতি (Slow Speed)। দ্রুতগতি (High Speed)।
জটিলতা সার্কিট ডিজাইন সহজ। সার্কিট ডিজাইন জটিল।
প্রপাগেশন ডিলে ডিলে বা বিলম্ব বেশি হয়। ডিলে বা বিলম্ব কম হয়।
ব্যবহার কম গতির গণনায় ব্যবহৃত হয়। উচ্চ গতির গণনায় ব্যবহৃত হয়।

অ্যাসিনক্রোনাস বা রিপল কাউন্টার (Asynchronous/Ripple Counter)

পরীক্ষার জন্য অ্যাসিনক্রোনাস বা রিপল কাউন্টার সবচেয়ে গুরুত্বপূর্ণ। একে "রিপল" বলা হয় কারণ এতে ইনপুট ক্লক পালসের প্রভাব পানির ঢেউয়ের (Ripple) মতো এক ফ্লিপ-ফ্লপ থেকে অন্য ফ্লিপ-ফ্লপে ছড়িয়ে পড়ে।

গঠন ও কার্যপ্রণালী:
একটি ৩-বিট রিপল আপ কাউন্টার তৈরি করতে ৩টি JK Flip-Flop প্রয়োজন। ফ্লিপ-ফ্লপগুলোকে টগল মোডে (Toggle Mode) রাখা হয়, অর্থাৎ $J=1$ এবং $K=1$ ইনপুট দেওয়া হয়। এর ফলে প্রতি ক্লক পালসে আউটপুট অবস্থা পরিবর্তন করে (০ থেকে ১, বা ১ থেকে ০ হয়)।

৩-বিট অ্যাসিনক্রোনাস আপ কাউন্টার ও টাইমিং ডায়াগ্রাম

কাজের ধাপসমূহ:
১. ১ম ফ্লিপ-ফ্লপ (FF0)-এ বাইরের মূল ক্লক পালস দেওয়া হয়।
২. ১ম ফ্লিপ-ফ্লপের আউটপুট ($Q_0$) ২য় ফ্লিপ-ফ্লপের (FF1) ক্লক ইনপুট হিসেবে কাজ করে।
৩. ২য় ফ্লিপ-ফ্লপের আউটপুট ($Q_1$) ৩য় ফ্লিপ-ফ্লপের (FF2) ক্লক ইনপুট হিসেবে কাজ করে।
৪. সাধারণত নেগেটিভ এজ ট্রিগারিং (Negative Edge Triggering) ব্যবহার করা হয়, অর্থাৎ ক্লক পালস যখন হাই (1) থেকে লো (0) হয়, তখন ফ্লিপ-ফ্লপটি কাজ করে।

পরীক্ষার টিপস (Exam Tip): রিপল কাউন্টারের টাইমিং ডায়াগ্রাম আঁকার সময় মনে রাখবে—
- ১ম ফ্লিপ-ফ্লপ ($Q_0$) মূল ক্লকের প্রতি ফলিং এজে (Falling Edge) টগল করবে (মান উল্টাবে)।
- ২য় ফ্লিপ-ফ্লপ ($Q_1$) শুধুমাত্র তখনই টগল করবে যখন $Q_0$ ১ থেকে ০ হবে (Falling Edge)।
- ৩য় ফ্লিপ-ফ্লপ ($Q_2$) শুধুমাত্র তখনই টগল করবে যখন $Q_1$ ১ থেকে ০ হবে।

প্রপাগেশন ডিলে (Propagation Delay): একটি ফ্লিপ-ফ্লপে ইনপুট দেওয়ার পর আউটপুট পেতে যে অতি নগণ্য সময় লাগে, তাকে প্রপাগেশন ডিলে বলে। রিপল কাউন্টারে প্রতিটি ফ্লিপ-ফ্লপের ডিলে যোগ হয়ে মোট সময় বেড়ে যায় (Total Delay = $n \times t_p$), যা এর প্রধান অসুবিধা।

ডাউন কাউন্টার এবং আপ-ডাউন কাউন্টার

লেকচারে ডাউন কাউন্টার সম্পর্কে বিস্তারিত বলা হয়নি, তবে এটি পরীক্ষায় আসতে পারে। ডাউন কাউন্টার তৈরির পদ্ধতিটি আপ কাউন্টারের মতোই, তবে একটি ছোট পরিবর্তন করতে হয়।

ডাউন কাউন্টার তৈরির নিয়ম:
আপ কাউন্টারে আমরা আগের ফ্লিপ-ফ্লপের নরমাল আউটপুট ($Q$) কে পরের ফ্লিপ-ফ্লপের ক্লক হিসেবে ব্যবহার করি। ডাউন কাউন্টারে আমাদের আগের ফ্লিপ-ফ্লপের কমপ্লিমেন্ট আউটপুট ($\bar{Q}$ বা Q') কে পরের ফ্লিপ-ফ্লপের ক্লক হিসেবে ব্যবহার করতে হয়। অথবা, যদি আমরা পজিটিভ এজ ট্রিগারিং ব্যবহার করি, তবে $Q$ দিয়েও ডাউন কাউন্টার তৈরি সম্ভব।

উদাহরণ (Example): একটি ৩-বিট ডাউন কাউন্টারের গণনার ক্রম হবে:
১১১ (৭) $\to$ ১১০ (৬) $\to$ ১০১ (৫) $\to$ ১০০ (৪) $\to$ ০১১ (৩) $\to$ ০১০ (২) $\to$ ০০১ (১) $\to$ ০০০ (০) $\to$ আবার ১১১ (৭)।

মডুলাস (MOD) কাউন্টার ও এর গঠন

কাউন্টার সর্বোচ্চ কতটি সংখ্যা গুনতে পারে তা তার মডুলাস বা MOD নম্বর দিয়ে প্রকাশ করা হয়। একটি $n$-বিট কাউন্টারের সর্বোচ্চ গণনা $2^n - 1$ এবং মোট অবস্থার সংখ্যা $2^n$। একে MOD-$2^n$ কাউন্টার বলা হয়। কিন্তু আমরা যদি চাই কাউন্টারটি ১০-এর পর বা ১২-এর পর রিসেট হয়ে যাক, তবে আমাদের বিশেষ লজিক ব্যবহার করতে হয়।

$$2^n \ge N$$
যেখানে:
- $n$ = প্রয়োজনীয় ফ্লিপ-ফ্লপ সংখ্যা
- $N$ = কাঙ্ক্ষিত মডুলাস নম্বর (যেমন MOD-10 এর ক্ষেত্রে N=10)

MOD-10 বা ডিকেড কাউন্টার (Decade Counter):
এটি ০ থেকে ৯ পর্যন্ত (মোট ১০টি) সংখ্যা গণনা করে এবং ১০ নম্বর পালসে আবার ০-তে ফিরে আসে (রিসেট হয়)। একে BCD কাউন্টারও বলা হয়।

MOD-10 কাউন্টার ও রিসেট লজিক

গঠন ও রিসেট লজিক:
MOD-10 কাউন্টার তৈরির জন্য ৪টি ফ্লিপ-ফ্লপ লাগে (কারণ $2^3=8 < 10$, তাই $2^4=16$ নিতে হবে)। কিন্তু এটি ১৬ পর্যন্ত না গুনে ১০-এ রিসেট হবে।
- ১০-এর বাইনারি মান হলো ১০১০ ($Q_3 Q_2 Q_1 Q_0$)।
- যখন কাউন্টার ১০-এ পৌঁছাবে, তখন $Q_3=1$ এবং $Q_1=1$ হবে।
- এই দুটি আউটপুটকে একটি NAND গেটের ইনপুটে দেওয়া হয়।
- NAND গেটের আউটপুট ফ্লিপ-ফ্লপগুলোর CLR (Clear) বা RESET পিনে যুক্ত থাকে। ফলে কাউন্টার ১০ গোনার সাথে সাথেই রিসেট হয়ে ০-তে চলে আসে।

গাণিতিক সমস্যা: একটি MOD-12 কাউন্টার তৈরি করতে কয়টি ফ্লিপ-ফ্লপ লাগবে এবং রিসেট লজিক কী হবে?

সমাধান:
১. ফ্লিপ-ফ্লপ সংখ্যা: $2^n \ge 12$ হতে হবে। $n=3$ হলে $8 < 12$ (হবে না)। $n=4$ হলে $16 > 12$ (হবে)। তাই ৪টি ফ্লিপ-ফ্লপ লাগবে।
২. রিসেট লজিক: ১২ এর বাইনারি হলো ১১০০ ($Q_3 Q_2 Q_1 Q_0$)। এখানে $Q_3=1$ এবং $Q_2=1$। তাই $Q_3$ এবং $Q_2$ কে একটি NAND গেটে যুক্ত করে তার আউটপুট CLR পিনে দিতে হবে।

কাউন্টারের ব্যবহার ও প্রয়োগ (Applications)

কাউন্টার শুধুমাত্র সংখ্যা গণনার জন্যই নয়, আধুনিক ইলেকট্রনিক্সে এর ব্যাপক ব্যবহার রয়েছে।

ব্যবহারসমূহ:
- ডিজিটাল ঘড়ি (Digital Watch): সেকেন্ড, মিনিট ও ঘণ্টা গণনার জন্য বিভিন্ন MOD কাউন্টার (যেমন MOD-60, MOD-12) ব্যবহৃত হয়।
- ফ্রিকোয়েন্সি ডিভাইডার (Frequency Divider): ইনপুট ফ্রিকোয়েন্সিকে ভাগ করে কমানোর জন্য। আউটপুট ফ্রিকোয়েন্সি = $\frac{\text{ইনপুট ফ্রিকোয়েন্সি}}{2^n}$।
- টাইমার (Timer): নির্দিষ্ট সময় পর সংকেত পাঠানোর জন্য (যেমন মাইক্রোওয়েভ ওভেন)।
- এনালগ টু ডিজিটাল কনভার্টার (ADC): এনালগ সিগন্যালকে ডিজিটাল মানে রূপান্তর করতে।
- স্পিডোমিটার ও ওডোমিটার: গাড়ির গতি ও অতিক্রান্ত দূরত্ব পরিমাপে।

সারসংক্ষেপ ও পরিভাষা (Summary & Glossary)

আজকের পাঠে আমরা কাউন্টারের গঠন এবং বিভিন্ন প্রকারভেদ সম্পর্কে জানলাম। পরীক্ষার জন্য অ্যাসিনক্রোনাস কাউন্টারের টাইমিং ডায়াগ্রাম এবং MOD কাউন্টারের ডিজাইন সবচেয়ে গুরুত্বপূর্ণ।

সংক্ষিপ্ত সারাংশ (Quick Revision):
- কাউন্টার হলো ফ্লিপ-ফ্লপ দিয়ে তৈরি সিকোয়েন্সিয়াল সার্কিট।
- রিপল কাউন্টারে ক্লক পালস একটির পর একটি ফ্লিপ-ফ্লপে যায়, তাই এটি ধীরগতির।
- সিনক্রোনাস কাউন্টারে সব ফ্লিপ-ফ্লপে একই সাথে ক্লক যায়, তাই এটি দ্রুতগতির।
- MOD নম্বর হলো কাউন্টারের মোট অবস্থার সংখ্যা।
- রিসেট করার জন্য NAND গেট ব্যবহৃত হয়।

পরিভাষা (Term) সংজ্ঞা (Definition)
কাউন্টার (Counter) ইনপুট ক্লক পালস গণনা করার জন্য ব্যবহৃত সিকোয়েন্সিয়াল লজিক সার্কিট।
রিপল কাউন্টার (Ripple Counter) যে কাউন্টারে ফ্লিপ-ফ্লপগুলো শ্রেণি সমবায়ে থাকে এবং একটির আউটপুট অপরটির ক্লক হিসেবে কাজ করে।
MOD নম্বর একটি কাউন্টার রিসেট হওয়ার আগে মোট যতটি অদ্বিতীয় অবস্থা (Unique States) প্রদর্শন করতে পারে।
ডিকেড কাউন্টার যে কাউন্টার ১০টি সংখ্যা (০-৯) গণনা করতে পারে বা যার মডুলাস ১০।
টগল মোড (Toggle Mode) JK ফ্লিপ-ফ্লপের এমন অবস্থা যখন $J=1, K=1$ এবং প্রতি ক্লক পালসে আউটপুট পরিবর্তিত হয়।

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

সৃজনশীল প্রশ্ন

সৃজনশীল প্রশ্ন ১

একটি ডিজিটাল ঘড়ির ডিসপ্লেতে সেকেন্ডের কাঁটা ০ থেকে ৫৯ পর্যন্ত গণনা করে পুনরায় ০-তে ফিরে আসে। এই গণনা কাজের জন্য একটি বিশেষ ডিজিটাল বর্তনী ব্যবহার করা হয়, যা ক্লক পালসের সাথে সাথে অবস্থার পরিবর্তন ঘটায়। বর্তনীটি তৈরি করতে ফ্লিপ-ফ্লপ ব্যবহার করা হয়েছে।

ক) কাউন্টার কী?
খ) MOD-10 কাউন্টার বলতে কী বোঝ?
গ) উদ্দীপকে উল্লিখিত বর্তনীটি (রিপল কাউন্টার) কীভাবে কাজ করে? ব্যাখ্যা কর।
ঘ) উদ্দীপকের ডিসপ্লেতে ০ থেকে ৫৯ পর্যন্ত গণনা করার জন্য প্রয়োজনীয় কাউন্টার তৈরির মূলনীতি বা ব্লক ডায়াগ্রাম বিশ্লেষণ কর।

উত্তর

(ক) যে ডিজিটাল সার্কিট বা বর্তনী ইনপুট ক্লক পালসের ওপর ভিত্তি করে নির্দিষ্ট পর্যায়ক্রমিক বাইনারি সংখ্যা বা ইভেন্ট গণনা করতে পারে, তাকে কাউন্টার বলে।

(খ) MOD-10 বা মডুলাস-১০ কাউন্টার হলো এমন একটি কাউন্টার যা মোট ১০টি ভিন্ন অবস্থা (State) গণনা করতে পারে। এটি সাধারণত ০ থেকে ৯ পর্যন্ত (0000 থেকে 1001) গণনা করে এবং ১০ম পালসে আবার ০-তে ( রিসেট) ফিরে আসে। একে ডিকেড (Decade) কাউন্টারও বলা হয়। এটি তৈরিতে নূন্যতম ৪টি ফ্লিপ-ফ্লপ প্রয়োজন হয় (কারণ $2^3 < 10 < 2^4$)।

(গ) উদ্দীপকে উল্লিখিত বর্তনীটি একটি অ্যাসিনক্রোনাস বা রিপল কাউন্টার। নিচে এর কার্যপ্রণালী ব্যাখ্যা করা হলো:
১. গঠন: রিপল কাউন্টারে প্রথম ফ্লিপ-ফ্লপের ক্লক ইনপুটে বাহ্যিক ক্লক পালস দেওয়া হয়। পরবর্তী প্রতিটি ফ্লিপ-ফ্লপের ক্লক ইনপুট হিসেবে পূর্ববর্তী ফ্লিপ-ফ্লপের আউটপুট (Q) যুক্ত থাকে।
২. টগলিং: সাধারণত জে-কে (J-K) বা টি (T) ফ্লিপ-ফ্লপ ব্যবহার করে এটি তৈরি করা হয় এবং ইনপুটগুলো হাই (High) বা টগল মোডে রাখা হয়।
৩. রিপলিং ইফেক্ট: যখন ক্লক পালস আসে, প্রথম ফ্লিপ-ফ্লপটি তার অবস্থা পরিবর্তন করে। এর আউটপুট যখন পরিবর্তিত হয়, তখন সেটি দ্বিতীয় ফ্লিপ-ফ্লপকে ট্রিগার করে। এভাবে পরিবর্তনের ঢেউ বা 'Ripple' এক ফ্লিপ-ফ্লপ থেকে অন্যটিতে প্রবাহিত হয় বলে একে রিপল কাউন্টার বলা হয়।
৪. ধীরগতি: সব ফ্লিপ-ফ্লপ একই সাথে ক্লক পালস পায় না, তাই এতে প্রোপাগেশন ডিলে (Propagation Delay) বেশি হয়।

(ঘ) উদ্দীপকের ডিজিটাল ঘড়িতে ০ থেকে ৫৯ পর্যন্ত গণনা করার জন্য একটি MOD-60 কাউন্টার প্রয়োজন। এটি তৈরি করার জন্য দুটি পৃথক কাউন্টারের সমন্বয় ঘটাতে হয়: একটি MOD-10 কাউন্টার এবং একটি MOD-6 কাউন্টার।

বিশ্লেষণ ও মূলনীতি:
১. ব্লক ডায়াগ্রাম: সম্পূর্ণ কাউন্টারটিকে দুটি অংশে ভাগ করা হয়। প্রথম অংশটি সেকেন্ডের একক স্থানীয় অঙ্ক (০-৯) গণনা করবে এবং দ্বিতীয় অংশটি দশক স্থানীয় অঙ্ক (০-৫) গণনা করবে।
- MOD-10 কাউন্টার (একক অংশ): এটি ০ থেকে ৯ পর্যন্ত গুনবে। যখন এটি ৯ থেকে ০-তে রিসেট হবে, তখন এটি একটি আউটপুট পালস তৈরি করবে যা পরবর্তী কাউন্টারের ক্লক ইনপুট হিসেবে কাজ করবে।
- MOD-6 কাউন্টার (দশক অংশ): এটি MOD-10 কাউন্টার থেকে আসা পালস গ্রহণ করে ১ করে বাড়বে। এটি ০ থেকে ৫ পর্যন্ত গুনবে।

  1. কার্যপ্রণালী:
    - শুরুতে উভয় কাউন্টার ০ অবস্থায় থাকবে (০০)।
    - ক্লক পালস আসার সাথে সাথে MOD-10 কাউন্টারটি ১, ২, ৩... এভাবে ৯ পর্যন্ত গুনবে।
    - ১০ম পালসে MOD-10 কাউন্টারটি ০-তে রিসেট হবে এবং একটি পালস MOD-6 কাউন্টারে পাঠাবে। ফলে MOD-6 কাউন্টারটি ১ ঘর অগ্রসর হবে (সেকেন্ডের কাঁটা ১০ দেখাবে)।
    - এভাবে MOD-6 কাউন্টারটি যখন ৫-এ পৌঁছাবে এবং MOD-10 কাউন্টারটি ৯-এ থাকবে (মোট ৫৯), তখন পরবর্তী পালসে উভয় কাউন্টার রিসেট হয়ে ০-তে (০০) ফিরে আসবে।

  2. সিদ্ধান্ত: সুতরাং, ০ থেকে ৫৯ পর্যন্ত গনার জন্য একটি বিসিডি (BCD) কাউন্টার এবং একটি MOD-6 কাউন্টারকে ক্যাসকেড বা যুক্ত করে কাঙ্ক্ষিত সার্কিটটি তৈরি করা সম্ভব।


সৃজনশীল প্রশ্ন ২

আইসিটি ল্যাবে ছাত্ররা ফ্লিপ-ফ্লপ ব্যবহার করে একটি ৩-বিট অ্যাসিনক্রোনাস কাউন্টার তৈরি করল। তারা পর্যবেক্ষণ করল যে, কাউন্টারটি ক্লক পালসের সাথে সাথে ০ থেকে ৭ পর্যন্ত ধারাবাহিকভাবে গুনে এবং ৮ম পালসে আবার ০-তে ফিরে আসে। একজন ছাত্র কাউন্টারটিতে সামান্য পরিবর্তন করে এটিকে MOD-6 কাউন্টারে রূপান্তর করতে চাইল।

ক) রিপল কাউন্টার কী?
খ) সিনক্রোনাস ও অ্যাসিনক্রোনাস কাউন্টারের পার্থক্য লিখ।
গ) উদ্দীপকের ৩-বিট কাউন্টারটির লজিক চিত্র বর্ণনা কর এবং টাইমিং ডায়াগ্রাম সম্পর্কে ধারণা দাও।
ঘ) উদ্দীপকের কাউন্টারটিকে মডুলাস পরিবর্তন করে MOD-6 করতে চাইলে কী পরিবর্তন আনতে হবে? বিশ্লেষণ কর।

উত্তর

(ক) যে কাউন্টারে ফ্লিপ-ফ্লপগুলোর ক্লক ইনপুটগুলো একই উৎস থেকে দেওয়া হয় না, বরং প্রথমটির আউটপুট দ্বিতীয়টির ক্লক হিসেবে ব্যবহৃত হয় এবং এভাবে ধাপে ধাপে কাজ করে, তাকে রিপল কাউন্টার বা অ্যাসিনক্রোনাস কাউন্টার বলে।

(খ) সিনক্রোনাস ও অ্যাসিনক্রোনাস কাউন্টারের পার্থক্য নিচে দেওয়া হলো:
১. ক্লক পালস: সিনক্রোনাস কাউন্টারে সকল ফ্লিপ-ফ্লপ একই সাথে একটি কমন ক্লক পালস দ্বারা চালিত হয়। অ্যাসিনক্রোনাস কাউন্টারে ফ্লিপ-ফ্লপগুলো ভিন্ন ভিন্ন সময়ে ট্রিগার হয় (প্রথমটি বাদে বাকিরা আগেরটির আউটপুট দ্বারা চালিত হয়)।
২. গতি: সিনক্রোনাস কাউন্টার দ্রুতগতির কারণ এতে প্রোপাগেশন ডিলে কম। অ্যাসিনক্রোনাস কাউন্টার ধীরগতির।
৩. গঠন: সিনক্রোনাস কাউন্টার ডিজাইন করা অপেক্ষাকৃত জটিল এবং বেশি লজিক গেট লাগে। অ্যাসিনক্রোনাস কাউন্টার গঠন করা সহজ।

(গ) উদ্দীপকের কাউন্টারটি একটি ৩-বিট অ্যাসিনক্রোনাস আপ কাউন্টার।
লজিক চিত্র বর্ণনা:
- এটি তৈরি করতে ৩টি JK বা T ফ্লিপ-ফ্লপ প্রয়োজন।
- প্রথম ফ্লিপ-ফ্লপের ($FF_0$) ক্লক ইনপুটে মূল ক্লক পালস দেওয়া হয়।
- সকল JK ইনপুটকে হাই (High) বা লজিক ১-এ রাখা হয় যাতে টগল মোডে কাজ করে।
- প্রথম ফ্লিপ-ফ্লপের আউটপুট ($Q_0$) দ্বিতীয় ফ্লিপ-ফ্লপের ($FF_1$) ক্লক ইনপুট হিসেবে যুক্ত থাকে।
- দ্বিতীয় ফ্লিপ-ফ্লপের আউটপুট ($Q_1$) তৃতীয় ফ্লিপ-ফ্লপের ($FF_2$) ক্লক ইনপুট হিসেবে যুক্ত থাকে।
- আউটপুটগুলো যথাক্রমে $Q_2, Q_1, Q_0$ থেকে নেওয়া হয়।

টাইমিং ডায়াগ্রাম ধারণা:
- শুরুতে সব আউটপুট ০ থাকে।
- ১ম ক্লক পালসের নেগেটিভ এজ-এ $Q_0$ হাই হয় (০০০ $\to$ ০০১)।
- ২য় ক্লক পালসে $Q_0$ লো হয়, যা $FF_1$ কে ট্রিগার করে $Q_1$ কে হাই করে (০০১ $\to$ ০১০)।
- এভাবে প্রতি পালসে বাইনারি মান এক করে বাড়তে থাকে যতক্ষণ না ১১১ (৭) হয়।

(ঘ) উদ্দীপকের ৩-বিট কাউন্টারটি স্বাভাবিকভাবে ০ থেকে ৭ (MOD-8) পর্যন্ত গুনে। এটিকে MOD-6 (০ থেকে ৫) কাউন্টারে রূপান্তর করতে হলে, যখনই কাউন্টারটি ৬ (বাইনারি ১১০) এ পৌঁছাবে, তখনই এটিকে জোরপূর্বক রিসেট করে ০ (০০০০) তে নিয়ে আসতে হবে।

প্রয়োজনীয় পরিবর্তন ও বিশ্লেষণ:
১. লজিক গেট ব্যবহার: কাউন্টারটিকে রিসেট করার জন্য ফ্লিপ-ফ্লপের 'Clear' (CLR) বা 'Reset' পিন ব্যবহার করতে হবে। সাধারণত এই পিনগুলো অ্যাক্টিভ লো (Active Low) হয়, অর্থাৎ ০ পেলে রিসেট হয় (অথবা অ্যাক্টিভ হাই হলে ১ পেলে)।
২. কম্বিনেশনাল লজিক: আমাদের লক্ষ্য হলো যখন কাউন্টারের মান ৬ হবে (অর্থাৎ $Q_2=1, Q_1=1, Q_0=0$), তখন ক্লিয়ার পিনগুলো ট্রিগার হবে।
৩. NAND গেট প্রয়োগ: একটি ২-ইনপুট বিশিষ্ট NAND গেট ব্যবহার করতে হবে।
- NAND গেটের ইনপুট হিসেবে $Q_2$ এবং $Q_1$ কে যুক্ত করতে হবে।
- কারণ ৬ এর বাইনারি ১১০। এখানে $Q_2=1$ এবং $Q_1=1$।
- যখন কাউন্টার ১১০-এ পৌঁছাবে, তখন NAND গেটের ইনপুট দুটো ১ হবে এবং আউটপুট হবে ০।
৪. সংযোগ: এই NAND গেটের আউটপুটটি ৩টি ফ্লিপ-ফ্লপের Clear (CLR) ইনপুটের সাথে যুক্ত করে দিতে হবে।
৫. ফলাফল: কাউন্টারটি ০, ১, ২, ৩, ৪, ৫ পর্যন্ত গুনবে। যেই মুহূর্তে এটি ৬ (১১০) হতে যাবে, সাথে সাথে NAND গেটটি লো সিগন্যাল দিয়ে সব ফ্লিপ-ফ্লপকে রিসেট করে ০ করে দিবে। ফলে কাউন্টারটি ০-৫ এর মধ্যেই সীমাবদ্ধ থাকবে।

সুতরাং, একটি NAND গেট ব্যবহার করে $Q_2$ ও $Q_1$ এর ফিডব্যাক Clear পিনে দিয়ে এটিকে MOD-6 কাউন্টারে রূপান্তর করা যাবে।

এমসিকিউ

১। n-বিটের একটি কাউন্টার সর্বোচ্চ কত পর্যন্ত গণনা করতে পারে?

ক) $2^n$
খ) $2^n - 1$
গ) $2^{n-1}$
ঘ) $n^2$

সঠিক উত্তর: খ) $2^n - 1$

ব্যাখ্যা: একটি n-বিটের কাউন্টার ০ থেকে $2^n - 1$ পর্যন্ত মোট $2^n$ টি ভিন্ন অবস্থা গণনা করতে পারে। যেমন ৩-বিট কাউন্টার ০ থেকে ৭ ($2^3 - 1$) পর্যন্ত গুনে।


২। অ্যাসিনক্রোনাস কাউন্টারকে অন্য কী নামে ডাকা হয়?

ক) প্যারালাল কাউন্টার
খ) রিং কাউন্টার
গ) রিপল কাউন্টার
ঘ) জনসন কাউন্টার

সঠিক উত্তর: গ) রিপল কাউন্টার

ব্যাখ্যা: অ্যাসিনক্রোনাস কাউন্টারে একটি ফ্লিপ-ফ্লপের আউটপুট পরবর্তী ফ্লিপ-ফ্লপের ক্লক পালস হিসেবে কাজ করে, ফলে সিগন্যাল ঢেউয়ের মতো বা রিপল আকারে প্রবাহিত হয়। তাই একে রিপল কাউন্টার বলে।


৩। MOD-10 কাউন্টার তৈরিতে নূন্যতম কয়টি ফ্লিপ-ফ্লপ প্রয়োজন?

ক) ২ টি
খ) ৩ টি
গ) ৪ টি
ঘ) ১০ টি

সঠিক উত্তর: গ) ৪ টি

ব্যাখ্যা: একটি কাউন্টারের মডুলাস সংখ্যা N হলে, ফ্লিপ-ফ্লপ সংখ্যা n হতে হবে যেন $2^n \ge N$। এখানে $N=10$, তাই $2^3=8$ যা ১০ এর চেয়ে ছোট, কিন্তু $2^4=16$ যা ১০ এর চেয়ে বড়। তাই নূন্যতম ৪টি ফ্লিপ-ফ্লপ লাগবে।


৪। কোনটি কাউন্টারের কাজ নয়?

ক) পালস গণনা করা
খ) ফ্রিকোয়েন্সি বিভাজন করা
গ) ডেটা এনকোড করা
ঘ) সময়ের পরিমাপ করা

সঠিক উত্তর: গ) ডেটা এনকোড করা

ব্যাখ্যা: কাউন্টার পালস গণনা, ফ্রিকোয়েন্সি ডিভাইডার এবং ডিজিটাল ঘড়িতে সময় পরিমাপে ব্যবহৃত হয়। ডেটা এনকোড করা এনকোডারের কাজ, কাউন্টারের নয়।


৫। সিনক্রোনাস কাউন্টারের প্রধান বৈশিষ্ট্য কোনটি?

ক) সকল ফ্লিপ-ফ্লপ একই সাথে ক্লক পালস পায়
খ) এটি ধীরগতির
গ) এটি তৈরি করা খুব সহজ
ঘ) এতে রিপল ইফেক্ট দেখা যায়

সঠিক উত্তর: ক) সকল ফ্লিপ-ফ্লপ একই সাথে ক্লক পালস পায়

ব্যাখ্যা: সিনক্রোনাস কাউন্টারে একটি কমন ক্লক সোর্স থেকে সকল ফ্লিপ-ফ্লপে একই সময়ে ক্লক পালস সরবরাহ করা হয়, ফলে সব ফ্লিপ-ফ্লপ একই সাথে অবস্থা পরিবর্তন করে।


৬। রিং কাউন্টারের ক্ষেত্রে সঠিক তথ্য হলো—
i. সর্বশেষ ফ্লিপ-ফ্লপের আউটপুট প্রথমটির ইনপুটে যুক্ত থাকে
ii. এটি এক ধরনের শিফট রেজিস্টার কাউন্টার
iii. n-বিট রিং কাউন্টারে $2^n$ টি স্টেট থাকে

নিচের কোনটি সঠিক?

ক) i ও ii
খ) i ও iii
গ) ii ও iii
ঘ) i, ii ও iii

সঠিক উত্তর: ক) i ও ii

ব্যাখ্যা: রিং কাউন্টারে n-সংখ্যক ফ্লিপ-ফ্লপ থাকলে এটি n-সংখ্যক স্টেট গণনা করে, $2^n$ টি নয়। এটি মূলত একটি সার্কুলার শিফট রেজিস্টার।


৭। অ্যাসিনক্রোনাস কাউন্টারের অসুবিধা হলো—
i. প্রোপাগেশন ডিলে বেশি হয়
ii. উচ্চ কম্পাঙ্কে কাজ করতে পারে না
iii. সার্কিট ডিজাইন জটিল হয়

নিচের কোনটি সঠিক?

ক) i ও ii
খ) i ও iii
গ) ii ও iii
ঘ) i, ii ও iii

সঠিক উত্তর: ক) i ও ii

ব্যাখ্যা: অ্যাসিনক্রোনাস কাউন্টারে ফ্লিপ-ফ্লপগুলো শ্রেণিবদ্ধভাবে সংযুক্ত থাকায় মোট ডিলে বেশি হয় এবং এটি উচ্চ গতির অপারেশনে অনুপযুক্ত। তবে এর ডিজাইন সিনক্রোনাস কাউন্টারের চেয়ে সহজ।


৮। একটি কাউন্টারের ক্লক ফ্রিকোয়েন্সি ১০ কিলোহার্টজ (10 kHz)। এটি যদি MOD-5 কাউন্টার হয়, তবে আউটপুট ফ্রিকোয়েন্সি কত হবে?

ক) ২ কিলোহার্টজ
খ) ৫ কিলোহার্টজ
গ) ১০ কিলোহার্টজ
ঘ) ৫০ কিলোহার্টজ

সঠিক উত্তর: ক) ২ কিলোহার্টজ

ব্যাখ্যা: কাউন্টার ফ্রিকোয়েন্সি ডিভাইডার হিসেবে কাজ করে। আউটপুট ফ্রিকোয়েন্সি = ইনপুট ফ্রিকোয়েন্সি / মডুলাস নম্বর। এখানে $10 \text{ kHz} / 5 = 2 \text{ kHz}$।


নিচের উদ্দীপকটি পড় এবং ৯ ও ১০ নং প্রশ্নের উত্তর দাও:
রহিম একটি ৩-বিট কাউন্টার তৈরি করল যা ০, ১, ২, ..., ৭ পর্যন্ত গুনে আবার ০ তে ফিরে আসে।

৯। উদ্দীপকের কাউন্টারটি সর্বোচ্চ কত সংখ্যা (ডেসিমেল) প্রদর্শন করতে পারবে?

ক) ৩
খ) ৭
গ) ৮
ঘ) ১৫

সঠিক উত্তর: খ) ৭

ব্যাখ্যা: ৩-বিট কাউন্টারের সর্বোচ্চ গণনা $2^3 - 1 = 8 - 1 = 7$। অর্থাৎ এটি (১১১)₂ পর্যন্ত গুনতে পারে।


১০। কাউন্টারটিকে MOD-6 এ রূপান্তর করতে চাইলে কোন লজিক গেট ব্যবহার করে রিসেট করতে হবে?

ক) AND গেট
খ) OR গেট
গ) NAND গেট
ঘ) NOT গেট

সঠিক উত্তর: গ) NAND গেট

ব্যাখ্যা: MOD-6 বা যেকোনো নির্দিষ্ট সংখ্যায় কাউন্টার রিসেট করতে সাধারণত NAND গেট ব্যবহার করা হয়, যা নির্দিষ্ট বিট কম্বিনেশন (১১০) পেলে ক্লিয়ার (CLR) পিনে সিগন্যাল পাঠায়।


১১। জনসন কাউন্টার (Johnson Counter) কে আর কী বলা হয়?

ক) টুইস্টেড রিং কাউন্টার
খ) রিপল কাউন্টার
গ) ডিকেড কাউন্টার
ঘ) বাইনারি কাউন্টার

সঠিক উত্তর: ক) টুইস্টেড রিং কাউন্টার

ব্যাখ্যা: জনসন কাউন্টারে শেষ ফ্লিপ-ফ্লপের কমপ্লিমেন্ট আউটপুট ($\bar{Q}$) প্রথম ফ্লিপ-ফ্লপের ইনপুটে দেওয়া হয় বলে একে টুইস্টেড রিং কাউন্টার বলা হয়।


১২। একটি ৪-বিট বাইনারি আপ কাউন্টারের বর্তমান অবস্থা ১০১১। পরবর্তী ক্লক পালসে এর অবস্থা কী হবে?

ক) ১০১০
খ) ১১০০
গ) ১১০১
ঘ) ০০০০

সঠিক উত্তর: খ) ১১০০

ব্যাখ্যা: ১০১১ (ডেসিমেল ১১) এর পরের সংখ্যা ১২, যার বাইনারি ১১০০।


১৩। কাউন্টারের 'Clear' বা 'Reset' ইনপুট কী কাজে ব্যবহৃত হয়?

ক) গণনা ১ করে বাড়াতে
খ) গণনা ১ করে কমাতে
গ) কাউন্টারকে ০ তে ফিরিয়ে আনতে
ঘ) গণনা থামিয়ে রাখতে

সঠিক উত্তর: গ) কাউন্টারকে ০ তে ফিরিয়ে আনতে

ব্যাখ্যা: Clear বা Reset ইনপুট সক্রিয় হলে কাউন্টারের সকল ফ্লিপ-ফ্লপ রিসেট হয়ে যায় এবং আউটপুট ০ (০০...০) হয়ে যায়।


১৪। বিসিডি (BCD) কাউন্টার সর্বোচ্চ কত পর্যন্ত গুনতে পারে?

ক) ৯
খ) ১০
গ) ১৫
ঘ) ১৬

সঠিক উত্তর: ক) ৯

ব্যাখ্যা: BCD বা Binary Coded Decimal কাউন্টার ০ থেকে ৯ পর্যন্ত (মোট ১০টি অবস্থা) গণনা করে। এরপর এটি আবার ০-তে রিসেট হয়।


১৫। কাউন্টার তৈরিতে সাধারণত কোন ধরনের ফ্লিপ-ফ্লপ বেশি ব্যবহৃত হয়?

ক) RS ফ্লিপ-ফ্লপ
খ) D ফ্লিপ-ফ্লপ
গ) T বা JK ফ্লিপ-ফ্লপ
ঘ) ল্যাচ

সঠিক উত্তর: গ) T বা JK ফ্লিপ-ফ্লপ

ব্যাখ্যা: কাউন্টারের জন্য টগল (Toggle) ধর্মটি প্রয়োজন হয়। T ফ্লিপ-ফ্লপ এবং JK ফ্লিপ-ফ্লপ (যখন J=K=1) টগল মোডে কাজ করতে পারে বলে এগুলো কাউন্টারে সবচেয়ে বেশি ব্যবহৃত হয়।


নিচের উদ্দীপকটি পড় এবং ১৬ ও ১৭ নং প্রশ্নের উত্তর দাও:
ল্যাবে একটি কাউন্টার তৈরি করা হলো যেখানে ৪টি ফ্লিপ-ফ্লপ ব্যবহৃত হয়েছে এবং এটি সিনক্রোনাস পদ্ধতিতে কাজ করে।

১৬। উদ্দীপকের কাউন্টারটির সর্বোচ্চ মডুলাস কত হতে পারে?

ক) ৪
খ) ৮
গ) ১২
ঘ) ১৬

সঠিক উত্তর: ঘ) ১৬

ব্যাখ্যা: ৪টি ফ্লিপ-ফ্লপ দিয়ে সর্বোচ্চ $2^4 = 16$ টি অবস্থা গণনা করা সম্ভব। তাই এর সর্বোচ্চ মডুলাস ১৬।


১৭। উদ্দীপকের কাউন্টারটিকে যদি রিং কাউন্টার হিসেবে সাজানো হয়, তবে এটি কয়টি স্টেট গণনা করবে?

ক) ৪
খ) ৮
গ) ১৫
ঘ) ১৬

সঠিক উত্তর: ক) ৪

ব্যাখ্যা: রিং কাউন্টারে n-সংখ্যক ফ্লিপ-ফ্লপ থাকলে তা n-সংখ্যক স্টেট বা অবস্থা গণনা করে। এখানে n=4, তাই এটি ৪টি স্টেট গণনা করবে।


১৮। কাউন্টার ব্যবহার করা হয়—
i. ডিজিটাল ঘড়িতে
ii. গাড়ির স্পিডোমিটারে
iii. কম্পিউটারের মেমোরি অ্যাড্রেসিং-এ

নিচের কোনটি সঠিক?

ক) i ও ii
খ) i ও iii
গ) ii ও iii
ঘ) i, ii ও iii

সঠিক উত্তর: ঘ) i, ii ও iii

ব্যাখ্যা: কাউন্টার ডিজিটাল ঘড়ি, টাইমার, স্পিডোমিটার, ওডোমিটার এবং কম্পিউটারে ইনস্ট্রাকশন ও মেমোরি অ্যাড্রেস গণনায় ব্যবহৃত হয়।


১৯। কোন কাউন্টারে ফ্লিপ-ফ্লপগুলো টগল মোডে থাকে না?

ক) রিপল কাউন্টার
খ) রিং কাউন্টার
গ) সিনক্রোনাস কাউন্টার
ঘ) আপ/ডাউন কাউন্টার

সঠিক উত্তর: খ) রিং কাউন্টার

ব্যাখ্যা: রিং কাউন্টারে ফ্লিপ-ফ্লপগুলো শিফট রেজিস্টারের মতো কাজ করে, অর্থাৎ ডেটা এক ঘর করে সরে যায় (Shift), টগল করে না। বাকি সব কাউন্টারে সাধারণত টগল মোড ব্যবহৃত হয়।


২০। একটি MOD-16 কাউন্টার বর্তমানে ১২ (১১০0) গণনা করছে। এটিকে ক্লিয়ার (Clear) করলে আউটপুট কী হবে?

ক) ১১০১
খ) ১০০০
গ) ০০০০
ঘ) ১১১১

সঠিক উত্তর: গ) ০০০০

ব্যাখ্যা: ক্লিয়ার (Clear) সিগন্যাল দিলে কাউন্টারের বর্তমান মান যাই থাকুক না কেন, এটি তাৎক্ষণিকভাবে রিসেট হয়ে ০ (০০০০) হয়ে যায়।


২১। ৩-বিট ডাউন কাউন্টারের বর্তমান অবস্থা ০০০ হলে পরবর্তী পালসে কী হবে?

ক) ০০১
খ) ০১০
গ) ১১০
ঘ) ১১১

সঠিক উত্তর: ঘ) ১১১

ব্যাখ্যা: ডাউন কাউন্টার নিচের দিকে গুনে। ০ (০০০) এর আগের অবস্থা হলো সর্বোচ্চ মান, অর্থাৎ ৭ (১১১)। তাই ০ থেকে কমলে এটি ৭-এ চলে যায়।


২২। সিনক্রোনাস কাউন্টারের সুবিধা কোনটি?

ক) সার্কিট সহজ
খ) কম পাওয়ার খরচ
গ) উচ্চ গতিসম্পন্ন
ঘ) কম সংখ্যক গেট লাগে

সঠিক উত্তর: গ) উচ্চ গতিসম্পন্ন

ব্যাখ্যা: সিনক্রোনাস কাউন্টারে সকল ফ্লিপ-ফ্লপ একই সাথে কাজ শুরু করে, তাই প্রোপাগেশন ডিলে খুব কম হয় এবং এটি অনেক বেশি গতিতে কাজ করতে পারে।


২৩। ৫-বিট জনসন কাউন্টারের মডুলাস কত?

ক) ৫
খ) ১০
গ) ২৫
ঘ) ৩২

সঠিক উত্তর: খ) ১০

ব্যাখ্যা: n-বিট জনসন কাউন্টারের মডুলাস বা স্টেট সংখ্যা হয় $2n$। এখানে $n=5$, তাই মডুলাস $2 \times 5 = 10$।


২৪। কাউন্টারের আউটপুট স্টেটের পরিবর্তন কিসের ওপর নির্ভর করে?

ক) ইনপুট ভোল্টেজ
খ) ক্লক পালস
গ) রেজিস্টর
ঘ) ট্রানজিস্টর

সঠিক উত্তর: খ) ক্লক পালস

ব্যাখ্যা: কাউন্টার একটি সিকুয়েন্সিয়াল সার্কিট যা ক্লক পালস (Clock Pulse) এর ওপর ভিত্তি করে তার স্টেট বা অবস্থা পরিবর্তন করে।


২৫। ক্যাসকেড কাউন্টার বলতে কী বোঝায়?

ক) দুটি কাউন্টার সমান্তরালে যুক্ত করা
খ) একটির আউটপুট অন্যটির ক্লক ইনপুট হিসেবে যুক্ত করা
গ) দুটি কাউন্টার ভিন্ন ক্লক দিয়ে চালানো
ঘ) কাউন্টারকে মেমোরি হিসেবে ব্যবহার করা

সঠিক উত্তর: খ) একটির আউটপুট অন্যটির ক্লক ইনপুট হিসেবে যুক্ত করা

ব্যাখ্যা: গণনার পরিসীমা বাড়ানোর জন্য একাধিক কাউন্টারকে একটার পর একটা যুক্ত করাকে ক্যাসকেডিং বলে। এতে প্রথম কাউন্টারের আউটপুট দ্বিতীয় কাউন্টারের ক্লক হিসেবে কাজ করে (যেমন ডিজিটাল ঘড়ির মিনিট ও ঘণ্টার কাঁটা)।