লজিক গেট/অ্যাসিনক্রোনাস কাউন্টার

testwiki থেকে
পরিভ্রমণে চলুন অনুসন্ধানে চলুন

মনে করো তুমি একটি স্কুলের মাঠে দাঁড়িয়ে আছ। মাঠের পাশে একটি লম্বা পাইপ থেকে পানি পড়ছে। এক ফোঁটা পড়ল, দুই ফোঁটা পড়ল, তিন ফোঁটা পড়ল... তুমি মনে মনে গণনা করছ। এটাই গণনার সবচেয়ে সহজ রূপ।

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

কাউন্টার দুই রকমের। এই অধ্যায়ে আমরা শিখব অ্যাসিনক্রোনাস কাউন্টার, যাকে বাংলায় বলা যায় অসমকালীন কাউন্টার বা রিপল কাউন্টার। পরের অধ্যায়ে থাকবে সমকালীন কাউন্টার।

কিন্তু এই দুটোর মধ্যে পার্থক্য কী? সেটা বুঝতে হলে আগে একটা মজার উপমা দেখি।

বাস্তব উদাহরণ

একটি সামরিক কুচকাওয়াজ কল্পনা করো। সামরিক কুচকাওয়াজে সব সৈনিক একসাথে পা ফেলে। ব্যান্ডের ড্রামের প্রতিটি বিটে সব সৈনিক একই সময়ে একই পা তোলে। এটা হলো সমকালীন পদ্ধতি।

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

অ্যাসিনক্রোনাস কাউন্টারে ঠিক এইভাবে ঘড়ির সংকেত একটি ফ্লিপ-ফ্লপ থেকে পরেরটিতে "ঢেউয়ের মতো" এগিয়ে যায়। ইংরেজিতে এই ঢেউকে বলে "রিপল", তাই এই কাউন্টারের আরেক নাম রিপল কাউন্টার।

অ্যাসিনক্রোনাস কাউন্টার কী

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

এই কারণেই একে অসমকালীন বলা হয়: কারণ প্রতিটি ফ্লিপ-ফ্লপ ভিন্ন সময়ে পরিবর্তন হয়।

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

মূল উপাদান: টগল মোডে টি ফ্লিপ-ফ্লপ

অ্যাসিনক্রোনাস কাউন্টারের মূল উপাদান হলো ফ্লিপ-ফ্লপ। তবে এখানে বিশেষভাবে ফ্লিপ-ফ্লপকে টগল মোডে ব্যবহার করা হয়।

টগল মানে কী

টগল মানে হলো প্রতিবার ঘড়ির সক্রিয় প্রান্তে আউটপুট উল্টে যাওয়া। যদি Q=০ থাকে তাহলে ১ হয়, আর যদি Q=১ থাকে তাহলে ০ হয়।

সহজ উপমা: একটি লাইট সুইচ। প্রতিবার চাপলে অবস্থা বদলায়। যদি বাতি জ্বলছিল, নিভে যায়। যদি নিভা ছিল, জ্বলে ওঠে। এটাই টগল।

টগল মোডে ফ্লিপ-ফ্লপ তৈরির উপায়

যেকোনো ফ্লিপ-ফ্লপকে টগল মোডে ব্যবহার করা যায়। সবচেয়ে সহজ পদ্ধতি:

জেকে ফ্লিপ-ফ্লপ দিয়ে: J=K=১ করে দাও। তাহলে প্রতিটি ঘড়ির সক্রিয় প্রান্তে আউটপুট টগল করবে।

বৈশিষ্ট্য সমীকরণ:

Q+=JQ¯+K¯Q=১⋅Q¯+০⋅Q=Q¯

ডি ফ্লিপ-ফ্লপ দিয়ে: D=Q¯ সংযোগ দাও। তাহলে প্রতিটি ঘড়ির প্রান্তে D তে থাকে Q এর বিপরীত মান, এবং পরবর্তী প্রান্তে সেটাই সংরক্ষিত হয়।

বৈশিষ্ট্য সমীকরণ:

Q+=D=Q¯

টগলের গণিত: প্রতি দুই পালসে একটি চক্র

একটি টগল মোড ফ্লিপ-ফ্লপে পরপর পালস দেওয়া হলে:

একটি টগল ফ্লিপ-ফ্লপের আচরণ
ঘড়ির পালস Q (আগে) Q+=Q¯ পরিবর্তন
শুরু ০ ০ প্রারম্ভিক অবস্থা
১ম পালস ০ ১ ০→১
২য় পালস ১ ০ ১→০
৩য় পালস ০ ১ ০→১
৪র্থ পালস ১ ০ ১→০
৫ম পালস ০ ১ ০→১
৬ষ্ঠ পালস ১ ০ ১→০

আউটপুট ক্রম: ০, ১, ০, ১, ০, ১, …

গুরুত্বপূর্ণ পর্যবেক্ষণ: আউটপুটের কম্পাঙ্ক ঘড়ির কম্পাঙ্কের অর্ধেক। প্রতি দুটি ইনপুট পালসে একটি সম্পূর্ণ আউটপুট চক্র হয়।

এই বৈশিষ্ট্যটিই অ্যাসিনক্রোনাস কাউন্টারের ভিত্তি।

২-বিট অ্যাসিনক্রোনাস কাউন্টার

এখন আমরা দুটি টগল ফ্লিপ-ফ্লপ যুক্ত করে একটি ২-বিট কাউন্টার তৈরি করব।

ধারণা: ডোমিনো এফেক্ট

ডোমিনো খেলায় একটি টাইল পড়লে পরেরটি পড়ে, তারপর আরেকটি। ঠিক এইভাবে ২-বিট কাউন্টারে:

প্রথম ফ্লিপ-ফ্লপ বাহ্যিক ঘড়ি পালস থেকে ঘড়ি পায়। প্রতিটি পালসে প্রথম ফ্লিপ-ফ্লপ টগল করে।

প্রথম ফ্লিপ-ফ্লপের আউটপুট দ্বিতীয় ফ্লিপ-ফ্লপের ঘড়ি হিসেবে কাজ করে। তাই যখন প্রথম ফ্লিপ-ফ্লপের আউটপুট ১ থেকে ০ হয় (নিম্নগামী প্রান্ত), তখন দ্বিতীয় ফ্লিপ-ফ্লপ টগল করে।

সার্কিটের গঠন

দুটি জেকে ফ্লিপ-ফ্লপ (FF0 ও FF1):

  • FF0: ঘড়ি = বাহ্যিক ঘড়ি (CLK), J0=K0=১
  • FF1: ঘড়ি = Q0 এর নিম্নগামী প্রান্ত, J1=K1=১

FF0 এর আউটপুট Q0 হলো সর্বনিম্ন বিট (একক স্থান)। FF1 এর আউটপুট Q1 হলো উঁচু বিট (দুইয়ের স্থান)।

কোন প্রান্তে টগল হবে

নিম্নগামী প্রান্ত-সক্রিয় কাউন্টারে দ্বিতীয় ফ্লিপ-ফ্লপ Q0 যখন ১→০ হয় তখন টগল করে।

সম্পূর্ণ অবস্থা সারণী

২-বিট অ্যাসিনক্রোনাস উর্ধ্বগামী কাউন্টারের সম্পূর্ণ অবস্থা সারণী
বাহ্যিক পালস Q1 Q0 দশমিক মান Q0 এর পরিবর্তন Q1 পরিবর্তিত হয়?
শুরু ০ ০ ০ প্রারম্ভিক না
১ম পালস (↓) ০ ১ ১ ০→১ (উর্ধ্বগামী) না (উর্ধ্বগামী)
২য় পালস (↓) ১ ০ ২ ১→০ (নিম্নগামী) হ্যাঁ (০→১)
৩য় পালস (↓) ১ ১ ৩ ০→১ (উর্ধ্বগামী) না (উর্ধ্বগামী)
৪র্থ পালস (↓) ০ ০ ০ ১→০ (নিম্নগামী) হ্যাঁ (১→০)
৫ম পালস (↓) ০ ১ ১ ০→১ না

লক্ষ করো: ৪ম পালসের পর কাউন্টার আবার ০ তে ফিরে এসেছে। এটাই ২-বিট কাউন্টারের একটি সম্পূর্ণ চক্র: ০→১→২→৩→০।

কেন Q1 শুধু নিম্নগামী প্রান্তে বদলায়

এটা বোঝা খুব জরুরি। আমরা নিম্নগামী প্রান্ত-সক্রিয় ফ্লিপ-ফ্লপ ব্যবহার করছি, তাই FF1 শুধু তখনই টগল করবে যখন তার ঘড়ি ইনপুট অর্থাৎ Q0 নিম্নগামী প্রান্ত দেখাবে।

Q0 নিম্নগামী প্রান্ত মানে: Q0 যখন ১ থেকে ০ হয়।

এটা ঘটে ২য় পালসে এবং ৪র্থ পালসে। তাই Q1 এই দুটো মুহূর্তেই টগল করে।

বিস্তারিত ধাপে ধাপে বিশ্লেষণ

শুরুতে: প্রাথমিক অবস্থা Q1Q0=০০ (দশমিক ০)

১ম পালস (নিম্নগামী প্রান্ত):

  • FF0: বাহ্যিক ঘড়ির নিম্নগামী প্রান্ত পায় → টগল → Q0:০→১
  • FF1: তার ঘড়ি Q0 উর্ধ্বগামী প্রান্ত দেখেছে (০→১) → নিম্নগামী প্রান্ত-সক্রিয় ফ্লিপ-ফ্লপ তাই পরিবর্তন হয় না
  • ফলাফল: Q1Q0=০১ (দশমিক ১)

২য় পালস (নিম্নগামী প্রান্ত):

  • FF0: টগল → Q0:১→০ (নিম্নগামী প্রান্ত!)
  • FF1: তার ঘড়ি Q0 নিম্নগামী প্রান্ত দেখেছে → টগল → Q1:০→১
  • ফলাফল: Q1Q0=১০ (দশমিক ২)

৩য় পালস (নিম্নগামী প্রান্ত):

  • FF0: টগল → Q0:০→১ (উর্ধ্বগামী প্রান্ত)
  • FF1: তার ঘড়ি উর্ধ্বগামী প্রান্ত দেখেছে → পরিবর্তন হয় না
  • ফলাফল: Q1Q0=১১ (দশমিক ৩)

৪র্থ পালস (নিম্নগামী প্রান্ত):

  • FF0: টগল → Q0:১→০ (নিম্নগামী প্রান্ত!)
  • FF1: তার ঘড়ি নিম্নগামী প্রান্ত দেখেছে → টগল → Q1:১→০
  • ফলাফল: Q1Q0=০০ (দশমিক ০) — একটি সম্পূর্ণ চক্র!

২-বিট কাউন্টারের গণনার ক্রম

২-বিট কাউন্টারের সম্পূর্ণ গণনার ক্রম
পালস সংখ্যা Q1 Q0 বাইনারি দশমিক
০ (শুরু) ০ ০ ০০ ০
১ ০ ১ ০১ ১
২ ১ ০ ১০ ২
৩ ১ ১ ১১ ৩
৪ ০ ০ ০০ ০ (পুনরায়)
৫ ০ ১ ০১ ১

২-বিট কাউন্টারের কম্পাঙ্ক বিশ্লেষণ

এখন একটা গুরুত্বপূর্ণ বিষয় বুঝি। ধরো বাহ্যিক ঘড়ির কম্পাঙ্ক f।

  • Q0 এর কম্পাঙ্ক = f২ (প্রতি দুটি বাহ্যিক পালসে একটি চক্র)
  • Q1 এর কম্পাঙ্ক = f৪ (প্রতি চারটি বাহ্যিক পালসে একটি চক্র)
২-বিট কাউন্টারের কম্পাঙ্ক বিভাজন
সংকেত কম্পাঙ্ক বিভাজন অনুপাত উদাহরণ (f=১০০০ হার্টজ)
বাহ্যিক ঘড়ি f ÷১ ১০০০ হার্টজ
Q0 f২ ÷২ ৫০০ হার্টজ
Q1 f৪ ÷৪ ২৫০ হার্টজ

৩-বিট অ্যাসিনক্রোনাস কাউন্টার

২-বিট কাউন্টার তো বুঝলাম। এখন আরেকটি ফ্লিপ-ফ্লপ যোগ করলে কী হয়? পাই ৩-বিট কাউন্টার যা ০ থেকে ৭ পর্যন্ত গণনা করতে পারে।

উপমা: তিনটি মিটার

ধরো একটি পানির মিটার যেখানে তিনটি চাকা আছে। একক স্থানের চাকা ০ থেকে ৯ পর্যন্ত ঘুরলে দশক স্থানের চাকা একবার এগোয়। দশক স্থানের চাকা ০ থেকে ৯ পর্যন্ত ঘুরলে শতক স্থানের চাকা একবার এগোয়। আমাদের বাইনারি কাউন্টারেও ঠিক এইভাবে কাজ হয়, শুধু পার্থক্য হলো এখানে প্রতিটি চাকা শুধু ০ ও ১ এর মধ্যে ঘোরে।

সার্কিটের গঠন

তিনটি জেকে ফ্লিপ-ফ্লপ (FF0, FF1, FF2):

  • FF0: ঘড়ি = বাহ্যিক ঘড়ি, J0=K0=১
  • FF1: ঘড়ি = Q0 এর নিম্নগামী প্রান্ত, J1=K1=১
  • FF2: ঘড়ি = Q1 এর নিম্নগামী প্রান্ত, J2=K2=১

প্রতিটি ফ্লিপ-ফ্লপ পূর্ববর্তী ফ্লিপ-ফ্লপের আউটপুট থেকে ঘড়ি পাচ্ছে। এটাই রিপল প্রভাব।

সম্পূর্ণ অবস্থা সারণী

৩-বিট অ্যাসিনক্রোনাস উর্ধ্বগামী কাউন্টারের সম্পূর্ণ অবস্থা সারণী
পালস Q2 Q1 Q0 বাইনারি দশমিক ব্যাখ্যা
শুরু ০ ০ ০ ০০০ ০ প্রারম্ভিক
১ম ০ ০ ১ ০০১ ১ শুধু Q0 টগল
২য় ০ ১ ০ ০১০ ২ Q0 নিম্নগামী, Q1 টগল
৩য় ০ ১ ১ ০১১ ৩ শুধু Q0 টগল
৪র্থ ১ ০ ০ ১০০ ৪ Q0 নিম্নগামী, Q1 টগল, Q1 নিম্নগামী তাই Q2 টগল
৫ম ১ ০ ১ ১০১ ৫ শুধু Q0 টগল
৬ষ্ঠ ১ ১ ০ ১১০ ৬ Q0 নিম্নগামী, Q1 টগল
৭ম ১ ১ ১ ১১১ ৭ শুধু Q0 টগল
৮ম ০ ০ ০ ০০০ ০ সম্পূর্ণ চক্র, পুনরায় শুরু

৪র্থ পালসের বিস্তারিত বিশ্লেষণ

৪র্থ পালসটি একটু জটিল, তাই আলাদা করে বিশ্লেষণ করা যাক।

আগের অবস্থা: Q2Q1Q0=০১১

ধাপ ১: FF0 বাহ্যিক ঘড়ির নিম্নগামী প্রান্ত পায়

  • FF0 টগল: Q0:১→০ (নিম্নগামী প্রান্ত উৎপন্ন হলো)

ধাপ ২: FF1 তার ঘড়ি Q0 এর নিম্নগামী প্রান্ত দেখল

  • FF1 টগল: Q1:১→০ (এটাও নিম্নগামী প্রান্ত!)

ধাপ ৩: FF2 তার ঘড়ি Q1 এর নিম্নগামী প্রান্ত দেখল

  • FF2 টগল: Q2:০→১

নতুন অবস্থা: Q2Q1Q0=১০০ (দশমিক ৪)

দেখো, এখানে তিনটি ফ্লিপ-ফ্লপই পরিবর্তন হয়েছে কিন্তু একসাথে নয়, পরপর। এটাই রিপল প্রভাব।

কম্পাঙ্ক বিভাজন

৩-বিট কাউন্টারের কম্পাঙ্ক বিভাজন
সংকেত কম্পাঙ্ক বিভাজন উদাহরণ (f=৮০০০ হার্টজ)
বাহ্যিক ঘড়ি f ÷১ ৮০০০ হার্টজ
Q0 f২ ÷২ ৪০০০ হার্টজ
Q1 f৪ ÷৪ ২০০০ হার্টজ
Q2 f৮ ÷৮ ১০০০ হার্টজ

৪-বিট অ্যাসিনক্রোনাস কাউন্টার

৩-বিট কাউন্টার বুঝলে ৪-বিট কাউন্টার অনুমান করা সহজ। আরেকটি ফ্লিপ-ফ্লপ (FF3) যোগ হবে এবং এর ঘড়ি হবে Q2 এর নিম্নগামী প্রান্ত।

সার্কিটের গঠন

চারটি জেকে ফ্লিপ-ফ্লপ:

  • FF0: ঘড়ি = বাহ্যিক CLK
  • FF1: ঘড়ি = Q0↓
  • FF2: ঘড়ি = Q1↓
  • FF3: ঘড়ি = Q2↓

সবার J=K=১

সম্পূর্ণ অবস্থা সারণী

৪-বিট অ্যাসিনক্রোনাস উর্ধ্বগামী কাউন্টারের সম্পূর্ণ অবস্থা সারণী
পালস Q3 Q2 Q1 Q0 দশমিক
০ ০ ০ ০ ০ ০
১ ০ ০ ০ ১ ১
২ ০ ০ ১ ০ ২
৩ ০ ০ ১ ১ ৩
৪ ০ ১ ০ ০ ৪
৫ ০ ১ ০ ১ ৫
৬ ০ ১ ১ ০ ৬
৭ ০ ১ ১ ১ ৭
৮ ১ ০ ০ ০ ৮
৯ ১ ০ ০ ১ ৯
১০ ১ ০ ১ ০ ১০
১১ ১ ০ ১ ১ ১১
১২ ১ ১ ০ ০ ১২
১৩ ১ ১ ০ ১ ১৩
১৪ ১ ১ ১ ০ ১৪
১৫ ১ ১ ১ ১ ১৫
১৬ ০ ০ ০ ০ ০ (পুনরায়)

n-বিট কাউন্টারের সাধারণ সূত্র

n-বিট কাউন্টারের বৈশিষ্ট্য
বিট সংখ্যা n ফ্লিপ-ফ্লপ সংখ্যা গণনার পরিসর মোট অবস্থা সর্বোচ্চ মান
১ ১ ০→১ ২ ১
২ ২ ০→৩ ৪ ৩
৩ ৩ ০→৭ ৮ ৭
৪ ৪ ০→১৫ ১৬ ১৫
৫ ৫ ০→৩১ ৩২ ৩১
n n ০→২n−১ ২n ২n−১

অ্যাসিনক্রোনাস কাউন্টারের রিপল প্রভাব ও বিলম্ব

এখন আমরা অ্যাসিনক্রোনাস কাউন্টারের সবচেয়ে গুরুত্বপূর্ণ বৈশিষ্ট্যটি আলোচনা করব, যা একই সাথে এর সুবিধা ও সীমাবদ্ধতা।

রিপল প্রভাব কী

পুকুরে একটি পাথর ফেললে কী হয়? পানিতে ঢেউ তৈরি হয় এবং সেই ঢেউ একটু একটু করে বাইরের দিকে ছড়িয়ে পড়ে। প্রথমে কেন্দ্রের পানি নড়ে, তারপর একটু বাইরের পানি, তারপর আরেকটু বাইরে।

অ্যাসিনক্রোনাস কাউন্টারে ঘড়ির পালস ঠিক এইভাবে "ছড়িয়ে পড়ে"। প্রথম ফ্লিপ-ফ্লপ পরিবর্তন হয়, তারপর তার সংকেত দ্বিতীয় ফ্লিপ-ফ্লপে পৌঁছায় এবং দ্বিতীয়টি পরিবর্তন হয়, এভাবে চলতে থাকে।

বিলম্বের পরিমাণ

প্রতিটি ফ্লিপ-ফ্লপের নিজস্ব বিস্তার বিলম্ব আছে। একে tpd বলি।

n-বিট রিপল কাউন্টারের মোট বিলম্ব
বিট সংখ্যা n সর্বোচ্চ মোট বিলম্ব ব্যাখ্যা
২ ২×tpd দুটি ফ্লিপ-ফ্লপের বিলম্ব যোগ
৩ ৩×tpd তিনটি ফ্লিপ-ফ্লপের বিলম্ব যোগ
৪ ৪×tpd চারটি ফ্লিপ-ফ্লপের বিলম্ব যোগ
n n×tpd সাধারণ সূত্র

বিলম্বের বাস্তব উদাহরণ

ধরো প্রতিটি ফ্লিপ-ফ্লপের বিস্তার বিলম্ব tpd=১০ ন্যানোসেকেন্ড।

৪-বিট রিপল কাউন্টারে সর্বোচ্চ মোট বিলম্ব:

৪×১০=৪০ ন্যানোসেকেন্ড

এই বিলম্বের মধ্যে ঘড়ির পরবর্তী পালস না আসলে সার্কিট সঠিকভাবে কাজ করবে। তাই সর্বোচ্চ কম্পাঙ্ক:

fmax=১n×tpd=১৪০ ন্যানো=২৫ মেগাহার্টজ

ক্ষণিক ভুল অবস্থা

বিলম্বের কারণে একটি মজার সমস্যা হয়। সব ফ্লিপ-ফ্লপ একসাথে পরিবর্তন হয় না বলে মধ্যবর্তী মুহূর্তে ভুল অবস্থা দেখা যায়।

উদাহরণ: ৩-বিট কাউন্টারে ০১১ (দশমিক ৩) থেকে ১০০ (দশমিক ৪) তে যাওয়ার সময়:

০১১→১০০ পরিবর্তনের সময় ক্ষণিক অবস্থা
সময় Q2 Q1 Q0 দশমিক মান মন্তব্য
t0 (আগে) ০ ১ ১ ৩ স্থিতিশীল
t0+tpd ০ ১ ০ ২ ক্ষণিক ভুল!
t0+২tpd ০ ০ ০ ০ ক্ষণিক ভুল!
t0+৩tpd ১ ০ ০ ৪ স্থিতিশীল

৩ থেকে ৪ তে যাওয়ার পথে সংক্ষেপে ২ ও ০ দেখা গেছে! এগুলো ক্ষণিক অবস্থা, কিন্তু ভুল আউটপুট দেখানো হচ্ছে।

এই সমস্যাকে বলে গ্লিচ। উচ্চগতির সার্কিটে এটি বড় সমস্যা হতে পারে।

টাইমিং চিত্র বিশ্লেষণ

টাইমিং চিত্র দেখে অ্যাসিনক্রোনাস কাউন্টারের আচরণ সবচেয়ে ভালো বোঝা যায়।

৩-বিট কাউন্টারের টাইমিং চিত্র বর্ণনা

কল্পনা করো তিনটি সারিতে তরঙ্গ আঁকা হয়েছে:

  • প্রথম সারি (CLK): দ্রুত নিয়মিত তরঙ্গ
  • দ্বিতীয় সারি (Q0): CLK এর অর্ধেক কম্পাঙ্কে তরঙ্গ
  • তৃতীয় সারি (Q1): Q0 এর অর্ধেক কম্পাঙ্কে তরঙ্গ
  • চতুর্থ সারি (Q2): Q1 এর অর্ধেক কম্পাঙ্কে তরঙ্গ
৩-বিট কাউন্টারের টাইমিং চিত্র সারণী
সময় CLK Q0 Q1 Q2 বর্তমান মান
t1 ↓ ০→১ অপরিবর্তিত অপরিবর্তিত ০০১=১
t2 ↓ ১→০ ০→১ অপরিবর্তিত ০১০=২
t3 ↓ ০→১ অপরিবর্তিত অপরিবর্তিত ০১১=৩
t4 ↓ ১→০ ১→০ ০→১ ১০০=৪
t5 ↓ ০→১ অপরিবর্তিত অপরিবর্তিত ১০১=৫
t6 ↓ ১→০ ০→১ অপরিবর্তিত ১১০=৬
t7 ↓ ০→১ অপরিবর্তিত অপরিবর্তিত ১১১=৭
t8 ↓ ১→০ ১→০ ১→০ ০০০=০

টাইমিং চিত্র থেকে বিলম্ব দেখা

t4 মুহূর্তে তিনটি ফ্লিপ-ফ্লপ পরিবর্তন হয়েছে। কিন্তু সবাই একসাথে পরিবর্তন হয়নি:

  • Q0 পরিবর্তন হলো সাথে সাথে (বাহ্যিক ঘড়ি থেকে)
  • Q1 পরিবর্তন হলো tpd পরে (একটি ফ্লিপ-ফ্লপের বিলম্বের পরে)
  • Q2 পরিবর্তন হলো ২tpd পরে (দুটি ফ্লিপ-ফ্লপের বিলম্বের পরে)

এই সময়ের মধ্যে যদি আউটপুট পড়া হয়, ভুল মান পাওয়া যাবে।

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

সুবিধা

অ্যাসিনক্রোনাস কাউন্টারের সুবিধা
সুবিধা বিস্তারিত ব্যাখ্যা
সহজ সার্কিট ফ্লিপ-ফ্লপ শুধু একটার পর একটা সংযুক্ত, কোনো জটিল গেট নেই
কম উপাদান সমকালীন কাউন্টারের তুলনায় অনেক কম গেট লাগে
কম বিদ্যুৎ খরচ সহজ সার্কিট মানে কম বিদ্যুৎ খরচ
সহজ ডিজাইন যেকোনো বিট সংখ্যার কাউন্টার একই পদ্ধতিতে তৈরি করা যায়
কম্পাঙ্ক বিভাজক প্রতিটি আউটপুট আগেরটির অর্ধেক কম্পাঙ্কের সংকেত দেয়

সীমাবদ্ধতা

অ্যাসিনক্রোনাস কাউন্টারের সীমাবদ্ধতা
সীমাবদ্ধতা বিস্তারিত ব্যাখ্যা
রিপল বিলম্ব বিট সংখ্যা বাড়লে বিলম্ব বাড়ে, তাই সর্বোচ্চ কম্পাঙ্ক কমে
ক্ষণিক ভুল আউটপুট পরিবর্তনের সময় ভুল মান দেখা দিতে পারে (গ্লিচ)
গতির সীমা উচ্চ গতির সার্কিটে ব্যবহার করা কঠিন
ডিকোডিং সমস্যা বিলম্বের কারণে সঠিক সময়ে আউটপুট পাঠ করা কঠিন

উর্ধ্বগামী কাউন্টারের প্যাটার্ন বোঝা

এখন আমরা একটু গভীরে যাই এবং উর্ধ্বগামী রিপল কাউন্টারের একটি সুন্দর প্যাটার্ন দেখব।

Q0 কখন টগল করে

Q0 প্রতিটি বাহ্যিক পালসে টগল করে। তাই এর গণনার ক্রম: ০, ১, ০, ১, ০, ১, …

Q1 কখন টগল করে

Q1 তখনই টগল করে যখন Q0 নিম্নগামী হয় (১→০)। এটা ঘটে প্রতি ২ম, ৪র্থ, ৬ষ্ঠ... বাহ্যিক পালসে।

তাই Q1 এর গণনার ক্রম: ০, ০, ১, ১, ০, ০, ১, ১, …

Q2 কখন টগল করে

Q2 তখনই টগল করে যখন Q1 নিম্নগামী হয়। এটা ঘটে প্রতি ৪র্থ, ৮ম... বাহ্যিক পালসে।

তাই Q2 এর গণনার ক্রম: ০, ০, ০, ০, ১, ১, ১, ১, ০, ০, ০, ০, ১, ১, ১, ১, …

সাধারণ নিয়ম

kতম বিট (Qk) টগল করে প্রতি ২k+1 বাহ্যিক পালসে একবার।

বিট টগলের সাধারণ নিয়ম
বিট টগল করার সময় বাহ্যিক পালসের প্যাটার্ন
Q0 প্রতি পালসে ১, ২, ৩, ৪…
Q1 প্রতি ২তম পালসে ২, ৪, ৬, ৮, …
Q2 প্রতি ৪তম পালসে ৪, ৮, ১২, ১৬, …
Q3 প্রতি ৮তম পালসে ৮, ১৬, ২৪, ৩২, …
Qk প্রতি ২kতম পালসে ২k,২k+1,৩×২k…

কত পালসে কাউন্টার কোথায় থাকবে: দ্রুত গণনার কৌশল =

ধরো n-বিট কাউন্টারে p পালস দেওয়া হয়েছে। কাউন্টারের মান কত হবে?

উত্তর: pmod২n

অর্থাৎ p কে ২n দিয়ে ভাগ করলে যে ভাগশেষ পাওয়া যাবে সেটাই কাউন্টারের মান।

উদাহরণ: ৩-বিট কাউন্টারে ২৩ পালস দেওয়া হলে কাউন্টারের মান কত?

২৩mod২৩=২৩mod৮=৭

(কারণ ২৩=২×৮+৭)

তাই কাউন্টারের মান হবে ৭ অর্থাৎ Q2Q1Q0=১১১।

বিস্তারিত উদাহরণ

উদাহরণ ১: ২-বিট কাউন্টারের সম্পূর্ণ বিশ্লেষণ

একটি ২-বিট অ্যাসিনক্রোনাস কাউন্টারে প্রাথমিক অবস্থা Q1Q0=১১। পরপর ৫টি পালস দেওয়া হলো। প্রতিটি পালসের পরে অবস্থা নির্ণয় করো।

সমাধান:

প্রথমে মনে করো: ২-বিট কাউন্টার চক্রাকারে গণনা করে: ০০→০১→১০→১১→০০→…

প্রারম্ভিক অবস্থা: ১১ (দশমিক ৩)

উদাহরণ ১ সমাধান
পালস বর্তমান দশমিক মান পরবর্তী দশমিক মান Q1Q0
শুরু ৩ ৩ ১১
১ম ৩ (৩+১)mod৪=০ ০০
২য় ০ (০+১)mod৪=১ ০১
৩য় ১ (১+১)mod৪=২ ১০
৪র্থ ২ (২+১)mod৪=৩ ১১
৫ম ৩ (৩+১)mod৪=০ ০০

উদাহরণ ২: ৩-বিট কাউন্টারে নির্দিষ্ট পালসের পরে অবস্থা

একটি ৩-বিট অ্যাসিনক্রোনাস কাউন্টারে প্রাথমিক অবস্থা ০০০। ৪৫ পালস দেওয়ার পরে কাউন্টারের মান কত?

সমাধান:

৩-বিট কাউন্টারের মডুলো =২৩=৮

৪৫mod৮=?

৪৫=৫×৮+৫

তাই ভাগশেষ =৫

কাউন্টারের মান: ৫, অর্থাৎ Q2Q1Q0=১০১

উদাহরণ ৩: কম্পাঙ্ক গণনা

একটি ৩-বিট অ্যাসিনক্রোনাস কাউন্টারে বাহ্যিক ঘড়ির কম্পাঙ্ক ৪৮০০ হার্টজ। Q0, Q1 এবং Q2 এর কম্পাঙ্ক কত?

সমাধান:

Q0 এর কম্পাঙ্ক=৪৮০০২=২৪০০ হার্টজ
Q1 এর কম্পাঙ্ক=৪৮০০৪=১২০০ হার্টজ
Q2 এর কম্পাঙ্ক=৪৮০০৮=৬০০ হার্টজ

উদাহরণ ৪: ফ্লিপ-ফ্লপ সংখ্যা নির্ণয়

একটি কাউন্টার ০ থেকে ৬৩ পর্যন্ত গণনা করতে পারবে। কতটি ফ্লিপ-ফ্লপ দরকার?

সমাধান:

৬৩+১=৬৪=২৬

তাই n=৬, অর্থাৎ ৬টি ফ্লিপ-ফ্লপ দরকার।

উদাহরণ ৫: সর্বোচ্চ গণনার পরে অবস্থা

একটি ৪-বিট অ্যাসিনক্রোনাস কাউন্টারে প্রাথমিক অবস্থা Q3Q2Q1Q0=১১১১ (দশমিক ১৫)। একটি পালস দেওয়ার পরে অবস্থা কী হবে?

সমাধান:

দশমিক ১৫ এর পরের মান: (১৫+১)mod১৬=০

তাই কাউন্টার ০ তে ফিরে যাবে: Q3Q2Q1Q0=০০০০

এটাই একটি সম্পূর্ণ চক্রের শেষ।

উদাহরণ ৬: বিলম্ব গণনা

একটি ৫-বিট অ্যাসিনক্রোনাস কাউন্টারে প্রতিটি ফ্লিপ-ফ্লপের বিস্তার বিলম্ব tpd=১৫ ন্যানোসেকেন্ড। সর্বোচ্চ মোট বিলম্ব কত এবং সর্বোচ্চ কম্পাঙ্ক কত?

সমাধান:

সর্বোচ্চ মোট বিলম্ব: ৫×১৫=৭৫ ন্যানোসেকেন্ড

সর্বোচ্চ কম্পাঙ্ক:

fmax=১৭৫×১০-৯≈১৩.৩ মেগাহার্টজ

অনুশীলনী

  1. একটি ৪-বিট অ্যাসিনক্রোনাস কাউন্টারে সর্বোচ্চ কত পর্যন্ত গণনা করা যায়?
  2. একটি ৬-বিট রিপল কাউন্টারে মোট কতটি অবস্থা আছে?
  3. ৩-বিট কাউন্টারে প্রাথমিক অবস্থা ০০০ থেকে ১১ পালস দেওয়ার পরে অবস্থা কী?
  4. ৪-বিট কাউন্টারে প্রাথমিক অবস্থা ০১১০ থেকে শুরু করে ৫ পালস দেওয়ার পরে দশমিক মান কত?
  5. বাহ্যিক ঘড়ির কম্পাঙ্ক ১৬০০০ হার্টজ হলে ৪-বিট কাউন্টারের Q3 এর কম্পাঙ্ক কত?
  6. একটি কাউন্টার ০ থেকে ১২৭ পর্যন্ত গণনা করতে পারে। এটি কত বিটের এবং কতটি ফ্লিপ-ফ্লপ দরকার?
  7. প্রতিটি ফ্লিপ-ফ্লপের বিস্তার বিলম্ব ৮ ন্যানোসেকেন্ড হলে ৪-বিট রিপল কাউন্টারের সর্বোচ্চ কম্পাঙ্ক কত?
  8. ২-বিট কাউন্টারে Q1 কখন পরিবর্তন হয়?
  9. ৩-বিট কাউন্টারে ০১১→১০০ পরিবর্তনের সময় কতটি ক্ষণিক ভুল অবস্থা দেখা যায়?
  10. একটি ৩-বিট কাউন্টারে ১০০ পালস দেওয়ার পরে অবস্থা কী?
  11. অ্যাসিনক্রোনাস কাউন্টারে সমান্তরাল লোড সম্ভব কীভাবে?
  12. ৪-বিট রিপল কাউন্টারে সব ফ্লিপ-ফ্লপ একসাথে পরিবর্তন হওয়ার সম্ভাবনা কোন পালসে সবচেয়ে বেশি?
  13. n-বিট কাউন্টারের Qn−1 এর কম্পাঙ্ক বাহ্যিক ঘড়ির কম্পাঙ্কের কত ভাগ?
  14. ৫-বিট কাউন্টারে ১৯৮ পালস দেওয়ার পরে কাউন্টারের মান কত?
  15. দুটি ২-বিট কাউন্টার যদি ক্যাসকেডে যুক্ত করা হয় তাহলে মোট কত পর্যন্ত গণনা করা যাবে?

উত্তর:

  1. ২৪−১=১৫
  2. ২৬=৬৪টি অবস্থা
  3. ১১mod৮=৩, তাই Q2Q1Q0=০১১
  4. প্রারম্ভিক দশমিক মান: ০১১০=৬; (৬+৫)mod১৬=১১
  5. ১৬০০০২৪=১৬০০০১৬=১০০০ হার্টজ
  6. ১২৭+১=১২৮=২৭; ৭-বিট, ৭টি ফ্লিপ-ফ্লপ
  7. fmax=১৪×৮×১০−9=১৩২ ন্যানো≈৩১.২৫ মেগাহার্টজ
  8. যখন Q0 নিম্নগামী প্রান্ত দেখায়, অর্থাৎ Q0:১→০
  9. দুটি ক্ষণিক অবস্থা: ০১০ এবং ০০০
  10. ১০০mod৮=৪; Q2Q1Q0=১০০
  11. প্রিসেট ও ক্লিয়ার ইনপুট ব্যবহার করে প্রতিটি ফ্লিপ-ফ্লপ আলাদাভাবে সেট বা রিসেট করা যায়
  12. ৮ম, ১৬তম, ২৪তম পালসে (যখন সর্বোচ্চ বিটও পরিবর্তন হয়)
  13. ১২n ভাগ
  14. ১৯৮mod৩২=১৯৮−৬×৩২=১৯৮−১৯২=৬; Q4Q3Q2Q1Q0=০০১১০
  15. মোট গণনার পরিসর: ২২×২২=২৪=১৬, অর্থাৎ ০ থেকে ১৫

নিম্নগামী কাউন্টার ও মডুলো কাউন্টার

আগের ভাগে আমরা দেখেছিলাম টি ফ্লিপ-ফ্লপ কীভাবে প্রতিটি ক্লকে টগল করে এবং সেগুলোকে পর পর সাজিয়ে কীভাবে ০ থেকে উপরের দিকে গণনা করা যায়। উর্ধ্বগামী গণনা বুঝে গেলে একটা স্বাভাবিক প্রশ্ন মাথায় আসে: উল্টো দিক থেকে গণনা করা যায় কি? অর্থাৎ ৭ থেকে শুরু করে ৬, ৫, ৪... ০ পর্যন্ত নামা? এই ভাগে সেটাই দেখব, এবং তার চেয়েও মজার একটা জিনিস শিখব: নির্দিষ্ট একটা সংখ্যায় পৌঁছালে নিজে থেকে শূন্য হয়ে যাওয়া কাউন্টার।

নিম্নগামী রিপল কাউন্টার

উপমা: রকেট উৎক্ষেপণের উল্টো গণনা

রকেট উৎক্ষেপণের আগে কন্ট্রোল রুমে যে গণনা শোনা যায় সেটা উল্টো দিক থেকে হয়: ১০, ৯, ৮, ৭... ৩, ২, ১, শূন্য। এই উল্টো গণনাই নিম্নগামী কাউন্টারের কাজ।

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

উর্ধ্বগামী থেকে নিম্নগামীর মূল পার্থক্য

উর্ধ্বগামী কাউন্টারে প্রতিটি পরের ফ্লিপ-ফ্লপের ঘড়ি হিসেবে আগের ফ্লিপ-ফ্লপের Q আউটপুট ব্যবহার করা হয়। নিম্নগামী কাউন্টার তৈরি করতে কেবল একটা জিনিস বদলে দিতে হয়: Q এর বদলে Q¯ ব্যবহার করো।

এটা কেন কাজ করে? কারণ Q থেকে ০ থেকে ১ হওয়ার সময় (উঠতি প্রান্তে) পরের ফ্লিপ-ফ্লপ টগল করে উর্ধ্বগামী হয়। কিন্তু Q¯ ঠিক উল্টো সময়ে পরিবর্তন হয়, অর্থাৎ Q যখন ১ থেকে ০ হয় (নামতি প্রান্তে)। ফলে গণনা উল্টো দিকে যায়।

উর্ধ্বগামী ও নিম্নগামী কাউন্টারের মূল পার্থক্য
বৈশিষ্ট্য উর্ধ্বগামী কাউন্টার নিম্নগামী কাউন্টার
পরের ফ্লিপ-ফ্লপের ঘড়ির উৎস আগেরটির Q আগেরটির Q¯
টগলের সময় Q এর উঠতি প্রান্তে Q¯ এর উঠতি প্রান্তে (Q এর নামতি প্রান্তে)
গণনার দিক ০ থেকে উপরে সর্বোচ্চ থেকে নিচে
২-বিটে গণনা ক্রম ০০→০১→১০→১১→০০ ১১→১০→০১→০০→১১

২-বিট নিম্নগামী রিপল কাউন্টার

সার্কিটের গঠন

দুটি টি ফ্লিপ-ফ্লপ ব্যবহার করা হয়, উভয়ের T=১। প্রথম ফ্লিপ-ফ্লপ (FF0) মূল ঘড়ি থেকে চালিত হয়। দ্বিতীয় ফ্লিপ-ফ্লপ (FF1) চালিত হয় FF0 এর Q¯0 থেকে।

উর্ধ্বগামীতে ছিল: CLK1=Q0

নিম্নগামীতে হলো: CLK1=Q¯0

একটাই পরিবর্তন, কিন্তু ফল সম্পূর্ণ উল্টো।

সম্পূর্ণ সত্যক সারণী
২-বিট নিম্নগামী কাউন্টারের সত্যক সারণী
ক্লক Q1 Q0 দশমিক মান কী ঘটছে
শুরু ১ ১ ৩ প্রাথমিক অবস্থা (সর্বোচ্চ)
১ ১ ০ ২ Q0 টগল, Q1 স্থির
২ ০ ১ ১ Q0 টগল, Q¯0 এর উঠতি প্রান্তে Q1 টগল
৩ ০ ০ ০ Q0 টগল, Q1 স্থির
৪ ১ ১ ৩ চক্র পুনরায় শুরু

গণনার ক্রম: ৩→২→১→০→৩→⋯

টাইমিং চিত্র বর্ণনা

মূল ঘড়ি: নিয়মিত পর্যায়ক্রমিক সংকেত।

Q0: মূল ঘড়ির নামতি প্রান্তে টগল করে (নামতি প্রান্ত ট্রিগার ধরলে)। কম্পাঙ্ক মূল ঘড়ির অর্ধেক।

Q¯0: সবসময় Q0 এর বিপরীত।

Q1: Q¯0 এর উঠতি প্রান্তে টগল করে, অর্থাৎ Q0 এর নামতি প্রান্তে। কম্পাঙ্ক মূল ঘড়ির এক-চতুর্থাংশ।

২-বিট নিম্নগামী কাউন্টারের টাইমিং বিশ্লেষণ
সময় অক্ষে ঘটনা Q0 পরিবর্তন Q¯0 পরিবর্তন Q1 পরিবর্তন
ক্লক ১ নামে ১→০ ০→১ (উঠতি) ১→০ (টগল)
ক্লক ২ নামে ০→১ ১→০ (নামতি) পরিবর্তন নেই
ক্লক ৩ নামে ১→০ ০→১ (উঠতি) ০→১ (টগল)
ক্লক ৪ নামে ০→১ ১→০ (নামতি) পরিবর্তন নেই

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

সার্কিটের গঠন

তিনটি টি ফ্লিপ-ফ্লপ, সবার T=১।

সংযোগ বিধি:

  • FF0: মূল ঘড়ি থেকে চালিত
  • FF1: Q¯0 থেকে চালিত
  • FF2: Q¯1 থেকে চালিত

প্যাটার্নটা স্পষ্ট: প্রতিটি ফ্লিপ-ফ্লপ আগেরটির Q¯ থেকে ঘড়ি পায়।

সম্পূর্ণ সত্যক সারণী
৩-বিট নিম্নগামী কাউন্টারের সত্যক সারণী
ক্লক Q2 Q1 Q0 দশমিক বিবরণ
শুরু ১ ১ ১ ৭ সর্বোচ্চ অবস্থা
১ ১ ১ ০ ৬ Q0 টগল
২ ১ ০ ১ ৫ Q0 ও Q1 টগল
৩ ১ ০ ০ ৪ Q0 টগল
৪ ০ ১ ১ ৩ সব তিনটি টগল
৫ ০ ১ ০ ২ Q0 টগল
৬ ০ ০ ১ ১ Q0 ও Q1 টগল
৭ ০ ০ ০ ০ সর্বনিম্ন অবস্থা
৮ ১ ১ ১ ৭ চক্র পুনরায় শুরু

গণনার ক্রম: ৭→৬→৫→৪→৩→২→১→০→৭→⋯

৪-বিট নিম্নগামী রিপল কাউন্টার

চারটি টি ফ্লিপ-ফ্লপ ব্যবহার করা হয়। সংযোগ বিধি একই: প্রতিটি ফ্লিপ-ফ্লপ আগেরটির Q¯ থেকে ঘড়ি পায়।

৪-বিট নিম্নগামী কাউন্টারের সম্পূর্ণ সত্যক সারণী
ক্লক Q3 Q2 Q1 Q0 দশমিক
শুরু ১ ১ ১ ১ ১৫
১ ১ ১ ১ ০ ১৪
২ ১ ১ ০ ১ ১৩
৩ ১ ১ ০ ০ ১২
৪ ১ ০ ১ ১ ১১
৫ ১ ০ ১ ০ ১০
৬ ১ ০ ০ ১ ৯
৭ ১ ০ ০ ০ ৮
৮ ০ ১ ১ ১ ৭
৯ ০ ১ ১ ০ ৬
১০ ০ ১ ০ ১ ৫
১১ ০ ১ ০ ০ ৪
১২ ০ ০ ১ ১ ৩
১৩ ০ ০ ১ ০ ২
১৪ ০ ০ ০ ১ ১
১৫ ০ ০ ০ ০ ০
১৬ ১ ১ ১ ১ ১৫

গণনার ক্রম: ১৫→১৪→⋯→১→০→১৫→⋯

উর্ধ্বগামী ও নিম্নগামী কাউন্টারের তুলনামূলক সারণি

উর্ধ্বগামী বনাম নিম্নগামী কাউন্টার
বৈশিষ্ট্য উর্ধ্বগামী নিম্নগামী
ঘড়ির উৎস আগেরটির Q আগেরটির Q¯
২-বিট গণনা ক্রম ০,১,২,৩,০,... ৩,২,১,০,৩,...
৩-বিট গণনা ক্রম ০→৭→০ ৭→০→৭
প্রারম্ভিক অবস্থা (সাধারণত) সব ০ সব ১
প্রয়োগ ক্রমবর্ধমান গণনা টাইমার, কাউন্টডাউন
হার্ডওয়্যার পার্থক্য কেবল ঘড়ির উৎস আলাদা কেবল ঘড়ির উৎস আলাদা

উভয়মুখী কাউন্টার

উপমা: উপরে-নিচে চলা লিফট

একটি বহুতল ভবনের লিফট কল্পনা করো। একটি বোতাম চাপলে লিফট উপরে যায়, আরেকটি বোতাম চাপলে নিচে যায়। যখন ওপরের বোতাম চাপা থাকে তখন লিফট প্রতিটি তলায় উপরে ওঠে, যখন নিচের বোতাম চাপা থাকে তখন প্রতিটি তলায় নিচে নামে।

উভয়মুখী কাউন্টারও ঠিক এভাবে কাজ করে। একটি নির্বাচন সংকেত M ঠিক করে দেয় কাউন্টার কোন দিকে গণনা করবে।

নির্বাচন সংকেত M

  • M=০: উর্ধ্বগামী (উপরের বোতাম চাপা)
  • M=১: নিম্নগামী (নিচের বোতাম চাপা)

বুলিয়ান রাশি: পরবর্তী ঘড়ির উৎস

পরের ফ্লিপ-ফ্লপের ঘড়ির উৎস নির্ভর করে M এর উপর:

CLKn+1=(M¯⋅Qn)+(M⋅Q¯n)

এই রাশিটি আসলে একটি মাল্টিপ্লেক্সার:

  • M=০ হলে: CLKn+1=Qn (উর্ধ্বগামী)
  • M=১ হলে: CLKn+1=Q¯n (নিম্নগামী)

লক্ষ করো, এই রাশিটি এক্স-অর গেট দিয়েও লেখা যায়:

CLKn+1=Qn⊕M

কারণ যখন M=০, Qn⊕০=Qn; এবং যখন M=১, Qn⊕১=Q¯n।

তাই প্রতিটি ফ্লিপ-ফ্লপের ঘড়ির সামনে একটি মাত্র এক্স-অর গেট রাখলেই উভয়মুখী কাউন্টার তৈরি হয়।

২-বিট উভয়মুখী কাউন্টার

সার্কিটের গঠন
  • দুটি টি ফ্লিপ-ফ্লপ, T=১
  • FF0: মূল ঘড়ি থেকে চালিত
  • FF1: Q0⊕M থেকে চালিত
সত্যক সারণী (M=০, উর্ধ্বগামী)
উর্ধ্বগামী অবস্থায় (M=০)
ক্লক Q1 Q0 দশমিক
শুরু ০ ০ ০
১ ০ ১ ১
২ ১ ০ ২
৩ ১ ১ ৩
৪ ০ ০ ০
সত্যক সারণী (M=১, নিম্নগামী)
নিম্নগামী অবস্থায় (M=১)
ক্লক Q1 Q0 দশমিক
শুরু ১ ১ ৩
১ ১ ০ ২
২ ০ ১ ১
৩ ০ ০ ০
৪ ১ ১ ৩
উদাহরণ: মাঝপথে দিক পরিবর্তন

ধরো কাউন্টার Q1Q0=০১ (দশমিক ১) অবস্থায় আছে। এখন M পরিবর্তন করা হলো:

মাঝপথে দিক পরিবর্তনের উদাহরণ
ক্লক M Q1 Q0 দশমিক বিবরণ
— — ০ ১ ১ প্রারম্ভিক অবস্থা
১ ০ ১ ০ ২ উর্ধ্বগামী
২ ০ ১ ১ ৩ উর্ধ্বগামী
৩ ১ ১ ০ ২ নিম্নগামী (দিক বদল)
৪ ১ ০ ১ ১ নিম্নগামী
৫ ১ ০ ০ ০ নিম্নগামী

৪-বিট উভয়মুখী কাউন্টারের ধারণা

৪-বিট উভয়মুখী কাউন্টারে চারটি ফ্লিপ-ফ্লপ এবং তিনটি এক্স-অর গেট লাগে। প্রতিটি এক্স-অর গেট Qn ও M এর এক্স-অর করে পরের ফ্লিপ-ফ্লপের ঘড়ি দেয়।

বাস্তবে বহুল ব্যবহৃত আইসি ৭৪১৯৩ হলো একটি ৪-বিট উর্ধ্ব/নিম্নগামী কাউন্টার। এতে আলাদা দুটো ইনপুট থাকে: একটি উর্ধ্বগামী ঘড়ি ও একটি নিম্নগামী ঘড়ি।

৪-বিট উভয়মুখী কাউন্টারের সারসংক্ষেপ
n-বিটে মোট অবস্থা উর্ধ্বগামী পরিসর নিম্নগামী পরিসর
২-বিট ৪ ০→৩ ৩→০
৩-বিট ৮ ০→৭ ৭→০
৪-বিট ১৬ ০→১৫ ১৫→০
n-বিট 2n ০→2n−১ 2n−১→০

মডুলো-N কাউন্টার

উপমা: ঘড়ির কাঁটা ১২ তে ফিরে আসে

দেওয়াল ঘড়ির দিকে তাকাও। মিনিটের কাঁটা ১২ থেকে শুরু হয়ে ১, ২, ৩... ১১ পার করে আবার ১২ তে ফিরে আসে। ১২ এর পরে ১৩ আসে না, সরাসরি ১ বা ১২ তে ফিরে যায়।

এটাই মডুলো-১২ কাউন্টার। এখানে ১২ হলো মডুলো সংখ্যা, যার মানে কাউন্টার ১২টি অবস্থায় ঘুরতে থাকে।

মডুলো মানে কী?

মডুলো-N কাউন্টার হলো এমন একটি কাউন্টার যা 0 থেকে N−1 পর্যন্ত গণনা করে এবং তারপর আবার 0 তে ফিরে আসে। মোট Nটি ভিন্ন অবস্থা থাকে।

মডুলো-N কাউন্টারের সাধারণ বৈশিষ্ট্য
বৈশিষ্ট্য মান
গণনার পরিসর ০ থেকে N−১
মোট অবস্থা Nটি
ঘুরে আসার পরে আবার ০ থেকে শুরু
প্রয়োজনীয় ফ্লিপ-ফ্লপ ⌈log2N⌉টি

যেকোনো স্বাভাবিক সংখ্যার জন্য মডুলো-N কাউন্টার তৈরি করা যায়, কিন্তু সবচেয়ে সহজ হলো যখন N=2n, অর্থাৎ N=২, ৪, ৮, ১৬, ...। অন্য যেকোনো N এর জন্য বাড়তি রিসেট সার্কিট দরকার।

রিসেট পদ্ধতি: ন্যান্ড গেট দিয়ে স্বয়ংক্রিয় রিসেট

মডুলো-N কাউন্টার তৈরির মূল কৌশল হলো: কাউন্টার যখনই N-এ পৌঁছায়, সঙ্গে সঙ্গে তাকে ০তে ফিরিয়ে আনো।

এটা করা হয় এভাবে:

  1. কাউন্টারের আউটপুট দেখে N সংখ্যাটি চেনো
  2. সেই মুহূর্তে সব ফ্লিপ-ফ্লপের ক্লিয়ার পিনে ০ পাঠাও
  3. ফ্লিপ-ফ্লপগুলো তাৎক্ষণিক ০ হয়ে যায়

একটু মনে রাখো: অধিকাংশ টি বা ডি ফ্লিপ-ফ্লপে ক্লিয়ার পিন অ্যাক্টিভ-লো, মানে ০ দিলে রিসেট হয়।

N সংখ্যাটি চেনার জন্য ন্যান্ড গেট ব্যবহার করা হয়। N-এর বাইনারি প্রতিনিধিত্বে যে বিটগুলো ১, সেই ফ্লিপ-ফ্লপগুলোর Q আউটপুটকে ন্যান্ড গেটে দেওয়া হয়।

উদাহরণ: মডুলো-৫ কাউন্টারে N=৫=১০১ বাইনারি। তাই Q2 এবং Q0 (যেখানে বিট ১) একটি ন্যান্ড গেটে দেওয়া হয়।

মডুলো-৫ কাউন্টার

ধারণা

৫টি অবস্থা: ০, ১, ২, ৩, ৪। ৪ এর পরে আবার ০। মাইক্রোওয়েভ ওভেনের কল্পনা করো যেটা ৫ ধাপে ঘোরে।

৩টি ফ্লিপ-ফ্লপ লাগবে (কারণ 22=৪<৫≤৮=23)।

রিসেট কখন হবে?

N=৫=১০১ বাইনারিতে।

Q2=১ এবং Q0=১ হলেই কাউন্টারে ৫ হয়েছে বুঝতে হবে। কারণ Q2⋅Q0=১ শুধুমাত্র তখনই হয় যখন কাউন্টার ৫ (অন্যান্য অবস্থায় হয় Q2 নয়তো Q0 শূন্য)।

রিসেট সংকেত: Q2⋅Q0‾ (ন্যান্ড গেটের আউটপুট) সব ফ্লিপ-ফ্লপের ক্লিয়ার পিনে।

বিস্তারিত সার্কিট বিশ্লেষণ
মডুলো-৫ কাউন্টারের অবস্থা বিশ্লেষণ
ক্লক Q2 Q1 Q0 দশমিক Q2⋅Q0 রিসেট সংকেত মন্তব্য
শুরু ০ ০ ০ ০ ০ ১ (নিষ্ক্রিয়) স্বাভাবিক গণনা
১ ০ ০ ১ ১ ০ ১ (নিষ্ক্রিয়) স্বাভাবিক গণনা
২ ০ ১ ০ ২ ০ ১ (নিষ্ক্রিয়) স্বাভাবিক গণনা
৩ ০ ১ ১ ৩ ০ ১ (নিষ্ক্রিয়) স্বাভাবিক গণনা
৪ ১ ০ ০ ৪ ০ ১ (নিষ্ক্রিয়) স্বাভাবিক গণনা
৫* ১ ০ ১ ৫ ১ ০ (সক্রিয়!) তাৎক্ষণিক রিসেট!
৫ (রিসেটের পর) ০ ০ ০ ০ ০ ১ (নিষ্ক্রিয়) আবার শুরু
  • অবস্থা ৫ একটি ক্ষণিক অবস্থা, কার্যত দেখা যায় না।
গণনার প্রকৃত ক্রম

০→১→২→৩→৪→(৫ হওয়ার সাথে সাথে রিসেট)→০→১→⋯

মডুলো-৬ কাউন্টার

ধারণা

৬টি অবস্থা: ০, ১, ২, ৩, ৪, ৫। এর পরে আবার ০। ডাইস ছুড়লে ১ থেকে ৬ পায়, কিন্তু এই কাউন্টার ০ থেকে ৫ পর্যন্ত যায়।

৩টি ফ্লিপ-ফ্লপ লাগবে।

রিসেট কখন?

N=৬=১১০ বাইনারিতে।

Q2=১ এবং Q1=১ একসাথে হলেই ৬ হয়েছে বোঝা যাবে।

রিসেট সংকেত: Q2⋅Q1‾

মডুলো-৬ কাউন্টারের অবস্থা
ক্লক Q2 Q1 Q0 দশমিক রিসেট হবে কি? মন্তব্য
শুরু ০ ০ ০ ০ না স্বাভাবিক
১ ০ ০ ১ ১ না স্বাভাবিক
২ ০ ১ ০ ২ না স্বাভাবিক
৩ ০ ১ ১ ৩ না স্বাভাবিক
৪ ১ ০ ০ ৪ না স্বাভাবিক
৫ ১ ০ ১ ৫ না স্বাভাবিক
৬* ১ ১ ০ ৬ হ্যাঁ! তাৎক্ষণিক রিসেট
৬ (পরে) ০ ০ ০ ০ না চক্র শুরু

প্রকৃত গণনা ক্রম: ০→১→২→৩→৪→৫→০→⋯

মডুলো-১০ কাউন্টার (দশমিক কাউন্টার)

বিসিডি সংখ্যার সাথে সম্পর্ক

তোমার কাছের ডিজিটাল ঘড়িতে ০ থেকে ৯ পর্যন্ত সংখ্যা দেখা যায়। প্রতিটি দশমিক সংখ্যাকে ৪-বিটে লেখার পদ্ধতিকে বিসিডি বলা হয়। বিসিডিতে কেবল ০০০০ থেকে ১০০১ (০ থেকে ৯) ব্যবহার হয়। ১০১০ থেকে ১১১১ (১০ থেকে ১৫) অব্যবহৃত।

মডুলো-১০ কাউন্টার ঠিক এই কাজ করে: ০ থেকে ৯ পর্যন্ত গণনা করে তারপর ০ তে ফিরে আসে।

রিসেট কখন?

N=১০=১০১০ বাইনারিতে।

Q3=১ এবং Q1=১ একসাথে হলে ১০ হয়েছে।

রিসেট সংকেত: Q3⋅Q1‾

৪টি ফ্লিপ-ফ্লপ লাগবে।

সম্পূর্ণ সত্যক সারণী
মডুলো-১০ কাউন্টারের অবস্থা সারণী
ক্লক Q3 Q2 Q1 Q0 দশমিক রিসেট? মন্তব্য
শুরু ০ ০ ০ ০ ০ না স্বাভাবিক
১ ০ ০ ০ ১ ১ না স্বাভাবিক
২ ০ ০ ১ ০ ২ না স্বাভাবিক
৩ ০ ০ ১ ১ ৩ না স্বাভাবিক
৪ ০ ১ ০ ০ ৪ না স্বাভাবিক
৫ ০ ১ ০ ১ ৫ না স্বাভাবিক
৬ ০ ১ ১ ০ ৬ না স্বাভাবিক
৭ ০ ১ ১ ১ ৭ না স্বাভাবিক
৮ ১ ০ ০ ০ ৮ না স্বাভাবিক
৯ ১ ০ ০ ১ ৯ না স্বাভাবিক
১০* ১ ০ ১ ০ ১০ হ্যাঁ! তাৎক্ষণিক রিসেট
১০ (পরে) ০ ০ ০ ০ ০ না চক্র শুরু

প্রকৃত গণনা ক্রম: ০→১→২→⋯→৮→৯→০→⋯

বিসিডি কাউন্টারের প্রয়োগ

দুটো মডুলো-১০ কাউন্টার একসাথে সংযুক্ত করলে ০০ থেকে ৯৯ পর্যন্ত গণনা করা যায়। তিনটি সংযুক্ত করলে ০০০ থেকে ৯৯৯ পর্যন্ত। ডিজিটাল ঘড়িতে মিনিট গণনায় এটাই ব্যবহার হয়।

মডুলো-১২ কাউন্টার

ঘড়িতে প্রয়োগ

দুপুর ১২টার পরে ঘড়ি ১ তে যায়, ১৩ তে নয়। এটা মডুলো-১২।

N=১২=১১০০ বাইনারিতে।

Q3=১ এবং Q2=১ একসাথে হলে ১২ হয়েছে।

রিসেট সংকেত: Q3⋅Q2‾

৪টি ফ্লিপ-ফ্লপ লাগবে।

মডুলো-১২ কাউন্টারের গণনা ক্রম
গণনা ০ ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ১০ ১১ পুনরায় ০
বাইনারি ০০০০ ০০০১ ০০১০ ০০১১ ০১০০ ০১০১ ০১১০ ০১১১ ১০০০ ১০০১ ১০১০ ১০১১ রিসেট (১১০০ হওয়ার সাথে সাথে)

যেকোনো মডুলো-N কাউন্টার তৈরির সাধারণ পদ্ধতি

যেকোনো N এর জন্য মডুলো-N কাউন্টার তৈরি করতে নিচের ধাপগুলো অনুসরণ করো:

ধাপ ১: N কে বাইনারিতে লেখো

ধাপ ২: প্রয়োজনীয় ফ্লিপ-ফ্লপ সংখ্যা নির্ধারণ করো: ⌈log2N⌉

ধাপ ৩: N এর বাইনারিতে যে বিটগুলো ১, সেই ফ্লিপ-ফ্লপগুলোর Q চিহ্নিত করো

ধাপ ৪: চিহ্নিত Qগুলোকে একটি ন্যান্ড গেটে সংযুক্ত করো

ধাপ ৫: ন্যান্ড গেটের আউটপুট সব ফ্লিপ-ফ্লপের ক্লিয়ার পিনে সংযুক্ত করো

ধাপ ৬: স্বাভাবিক উর্ধ্বগামী রিপল কাউন্টার হিসেবে বাকি সংযোগ দাও

বিভিন্ন N এর জন্য মডুলো কাউন্টারের বিশ্লেষণ
মডুলো N বাইনারি ফ্লিপ-ফ্লপ সংখ্যা রিসেট শর্ত প্রয়োগ
৩ ০১১ ২ Q1⋅Q0=১ তিনভাগা ঘুরন্ত যন্ত্র
৫ ১০১ ৩ Q2⋅Q0=১ পেন্টাগন আলো
৬ ১১০ ৩ Q2⋅Q1=১ ছয়ভাগা সিকোয়েন্সার
৭ ১১১ ৩ Q2⋅Q1⋅Q0=১ সাত দিনের চক্র
১০ ১০১০ ৪ Q3⋅Q1=১ দশমিক গণনা, বিসিডি
১২ ১১০০ ৪ Q3⋅Q2=১ ঘড়ির কাঁটা
১৬ ১০০০০ ৪ স্বাভাবিক উপচে পড়া হেক্সাডেসিমেল
৬০ ১১১১০০ ৬ Q5⋅Q4⋅Q3⋅Q2=১ সেকেন্ড, মিনিট গণনা
২৪ ০১১০০০ ৫ Q4⋅Q3=১ ২৪ ঘণ্টার ঘড়ি

বিস্তারিত টাইমিং বিশ্লেষণ

রিপল প্রভাব ও ক্ষণিক ভুল

এখানে একটা গুরুত্বপূর্ণ সমস্যা আছে যেটা অ্যাসিনক্রোনাস কাউন্টারের মূল দুর্বলতা।

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

অ্যাসিনক্রোনাস কাউন্টারেও ঠিক এই সমস্যা। FF0 টগল করে, তারপর তার আউটপুট পরিবর্তন হলে FF1 টগল করে, তারপর FF2, এভাবে চলে। প্রতিটি ফ্লিপ-ফ্লপের টগলে একটু সময় লাগে, এই সময়কে প্রচার বিলম্ব বলা হয়।

৩-বিট কাউন্টারে ক্ষণিক ভুল

ধরো ৩-বিট উর্ধ্বগামী কাউন্টার ৭ (১১১) থেকে ০ (০০০) তে যাচ্ছে।

আদর্শ জগতে এটা তাৎক্ষণিক হওয়া উচিত: ১১১→০০০।

কিন্তু বাস্তবে যা হয়:

৭ থেকে ০-তে যাওয়ার সময় ক্ষণিক ভুল অবস্থা
সময় Q2 Q1 Q0 দশমিক বিবরণ
t0 ১ ১ ১ ৭ ৮ম ক্লকের আগে
t0+tp ১ ১ ০ ৬ FF0 টগল করেছে, ক্ষণিক ৬!
t0+2tp ১ ০ ০ ৪ FF1 টগল করেছে, ক্ষণিক ৪!
t0+3tp ০ ০ ০ ০ FF2 টগল করেছে, সঠিক ০

এখানে tp হলো প্রতিটি ফ্লিপ-ফ্লপের প্রচার বিলম্ব। মাঝের দুটো অবস্থা (৬ ও ৪) সঠিক নয়, এগুলো ক্ষণিক ভুল।

গ্লিচ ও তার প্রভাব

এই ক্ষণিক ভুল অবস্থাগুলোকে গ্লিচ বলা হয়।

গ্লিচের প্রভাব ও সমাধান
গ্লিচের ধরন কোথায় সমস্যা হয় সমাধান
কাউন্টারের আউটপুটে ভুল অবস্থা ডিকোডার বা ডিসপ্লে ভুল সংখ্যা দেখায় আউটপুট স্তরে রেজিস্টার ব্যবহার
মডুলো-N কাউন্টারে অনাকাঙ্ক্ষিত রিসেট মাঝের ক্ষণিক অবস্থায় রিসেট হয়ে যেতে পারে ন্যান্ড গেটের পরিবর্তে ক্লক-নিয়ন্ত্রিত রিসেট
বিস্তৃত কাউন্টারে বিলম্ব বৃদ্ধি বেশি ফ্লিপ-ফ্লপ মানে বেশি বিলম্ব সিনক্রোনাস কাউন্টার ব্যবহার

মডুলো-N কাউন্টারে একটি বিশেষ সমস্যা আছে। যখন কাউন্টার N-এ পৌঁছায় এবং রিসেট হয়, তখন কিছু ক্ষণিক অবস্থা সৃষ্টি হতে পারে যেগুলো রিসেট শর্তের সাথে মিলে যায় এবং অনাকাঙ্ক্ষিতভাবে রিসেট ট্রিগার করে। তবে যেহেতু এই রিসেট অ্যাসিনক্রোনাস, সার্কিটটি সাধারণত স্বাভাবিকভাবে কাজ করে।

কতটি ফ্লিপ-ফ্লপের সর্বোচ্চ বিলম্ব

nটি ফ্লিপ-ফ্লপের রিপল কাউন্টারে সর্বোচ্চ বিলম্ব:

পার্স করতে ব্যর্থ (সিনট্যাক্স ত্রুটি): {\displaystyle t_{সর্বোচ্চ} = n \times t_p}

যেখানে tp হলো একটি ফ্লিপ-ফ্লপের প্রচার বিলম্ব।

যদি tp=১০ ন্যানোসেকেন্ড হয়, তাহলে:

  • ৪-বিট কাউন্টারে: ৪×১০=৪০ ন্যানোসেকেন্ড
  • ৮-বিট কাউন্টারে: ৮×১০=৮০ ন্যানোসেকেন্ড
  • ১৬-বিট কাউন্টারে: ১৬×১০=১৬০ ন্যানোসেকেন্ড

এই বিলম্বের কারণে ক্লকের কম্পাঙ্ক একটি সীমার বাইরে বাড়ানো যায় না।

উদাহরণ

উদাহরণ ১: ২-বিট নিম্নগামী কাউন্টারে পরিবর্তন বিশ্লেষণ

একটি ২-বিট নিম্নগামী কাউন্টার প্রাথমিক অবস্থা Q1Q0=১১ থেকে শুরু করে। ক্লক ২-এর পরে অবস্থা কী হবে এবং তখন Q¯0 কত?

ধাপ ১: প্রাথমিক অবস্থা: Q1Q0=১১ (দশমিক ৩)

ধাপ ২: ক্লক ১ আসে। Q0 টগল করে ১→০। এখন Q¯0=১। এটি উঠতি প্রান্ত তৈরি করে FF1-এর ঘড়িতে। তাই Q1 টগল করে ১→০।

ক্লক ১ এর পর: Q1Q0=০১ (দশমিক ১)

অপেক্ষা করো! এটা কি ঠিক? ৩ থেকে সরাসরি ১ হলো?

আবার ভাবো: নিম্নগামী কাউন্টারে প্রথম ক্লকে শুধু Q0 টগল করে, Q1 টগল করে না। কারণ Q0 যখন ১→০ হয়, Q¯0 হয় ০→১ (উঠতি প্রান্ত)। তাই Q1-ও টগল করে।

সঠিক বিশ্লেষণ:

ক্লক ১ বিশ্লেষণ
ঘটনা Q0 Q¯0 Q1
ক্লক ১ আগে ১ ০ ১
Q0 টগল ০ ১ (উঠতি!) টগল হবে
ক্লক ১ পরে ০ ১ ০

ক্লক ১ এর পর: Q1Q0=০০ (দশমিক ২? নাকি ০?)

আবার যাচাই করি সত্যক সারণী থেকে: প্রাথমিক ৩ থেকে ক্লক ১ এর পর ২ হওয়ার কথা।

Q0=১→০: শুধু Q0 টগল। Q¯0=০→১: FF1-এ উঠতি প্রান্ত, তাই Q1 টগল করে ১→০।

ফলে: Q1Q0=১০ (দশমিক ২) ✓

ক্লক ১ এর পর: Q1Q0=১০, Q¯0=১

ধাপ ৩: ক্লক ২ আসে। Q0 টগল: ০→১। Q¯0: ১→০ (নামতি প্রান্ত)। FF1-এ উঠতি প্রান্ত নেই, তাই Q1 অপরিবর্তিত।

ক্লক ২ এর পর: Q1Q0=১১

অপেক্ষা করো, এটা ঠিক না! ২ থেকে ১ হওয়ার কথা।

বিশ্লেষণ: ক্লক ২ আসে, Q0=০→১, Q¯0=১→০ (নামতি প্রান্ত, উঠতি নয়!)। তাই Q1 টগল করে না।

ক্লক ২ এর পর: Q1Q0=১১?

এখানে বিভ্রান্তি হচ্ছে। মূল ঘড়ির কোন প্রান্তে ফ্লিপ-ফ্লপ টগল করে সেটা নির্ভর করে ফ্লিপ-ফ্লপের ধরনের উপর। ধরে নিই নামতি প্রান্তে টগল করে।

ক্লক ১ (নামতি): Q0: ১→০ Q¯0: ০→১ (উঠতি), তাই Q1 টগল: ১→০ অবস্থা: Q1Q0=০০

না, আবারও মিলছে না! সত্যক সারণী থেকে দেখা যাচ্ছে সঠিক ক্রম হওয়া উচিত ৩, ২, ১, ০।

সঠিক ব্যাখ্যা: নামতি প্রান্ত ট্রিগার ফ্লিপ-ফ্লপে এবং Q¯ ব্যবহার করলে:

  • Q0=১→০ (নামতি): তাই Q¯0=০→১ (উঠতি)। FF1 উঠতি প্রান্তে টগল করে না (কারণ এটাও নামতি প্রান্ত ট্রিগার)। তাই Q1 পরিবর্তন হয় না।

তাহলে সত্যক সারণীর ক্রম ৩ → ২ → ১ → ০ হওয়ার জন্য:

ক্লক ১ এর পর: Q1Q0=১০ (দশমিক ২) Q0 শুধু টগল, Q1 অপরিবর্তিত।

ক্লক ২ এর পর: Q1Q0=০১ (দশমিক ১) Q0 আবার টগল, এবং যেহেতু এবার Q0:০→১, Q¯0:১→০ (নামতি), নামতি ট্রিগারে Q1 টগল।

উত্তর: ক্লক ২ এর পর Q1Q0=০১ (দশমিক ১)। Q¯0=০।

উদাহরণ ২: মডুলো-৭ কাউন্টারের ডিজাইন

একটি মডুলো-৭ কাউন্টার ডিজাইন করো। কতটি ফ্লিপ-ফ্লপ লাগবে? রিসেট শর্ত কী?

ধাপ ১: N=৭। বাইনারিতে: ৭=১১১।

ধাপ ২: প্রয়োজনীয় ফ্লিপ-ফ্লপ: ⌈log27⌉=3টি (কারণ 22=4<7≤8=23)।

ধাপ ৩: ৭=১১১: Q2,Q1,Q0 তিনটিই ১।

ধাপ ৪: রিসেট শর্ত: Q2⋅Q1⋅Q0=১।

ধাপ ৫: রিসেট সংকেত: Q2⋅Q1⋅Q0‾ (তিন-ইনপুট ন্যান্ড গেট)।

মডুলো-৭ কাউন্টারের গণনা ক্রম
ক্লক Q2 Q1 Q0 দশমিক রিসেট?
শুরু ০ ০ ০ ০ না
১ ০ ০ ১ ১ না
২ ০ ১ ০ ২ না
৩ ০ ১ ১ ৩ না
৪ ১ ০ ০ ৪ না
৫ ১ ০ ১ ৫ না
৬ ১ ১ ০ ৬ না
৭* ১ ১ ১ ৭ হ্যাঁ! তাৎক্ষণিক রিসেট
৭ (পরে) ০ ০ ০ ০ না

গণনা ক্রম: ০→১→২→৩→৪→৫→৬→০→⋯ ✓

উদাহরণ ৩: উভয়মুখী কাউন্টারে এক্স-অর গেটের যাচাই

একটি ২-বিট উভয়মুখী কাউন্টারে M=০ এবং Q0=১। পরের ফ্লিপ-ফ্লপের ঘড়ির মান কত?

রাশি: CLK1=Q0⊕M

CLK1=১⊕০=১

এটা Q0=১ এর সমান, অর্থাৎ উর্ধ্বগামী কাউন্টারের মতো আচরণ ✓

এখন M=১ এবং Q0=১:

CLK1=১⊕১=০

এটা Q¯0=০ এর সমান, অর্থাৎ নিম্নগামী কাউন্টারের মতো আচরণ ✓

উদাহরণ ৪: মডুলো-৯ কাউন্টারের ডিজাইন

একটি মডুলো-৯ কাউন্টার ডিজাইন করো।

ধাপ ১: N=৯=১০০১ বাইনারিতে।

ধাপ ২: প্রয়োজনীয় ফ্লিপ-ফ্লপ: ⌈log29⌉=4টি (কারণ 23=8<9≤16=24)।

ধাপ ৩: ৯=১০০১: Q3 এবং Q0 হলো ১।

ধাপ ৪: রিসেট শর্ত: Q3⋅Q0=১।

ধাপ ৫: রিসেট সংকেত: Q3⋅Q0‾ (দুই-ইনপুট ন্যান্ড গেট)।

মডুলো-৯ কাউন্টারের গণনা ক্রম
ক্লক Q3 Q2 Q1 Q0 দশমিক রিসেট?
শুরু ০ ০ ০ ০ ০ না
১ ০ ০ ০ ১ ১ না
২ ০ ০ ১ ০ ২ না
৩ ০ ০ ১ ১ ৩ না
৪ ০ ১ ০ ০ ৪ না
৫ ০ ১ ০ ১ ৫ না
৬ ০ ১ ১ ০ ৬ না
৭ ০ ১ ১ ১ ৭ না
৮ ১ ০ ০ ০ ৮ না
৯* ১ ০ ০ ১ ৯ হ্যাঁ! রিসেট
৯ (পরে) ০ ০ ০ ০ ০ না

গণনা ক্রম: ০→১→⋯→৮→০→⋯ ✓

উদাহরণ ৫: ৪-বিট নিম্নগামী কাউন্টারে একটি নির্দিষ্ট অবস্থা চেনা

একটি ৪-বিট নিম্নগামী কাউন্টার ১৫ থেকে শুরু করে। ৭ম ক্লকের পর অবস্থা কী?

নিম্নগামী কাউন্টারে ক্রম: ১৫, ১৪, ১৩, ১২, ১১, ১০, ৯, ...

৭ম ক্লকের পর: ১৫−৭=৮

তাই অবস্থা হবে: Q3Q2Q1Q0=১০০০ (দশমিক ৮) ✓

উদাহরণ ৬: দুটো মডুলো-১০ কাউন্টার দিয়ে ০ থেকে ৯৯ গণনা

দুটো মডুলো-১০ কাউন্টার সংযুক্ত করে ০ থেকে ৯৯ পর্যন্ত গণনার পরিকল্পনা করো।

সংযোগ পদ্ধতি:

প্রথম কাউন্টার: একক স্থানের সংখ্যা (০ থেকে ৯) গণনা করে। মূল ঘড়ি থেকে চালিত।

দ্বিতীয় কাউন্টার: দশক স্থানের সংখ্যা (০ থেকে ৯) গণনা করে। প্রথম কাউন্টার যখন ৯ থেকে ০ তে ফিরে আসে, সেই মুহূর্তে দ্বিতীয় কাউন্টারকে একটি ক্লক দেয়।

দুই-অঙ্কের বিসিডি কাউন্টারের কিছু ক্রম
ক্লক সংখ্যা দশক (C1) একক (C0) দশমিক
০ ০ ০ ০০
৯ ০ ৯ ০৯
১০ ১ ০ ১০
১৯ ১ ৯ ১৯
২০ ২ ০ ২০
৯৯ ৯ ৯ ৯৯
১০০ ০ ০ ০০

অনুশীলনী

  1. একটি ৩-বিট নিম্নগামী কাউন্টার Q2Q1Q0=১০০ অবস্থায় আছে। পরের দুটো ক্লকের পর অবস্থা কী হবে?
  2. উর্ধ্বগামী ও নিম্নগামী কাউন্টারে একমাত্র হার্ডওয়্যার পার্থক্য কী?
  3. একটি ২-বিট উভয়মুখী কাউন্টারে M=১ এবং বর্তমান অবস্থা Q1Q0=১০। পরের ক্লকে অবস্থা কী হবে?
  4. মডুলো-৮ কাউন্টারে কতটি ফ্লিপ-ফ্লপ লাগবে এবং রিসেট সার্কিট কি লাগবে? কেন?
  5. মডুলো-৬ কাউন্টারের রিসেট শর্তটি লেখো এবং বলো কোন দুটি বিটের ন্যান্ড গেট ব্যবহার করতে হবে।
  6. একটি ৪-বিট নিম্নগামী কাউন্টার ১২ থেকে শুরু করে। ৫ম ক্লকের পর অবস্থা কী হবে? বাইনারিতে লেখো।
  7. মডুলো-১৩ কাউন্টার ডিজাইন করো: কতটি ফ্লিপ-ফ্লপ এবং রিসেট শর্ত কী?
  8. রিপল কাউন্টারে গ্লিচ কী এবং কেন হয়? কীভাবে কমানো যায়?
  9. দুটো মডুলো-১০ কাউন্টার সংযুক্ত করলে সর্বোচ্চ গণনা কত হবে? এটা কোন যন্ত্রে ব্যবহার হয়?
  10. একটি উভয়মুখী কাউন্টারে Q0⊕M রাশিটি ব্যবহার করা হয় কেন? M=০ ও M=১ এর জন্য আলাদা আলাদা ব্যাখ্যা দাও।
  11. n-বিট রিপল কাউন্টারে সর্বোচ্চ প্রচার বিলম্বের সূত্র লেখো। ১০-বিট কাউন্টারে যদি প্রতিটি ফ্লিপ-ফ্লপের বিলম্ব ১৫ ন্যানোসেকেন্ড হয়, সর্বোচ্চ বিলম্ব কত?
  12. মডুলো-১০ কাউন্টারে Q3 ও Q1 কেন রিসেট শর্তে ব্যবহার করা হয়? Q3⋅Q0 ব্যবহার করলে কোন সমস্যা হবে?
  13. একটি ডিজিটাল ঘড়িতে সেকেন্ড গণনার জন্য কোন ধরনের মডুলো কাউন্টার ব্যবহার হয়? পুরো ব্যাখ্যা দাও।
  14. মডুলো-N কাউন্টারের রিসেট শর্তে কেন N-এর সব বিট ব্যবহার করা হয় না, শুধু ১-বিটগুলো ব্যবহার করা হয়?
  15. একটি ৩-বিট উভয়মুখী কাউন্টার Q2Q1Q0=০১১ অবস্থায় আছে। প্রথমে দুই ক্লক M=০ তারপর দুই ক্লক M=১ দিলে চার ক্লক পরে অবস্থা কী হবে?

উত্তর:

  1. ক্লক ১ এর পর: Q2Q1Q0=০১১ (দশমিক ৩)। ক্লক ২ এর পর: Q2Q1Q0=০১০ (দশমিক ২)।
  1. উর্ধ্বগামীতে পরের ফ্লিপ-ফ্লপের ঘড়ির উৎস আগেরটির Q। নিম্নগামীতে Q¯। শুধু এই একটি পার্থক্য।
  1. M=১ (নিম্নগামী), Q1Q0=১০ (দশমিক ২)। পরের ক্লকে: দশমিক ২−১=১। অবস্থা: Q1Q0=০১।
  1. মডুলো-৮ = 23। তাই ৩টি ফ্লিপ-ফ্লপ লাগবে এবং আলাদা রিসেট সার্কিট লাগবে না। কাউন্টার স্বাভাবিকভাবেই ০ থেকে ৭ পর্যন্ত গণনা করে ০ তে ফিরে আসে।
  1. মডুলো-৬ কাউন্টারের রিসেট শর্ত: Q2⋅Q1=১। কারণ ৬=১১০, বিট ২ ও বিট ১ হলো ১।
  1. ১২−৫=৭। বাইনারিতে: Q3Q2Q1Q0=০১১১।
  1. মডুলো-১৩: ১৩=১১০১। ফ্লিপ-ফ্লপ: ৪টি। রিসেট শর্ত: Q3⋅Q2⋅Q0=১। ন্যান্ড গেটে Q3,Q2,Q0 সংযুক্ত।
  1. রিপল কাউন্টারে প্রতিটি ফ্লিপ-ফ্লপ আগেরটির আউটপুটে পরিবর্তন দেখে টগল করে, তাই পরিবর্তন একে একে ছড়ায়। এই সময়ে মাঝের ক্ষণিক ভুল অবস্থা দেখা দেয়, এগুলোকে গ্লিচ বলে। আউটপুটে রেজিস্টার বা সিনক্রোনাস কাউন্টার ব্যবহার করে কমানো যায়।
  1. সর্বোচ্চ গণনা: ৯৯। মোট ১০০টি অবস্থা। ব্যবহার: ডিজিটাল ঘড়িতে সেকেন্ড ও মিনিট গণনায়, স্কোরবোর্ডে।
  1. M=০ হলে: Q0⊕০=Q0, উর্ধ্বগামীর মতো। M=১ হলে: Q0⊕১=Q¯0, নিম্নগামীর মতো। একটি মাত্র গেট দিয়ে উভয় দিক নিয়ন্ত্রণ সম্ভব হয়।
  1. সূত্র: সর্বোচ্চ=n×tp। ১০-বিট কাউন্টারে: ১০×১৫=১৫০ ন্যানোসেকেন্ড।
  1. ১০=১০১০: বিট ৩ ও বিট ১ হলো ১, তাই Q3⋅Q1। Q3⋅Q0 ব্যবহার করলে রিসেট হতো ৯=১০০১-এ, যা ভুল।
  1. ডিজিটাল ঘড়িতে সেকেন্ড: মডুলো-৬০ কাউন্টার (০ থেকে ৫৯ পর্যন্ত)। এটিকে একটি মডুলো-১০ (একক স্থান ০-৯) এবং একটি মডুলো-৬ (দশক স্থান ০-৫) কাউন্টার দিয়ে তৈরি করা যায়।
  1. N-এর যে বিটগুলো ০, সেই ফ্লিপ-ফ্লপগুলো ওই অবস্থায় যেকোনো মান হতে পারে এবং রিসেট শর্ত মেলে না। শুধু ১-বিটগুলো যাচাই করলেই N সংখ্যাটি অনন্যভাবে চেনা যায়।
  1. ক্লক ১ (M=০): ০১১→১০০ (দশমিক ৪); ক্লক ২ (M=০): ১০০→১০১ (দশমিক ৫); ক্লক ৩ (M=১): ১০১→১০০ (দশমিক ৪); ক্লক ৪ (M=১): ১০০→০১১ (দশমিক ৩)। চার ক্লক পরে অবস্থা: Q2Q1Q0=০১১।

অ্যাসিনক্রোনাস কাউন্টার (তৃতীয় ভাগ)

ক্যাসকেড কাউন্টার, আইসি চিপ ও বাস্তব প্রয়োগ

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

ক. ক্যাসকেড কাউন্টার

বড় ঘড়ির উপমা

ধরো তুমি একটা বড় ডিজিটাল ঘড়ি তৈরি করতে চাও যেটা ০ থেকে ৯৯৯ পর্যন্ত গুনতে পারবে। তোমার কাছে আছে শুধু ছোট ছোট ঘড়ি যেগুলো ০ থেকে ৯ পর্যন্ত গুনতে পারে।

তুমি কী করবে? তুমি তিনটা ছোট ঘড়ি পাশাপাশি রাখবে। ডানেরটা একক স্থান গোনে, মাঝেরটা দশক স্থান গোনে, বাঁয়েরটা শতক স্থান গোনে। যখন ডানেরটা ৯ থেকে ০-তে ফেরে, সেই মুহূর্তে মাঝেরটাকে একবার টিক দেয়। যখন মাঝেরটা ৯ থেকে ০-তে ফেরে, বাঁয়েরটাকে একবার টিক দেয়। এভাবে তিনটা মিলে ০ থেকে ৯৯৯ পর্যন্ত গোনে।

এটাই ক্যাসকেড কাউন্টারের মূল নীতি।

ক্যাসকেড মানে কী?

ক্যাসকেড মানে ধারাবাহিকভাবে সংযুক্ত। একটি কাউন্টারের সর্বোচ্চ বিটের আউটপুট পরের কাউন্টারের ক্লক ইনপুট হিসেবে ব্যবহৃত হয়।

যখন প্রথম কাউন্টার তার সর্বোচ্চ মান থেকে শূন্যে ফেরে, সর্বোচ্চ বিটে একটি উঠতি বা নামতি প্রান্ত তৈরি হয়। সেই প্রান্তটিই পরের কাউন্টারকে এক ধাপ এগিয়ে দেয়।

ক্যাসকেড সংযোগের নিয়ম
কাউন্টার ক্লক উৎস কখন পরেরটাকে টিক দেয় গণনার পরিসর
প্রথম বাইরের ক্লক নিজে ঘুরে এলে ০ থেকে N1−১
দ্বিতীয় প্রথমের MSB আউটপুট প্রথম প্রতিবার ঘুরলে ০ থেকে N1×N2−১
তৃতীয় দ্বিতীয়ের MSB আউটপুট দ্বিতীয় প্রতিবার ঘুরলে ০ থেকে N1×N2×N3−১

দুটি ৪-বিট কাউন্টার দিয়ে ৮-বিট কাউন্টার

একটি ৪-বিট কাউন্টার ০ থেকে ১৫ পর্যন্ত গুনতে পারে, মানে মডুলো-১৬।

দুটি ৪-বিট কাউন্টার ক্যাসকেডে জোড়া দিলে:

সর্বোচ্চ গণনা = N1×N2=১৬×১৬=২৫৬

অর্থাৎ ০ থেকে ২৫৫ পর্যন্ত, মানে মডুলো-২৫৬ বা ৮-বিট কাউন্টার।

সংযোগ পদ্ধতি:

  • প্রথম কাউন্টারের Q3 (সর্বোচ্চ বিট) সংযুক্ত হয় দ্বিতীয় কাউন্টারের ক্লক ইনপুটে।
  • প্রথম কাউন্টারের Q0,Q1,Q2,Q3 হলো ৮-বিট ফলাফলের নিচের চারটি বিট।
  • দ্বিতীয় কাউন্টারের Q0,Q1,Q2,Q3 হলো উপরের চারটি বিট।
৮-বিট ক্যাসকেড কাউন্টারের গণনার নমুনা
দশমিক দ্বিতীয় কাউন্টার (Q7Q6Q5Q4) প্রথম কাউন্টার (Q3Q2Q1Q0) ব্যাখ্যা
০ ০০০০ ০০০০ শুরু
১৫ ০০০০ ১১১১ প্রথম কাউন্টার সর্বোচ্চে
১৬ ০০০১ ০০০০ প্রথম ঘুরল, দ্বিতীয় এক ধাপ এগোল
৩১ ০০০১ ১১১১ প্রথম আবার সর্বোচ্চে
৩২ ০০১০ ০০০০ প্রথম আবার ঘুরল
২৫৫ ১১১১ ১১১১ সর্বোচ্চ অবস্থা
০ ০০০০ ০০০০ দুটোই ঘুরে শুরুতে ফিরল

ক্যাসকেড উদাহরণ ১: মডুলো-১০০ কাউন্টার

দুটি মডুলো-১০ কাউন্টার ক্যাসকেডে জুড়লে পাওয়া যায়:

N=১০×১০=১০০

এটি ০ থেকে ৯৯ পর্যন্ত গুনতে পারে। ডিজিটাল ঘড়িতে সেকেন্ড ও মিনিট গণনার জন্য এই সার্কিটই ব্যবহার হয়।

প্রথম কাউন্টার: একক স্থানের অঙ্ক (০ থেকে ৯)। দ্বিতীয় কাউন্টার: দশক স্থানের অঙ্ক (০ থেকে ৯)।

মডুলো-১০০ কাউন্টারের ধাপ
দশমিক মান দ্বিতীয় কাউন্টার (দশক) প্রথম কাউন্টার (একক) ঘটনা
০ ০ ০ শুরু
৯ ০ ৯ প্রথম কাউন্টার সর্বোচ্চে
১০ ১ ০ প্রথম ঘুরে দ্বিতীয়কে ঠেলল
৯৯ ৯ ৯ দুটোই সর্বোচ্চে
০ ০ ০ দুটোই ঘুরে শুরুতে ফিরল

ক্যাসকেড উদাহরণ ২: মডুলো-৬০ কাউন্টার

ঘড়িতে সেকেন্ড ০ থেকে ৫৯ পর্যন্ত গোনে, মানে মডুলো-৬০।

এটি তৈরি হয় একটি মডুলো-১০ এবং একটি মডুলো-৬ কাউন্টার ক্যাসকেডে জুড়ে:

N=১০×৬=৬০

প্রথম কাউন্টার (মডুলো-১০): একক স্থান গোনে ০ থেকে ৯। দ্বিতীয় কাউন্টার (মডুলো-৬): দশক স্থান গোনে ০ থেকে ৫।

মডুলো-৬০ কাউন্টারের বিশেষ মুহূর্ত
সেকেন্ড দশক অঙ্ক (মডুলো-৬) একক অঙ্ক (মডুলো-১০) অর্থ
০ ০ ০ শুরু
৯ ০ ৯ ৯ সেকেন্ড
১০ ১ ০ ১০ সেকেন্ড
৫৯ ৫ ৯ ৫৯ সেকেন্ড
০ ০ ০ ১ মিনিট পূর্ণ, শুরুতে ফিরল

মডুলো-৬ কাউন্টার কীভাবে তৈরি হয়? ৩-বিট বাইনারি কাউন্টারে রিসেট লাগিয়ে: যখন গণনা ৬ (১১০) হয়, সাথে সাথে রিসেট করো। তখন Q2 এবং Q1-এর অ্যান্ড গেটের আউটপুট ক্লিয়ার পিনে দেওয়া হয়।

ক্যাসকেড উদাহরণ ৩: মডুলো-১২ ঘণ্টা কাউন্টার

ঘড়ির ঘণ্টা ১ থেকে ১২ পর্যন্ত গোনে। এটা একটু বিশেষ কারণ ০ নেই, শুরু হয় ১ থেকে।

পদ্ধতি: একটি মডুলো-১৩ কাউন্টার তৈরি করো যেটা ০-এ না থেমে ১-এ থাকে।

বিকল্পভাবে: একটি মডুলো-১২ কাউন্টার (০ থেকে ১১) তৈরি করে ডিসপ্লেতে ১ যোগ করে দেখানো হয়।

একটি মডুলো-২ এবং একটি মডুলো-৬ ক্যাসকেডে: N=২×৬=১২

মডুলো-১২ কাউন্টারের বিশেষ মুহূর্ত
গণনা মডুলো-৬ অংশ মডুলো-২ অংশ প্রদর্শিত ঘণ্টা
০ ০ ০ ১২
১ ০ ১ ১
৬ ১ ০ ৬
১১ ৫ ১ ১১
০ ০ ০ ১২ (আবার)

ক্যাসকেডে বিলম্ব সমস্যা

অ্যাসিনক্রোনাস ক্যাসকেড কাউন্টারে একটি গুরুতর সমস্যা আছে: প্রতিটি ফ্লিপ-ফ্লপের মধ্য দিয়ে সংকেত যেতে কিছুটা সময় লাগে, যাকে বলা হয় প্রোপাগেশন বিলম্ব।

যখন কাউন্টারগুলো ক্যাসকেডে থাকে, এই বিলম্ব জমা হতে থাকে।

ধরো প্রতিটি ফ্লিপ-ফ্লপে ১০ ন্যানোসেকেন্ড বিলম্ব। একটি ৪-বিট কাউন্টারে সর্বোচ্চ বিলম্ব হবে: ৪×১০=৪০ ন্যানোসেকেন্ড

দুটো ৪-বিট কাউন্টার ক্যাসকেডে থাকলে: ৮×১০=৮০ ন্যানোসেকেন্ড

ক্যাসকেডে বিলম্ব বিশ্লেষণ
কাউন্টারের সংখ্যা মোট বিট সর্বোচ্চ বিলম্ব (১০ ns/ফ্লিপ-ফ্লপ) সর্বোচ্চ ক্লক গতি
১ টি ৪-বিট ৪ ৪০ ns ২৫ MHz
২ টি ৪-বিট ৮ ৮০ ns ১২.৫ MHz
৩ টি ৪-বিট ১২ ১২০ ns ৮.৩ MHz
৪ টি ৪-বিট ১৬ ১৬০ ns ৬.২ MHz

এই কারণেই বেশি বিটের দ্রুত কাউন্টারের জন্য সমকালীন কাউন্টার ব্যবহার করা হয়।

বিলম্বের প্রভাব: কাউন্টার পরিবর্তনের সময় ক্ষণিকের জন্য ভুল অবস্থায় থাকে। যেমন ০১১১ থেকে ১০০০-এ যাওয়ার সময় মাঝপথে ০১১০, ০১০০, ০০০০ ইত্যাদি ভুল অবস্থা দেখা দিতে পারে। একে বলে গ্লিচ বা হ্যাজার্ড।

খ. সুপরিচিত আইসি চিপ পরিচিতি

আইসি চিপ কেন?

প্রতিটা কাউন্টার নিজে হাতে ফ্লিপ-ফ্লপ জুড়ে তৈরি করা কষ্টকর। তাই কারখানায় আগে থেকেই একটি ছোট চিপে পুরো কাউন্টার সার্কিট বানিয়ে রাখা হয়। এই চিপগুলোকে বলা হয় ইন্টিগ্রেটেড সার্কিট বা আইসি।

৭৪ সিরিজের টিটিএল আইসি চিপ ১৯৬০-এর দশক থেকে ব্যবহৃত হচ্ছে এবং আজও শিক্ষা ও প্রোটোটাইপ তৈরিতে অপরিহার্য।

৭৪৯০ চিপ: দশমিক কাউন্টার

৭৪৯০ হলো একটি বহুল ব্যবহৃত আইসি চিপ যেটাকে বলা হয় "দশমিক কাউন্টার"। এটি আসলে দুটো আলাদা কাউন্টার একই প্যাকেজে:

একটি মডুলো-২ কাউন্টার (একটিমাত্র ফ্লিপ-ফ্লপ, ১টি বিট)। একটি মডুলো-৫ কাউন্টার (তিনটি ফ্লিপ-ফ্লপ, ৩টি বিট)।

৭৪৯০ চিপের পিন বিন্যাস
পিন নম্বর নাম কাজ
১৪ VCC সরবরাহ ভোল্টেজ (+৫ ভোল্ট)
৭ GND ভূমি সংযোগ (০ ভোল্ট)
১৪ (A) CKA মডুলো-২ অংশের ক্লক ইনপুট
১ (B) CKB মডুলো-৫ অংশের ক্লক ইনপুট
১২ QA মডুলো-২ এর আউটপুট (বিট ০)
৯ QB মডুলো-৫ এর আউটপুট (বিট ১)
৮ QC মডুলো-৫ এর আউটপুট (বিট ২)
১১ QD মডুলো-৫ এর আউটপুট (বিট ৩)
২, ৩ R0(1), R0(2) রিসেট-টু-জিরো পিন (উভয়ে ১ হলে রিসেট)
৬, ৭ R9(1), R9(2) রিসেট-টু-নাইন পিন (উভয়ে ১ হলে ৯-এ যায়)

৭৪৯০ দিয়ে বিসিডি মোড (মডুলো-১০)

বিসিডি মোডে চিপটি ০ থেকে ৯ পর্যন্ত গোনে।

সংযোগ: QA-কে CKB-তে সংযুক্ত করো। বাইরের ক্লক CKA-তে দাও।

এতে মডুলো-২ এবং মডুলো-৫ ক্যাসকেডে কাজ করে: N=২×৫=১০

৭৪৯০ বিসিডি মোডের সত্যক সারণী
ক্লক QD QC QB QA দশমিক মান ব্যাখ্যা
০ ০ ০ ০ ০ ০ শুরু
১ ০ ০ ০ ১ ১ এক
২ ০ ০ ১ ০ ২ দুই
৩ ০ ০ ১ ১ ৩ তিন
৪ ০ ১ ০ ০ ৪ চার
৫ ০ ১ ০ ১ ৫ পাঁচ
৬ ০ ১ ১ ০ ৬ ছয়
৭ ০ ১ ১ ১ ৭ সাত
৮ ১ ০ ০ ০ ৮ আট
৯ ১ ০ ০ ১ ৯ নয়
০ ০ ০ ০ ০ ০ আবার শুরু

৭৪৯০ দিয়ে দশমিক মোড

একই চিপ ভিন্নভাবে সংযুক্ত করে দ্বিগুণকারী হিসেবেও ব্যবহার করা যায়: CKB-তে বাইরের ক্লক দাও, QD-কে CKA-তে সংযুক্ত করো। এতে মডুলো-৫ আগে গোনে, তারপর মডুলো-২।

৭৪৯০ দিয়ে রিসেট-টু-নাইন

R9(1) এবং R9(2) উভয়ে ১ করলে কাউন্টার সাথে সাথে ১০০১ (দশমিক ৯) অবস্থায় চলে যায়। এটি ঘড়ির সেটিং বা পরীক্ষার কাজে ব্যবহৃত হয়।

৭৪৯৩ চিপ: ৪-বিট বাইনারি কাউন্টার

৭৪৯৩ হলো একটি ৪-বিট বাইনারি রিপল কাউন্টার। এটি ৪টি জেকে ফ্লিপ-ফ্লপ দিয়ে তৈরি। মডুলো-১৬ পর্যন্ত গুনতে পারে এবং রিসেট সংযোগ বদলে যেকোনো মডুলো তৈরি করা যায়।

৭৪৯৩ চিপের পিন বিন্যাস
পিন নম্বর নাম কাজ
১৪ CKA প্রথম ফ্লিপ-ফ্লপের ক্লক ইনপুট
১ CKB বাকি তিনটি ফ্লিপ-ফ্লপের ক্লক ইনপুট
১২ QA বিট ০ আউটপুট
৯ QB বিট ১ আউটপুট
৮ QC বিট ২ আউটপুট
১১ QD বিট ৩ আউটপুট
২, ৩ R0(1), R0(2) রিসেট পিন (উভয়ে ১ হলে শূন্যে ফেরে)

৭৪৯৩ দিয়ে মডুলো-১৬ কাউন্টার

QA-কে CKB-তে সংযুক্ত করো, R0(1) এবং R0(2) কে ০-এ রাখো।

ফলাফল: ০ থেকে ১৫ পর্যন্ত পূর্ণ বাইনারি গণনা।

৭৪৯৩ দিয়ে মডুলো-১২ কাউন্টার

১২ দশমিকে = ১১০০ বাইনারি। তাই QD এবং QC উভয়ে ১ হলেই রিসেট করতে হবে।

সংযোগ: R0(1)-এ QD, R0(2)-এ QC দাও।

গণনা ১২ (১১০০) হওয়ামাত্র রিসেট ঘটে, ফলে সার্কিট ০ থেকে ১১ পর্যন্ত গোনে।

৭৪৯৩ দিয়ে বিভিন্ন মডুলো কাউন্টার

৭৪৯৩ দিয়ে তৈরি বিভিন্ন মডুলো কাউন্টার
মডুলো রিসেট শর্ত R0(1) সংযোগ R0(2) সংযোগ ব্যাখ্যা
২ ০০১০ QB QB ০-১ গোনে
৩ ০০১১ QB QA ০-২ গোনে
৫ ০১০১ QC QA ০-৪ গোনে
৬ ০১১০ QC QB ০-৫ গোনে
৯ ১০০১ QD QA ০-৮ গোনে
১০ ১০১০ QD QB ০-৯ গোনে
১২ ১১০০ QD QC ০-১১ গোনে

আইসি চিপ ব্যবহারের সুবিধা

আইসি চিপ ব্যবহারের কারণ
সুবিধা বিস্তারিত
সময় সাশ্রয় নিজে ফ্লিপ-ফ্লপ জুড়তে ঘণ্টার পর ঘণ্টা লাগে, চিপে সব আগেই করা
নির্ভরযোগ্যতা কারখানায় পরীক্ষিত এবং গ্যারান্টিযুক্ত কার্যক্ষমতা
ছোট আকার একটি চিপে চারটি ফ্লিপ-ফ্লপ, পরিচিত DIP প্যাকেজে মাত্র ১৪টি পিন
কম খরচ গণউৎপাদনের ফলে প্রতিটি চিপের দাম অত্যন্ত কম
সহজ সংযোগ ডেটাশিট দেখে সরাসরি ব্রেডবোর্ডে সংযুক্ত করা যায়
মানকীকরণ বিশ্বের যেকোনো প্রস্তুতকারকের ৭৪৯০ একই কাজ করে

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

ডিজিটাল ঘড়ি তৈরি

ডিজিটাল ঘড়ি হলো অ্যাসিনক্রোনাস কাউন্টারের সবচেয়ে পরিচিত প্রয়োগ। একটা সম্পূর্ণ ডিজিটাল ঘড়ির সার্কিট বোঝা মানে পুরো অধ্যায়টাই বোঝা।

ঘড়ির মূল ব্লক চিত্র

একটি ডিজিটাল ঘড়িতে নিচের ব্লকগুলো থাকে, বাম থেকে ডানে সংকেত প্রবাহিত হয়:

স্ফটিক দোলক (৩২৭৬৮ Hz)

       |
       v

কম্পাঙ্ক বিভাজক (÷ ৩২৭৬৮)

       |
       v
  ১ Hz সংকেত (প্রতি সেকেন্ডে ১ স্পন্দন)
       |
       v

মডুলো-১০ কাউন্টার (একক সেকেন্ড: ০-৯)

       |
       v

মডুলো-৬ কাউন্টার (দশক সেকেন্ড: ০-৫)

       |
       v

মডুলো-১০ কাউন্টার (একক মিনিট: ০-৯)

       |
       v

মডুলো-৬ কাউন্টার (দশক মিনিট: ০-৫)

       |
       v

মডুলো-১২ কাউন্টার (ঘণ্টা: ১-১২ বা ০-২৩)

       |
       v
  বিসিডি-থেকে-সাত-খণ্ড ডিকোডার
       |
       v
  সাত-খণ্ড প্রদর্শক (সংখ্যা দেখায়)

প্রতিটি ব্লকের মডুলো ব্যাখ্যা

ডিজিটাল ঘড়ির প্রতিটি ব্লক
ব্লক মডুলো গণনার পরিসর বাস্তব অর্থ রিসেট শর্ত
একক সেকেন্ড মডুলো-১০ ০ থেকে ৯ একক অঙ্কের সেকেন্ড গণনা = ১০
দশক সেকেন্ড মডুলো-৬ ০ থেকে ৫ দশক অঙ্কের সেকেন্ড গণনা = ৬
একক মিনিট মডুলো-১০ ০ থেকে ৯ একক অঙ্কের মিনিট গণনা = ১০
দশক মিনিট মডুলো-৬ ০ থেকে ৫ দশক অঙ্কের মিনিট গণনা = ৬
ঘণ্টা (১২ঘণ্টা) মডুলো-১২ ১ থেকে ১২ ১২ঘণ্টার সময় গণনা = ১২
ঘণ্টা (২৪ঘণ্টা) মডুলো-২৪ ০ থেকে ২৩ ২৪ঘণ্টার সময় গণনা = ২৪

ঘড়ির মোট চক্র গণনা

১২ঘণ্টার ঘড়িতে একটি সম্পূর্ণ চক্রে মোট সেকেন্ড: N=৬০×৬০×১২=৪৩২০০ সেকেন্ড

২৪ঘণ্টার ঘড়িতে: N=৬০×৬০×২৪=৮৬৪০০ সেকেন্ড

স্ফটিক দোলক কেন?

কেন সাধারণ দোলক ব্যবহার না করে স্ফটিক (কোয়ার্টজ) দোলক ব্যবহার হয়? কারণ স্ফটিক দোলকের কম্পাঙ্ক অত্যন্ত স্থির। তাপমাত্রা বা বিদ্যুৎ সরবরাহের পরিবর্তনে এর কম্পাঙ্ক প্রায় বদলায় না। এটি ঘড়ির নির্ভুলতার মূল রহস্য।

ঘড়িতে সাধারণত ৩২৭৬৮ Hz স্ফটিক ব্যবহার হয়। এই সংখ্যাটা ২15, তাই ১৫টি দ্বিভাজন করলে সরাসরি ১ Hz পাওয়া যায়।

কম্পাঙ্ক বিভাজক: রেডিও ও টেলিযোগাযোগ

রেডিও সম্প্রচারে একটি নির্দিষ্ট কম্পাঙ্কে সংকেত পাঠাতে হয়। কিন্তু স্ফটিক দোলক সব কম্পাঙ্কে পাওয়া যায় না। তাই একটি বেশি কম্পাঙ্কের দোলক থেকে বিভাজন করে নির্দিষ্ট কম্পাঙ্ক তৈরি করা হয়।

উদাহরণ: একটি ১০ MHz স্ফটিক থেকে ১০০ kHz তৈরি করতে মডুলো-১০০ বিভাজক লাগবে।

fout=finN=১০,০০০,০০০১০০=১০০,০০০ Hz=১০০ kHz

কম্পাঙ্ক বিভাজকের উদাহরণ
ইনপুট কম্পাঙ্ক বিভাজন অনুপাত (N) আউটপুট কম্পাঙ্ক প্রয়োগ
৩২৭৬৮ Hz ৩২৭৬৮ ১ Hz ঘড়ির সেকেন্ড স্পন্দন
১ MHz ১০০০ ১ kHz শ্রবণযোগ্য শব্দ সংকেত
১০ MHz ১০০ ১০০ kHz এএম রেডিও বাহক
১০০ MHz ১০ ১০ MHz এফএম রেডিও সহায়ক
১ GHz ১০০০ ১ MHz মোবাইল যোগাযোগ

ঘটনা গণনাকারী: কারখানার উৎপাদন গণনা

একটি কারখানায় উৎপাদন লাইনে প্রতিদিন কতটা পণ্য তৈরি হলো তা গণনা করা দরকার। প্রতিটা পণ্য যখন সেন্সরের সামনে দিয়ে যায়, সেন্সর একটা বৈদ্যুতিক স্পন্দন তৈরি করে। এই স্পন্দনগুলো একটা কাউন্টারে গণনা হয়।

প্রতিদিন সর্বোচ্চ ৯৯৯৯ টা পণ্য গণনার জন্য:

চারটি মডুলো-১০ কাউন্টার ক্যাসকেডে: N=১০×১০×১০×১০=১০,০০০

এটি ০০০০ থেকে ৯৯৯৯ পর্যন্ত গুনতে পারে।

উৎপাদন গণনা ব্যবস্থার উদাহরণ
অঙ্ক কাউন্টার গণনা পরিসর বাস্তব অর্থ
একক মডুলো-১০ ০ থেকে ৯ শেষ এক অঙ্ক
দশক মডুলো-১০ ০ থেকে ৯ দ্বিতীয় অঙ্ক
শতক মডুলো-১০ ০ থেকে ৯ তৃতীয় অঙ্ক
হাজার মডুলো-১০ ০ থেকে ৯ প্রথম অঙ্ক

পরিচিত উদাহরণ: পেট্রোল পাম্পে কতটুকু তেল দেওয়া হলো তা গণনার কাউন্টার, বাসের টিকিট মেশিনে যাত্রী গণনা, ওষুধ কারখানায় বড়ি গণনা।

স্বয়ংক্রিয় ট্র্যাফিক সংকেত নিয়ন্ত্রণ

ব্যস্ত রাস্তার সংকেত বাতি নির্দিষ্ট সময় পর পর পরিবর্তিত হয়। এটি একটি কাউন্টার দিয়ে নিয়ন্ত্রিত হয়।

ধরো একটি সংকেত চক্র:

  • সবুজ: ৩০ সেকেন্ড
  • হলুদ: ৫ সেকেন্ড
  • লাল: ৩৫ সেকেন্ড
  • মোট চক্র: ৭০ সেকেন্ড

একটি মডুলো-৭০ কাউন্টার তৈরি করো:

  • গণনা ০ থেকে ২৯: সবুজ বাতি জ্বলে
  • গণনা ৩০ থেকে ৩৪: হলুদ বাতি জ্বলে
  • গণনা ৩৫ থেকে ৬৯: লাল বাতি জ্বলে
  • গণনা ৭০: রিসেট, আবার শুরু
ট্র্যাফিক সংকেত কাউন্টারের অবস্থা
গণনার পরিসর সময় সক্রিয় বাতি ডিকোডার আউটপুট
০ থেকে ২৯ ৩০ সেকেন্ড সবুজ Q<৩০ হলে সবুজ চালু
৩০ থেকে ৩৪ ৫ সেকেন্ড হলুদ ৩০≤Q<৩৫
৩৫ থেকে ৬৯ ৩৫ সেকেন্ড লাল Q≥৩৫
৭০ মুহূর্তিক রিসেট কাউন্টার শূন্যে ফেরে

ডিজিটাল স্টপওয়াচ সার্কিট

একটি স্টপওয়াচ ০.০০ থেকে ৯৯.৯৯ সেকেন্ড পর্যন্ত গোনে।

প্রয়োজনীয় কাউন্টার ব্লক:

  • প্রথম দশমিক অঙ্ক (১/১০০ সেকেন্ড): মডুলো-১০
  • দ্বিতীয় দশমিক অঙ্ক (১/১০ সেকেন্ড): মডুলো-১০
  • একক সেকেন্ড: মডুলো-১০
  • দশক সেকেন্ড: মডুলো-১০

ইনপুট ক্লক: ১০০ Hz (প্রতি সেকেন্ডে ১০০ স্পন্দন)।

সর্বোচ্চ গণনা: N=১০×১০×১০×১০=১০,০০০

এটি ১০,০০০ ÷ ১০০ = ১০০ সেকেন্ড পর্যন্ত গুনতে পারে।

স্টার্ট/স্টপ বোতাম: ক্লক গেটিং ব্যবহার হয়। একটি অ্যান্ড গেটের একটা ইনপুটে ক্লক এবং অন্যটায় স্টার্ট/স্টপ বোতামের সংকেত দেওয়া হয়।

ঘ. অ্যাসিনক্রোনাস বনাম সমকালীন কাউন্টার

সমকালীন কাউন্টার কী?

যে কাউন্টারে সব ফ্লিপ-ফ্লপ একই ক্লক সংকেত একই সময়ে পায়, তাকে সমকালীন বা সিনক্রোনাস কাউন্টার বলে।

অ্যাসিনক্রোনাসে: ক্লক শুধু প্রথম ফ্লিপ-ফ্লপে যায়, বাকিরা আগেরটার আউটপুট থেকে ক্লক পায়। সমকালীনে: ক্লক সরাসরি সব ফ্লিপ-ফ্লপে যায়।

বিস্তারিত তুলনামূলক সারণি

অ্যাসিনক্রোনাস ও সমকালীন কাউন্টারের বিস্তারিত তুলনা
বৈশিষ্ট্য অ্যাসিনক্রোনাস সমকালীন
ক্লক সংযোগ প্রতিটি ফ্লিপ-ফ্লপ আগেরটার আউটপুট থেকে ক্লক পায় সব ফ্লিপ-ফ্লপে একই ক্লক সরাসরি যায়
বিলম্ব বিট সংখ্যার সাথে বাড়ে (n×tpd) একটি ফ্লিপ-ফ্লপের বিলম্বই সর্বোচ্চ (tpd)
গতি ধীর, বেশি বিটে বেশি ধীর দ্রুত, বিট সংখ্যা নির্বিশেষে
গ্লিচ আছে, পরিবর্তনের সময় ভুল অবস্থা নেই, সব একসাথে পরিবর্তিত হয়
সার্কিট জটিলতা সহজ, কম গেট জটিল, বেশি গেট দরকার
ক্লক সরবরাহ সহজ, একটি তার থেকে জটিল, সব ফ্লিপ-ফ্লপে বিতরণ
বিদ্যুৎ খরচ তুলনামূলক কম বেশি (সব একসাথে পরিবর্তন)
ডিজাইন জটিলতা সহজ কঠিন
আইসি উদাহরণ ৭৪৯০, ৭৪৯৩ ৭৪১৬৩, ৭৪১৬১
সর্বোচ্চ ক্লক গতি fmax=১n⋅tpd fmax=১tpd+tsetup
প্রধান ব্যবহার ঘড়ি, বিভাজক, কম গতির গণনা প্রসেসর, দ্রুত ডিজিটাল সার্কিট

কোনটি কোথায় ব্যবহার করবে?

অ্যাসিনক্রোনাস কাউন্টার বেছে নাও যখন:

  • সার্কিট সহজ রাখতে চাও এবং গতি সমস্যা নয়।
  • ক্লক গতি কম (কয়েক মেগাহার্টজের নিচে)।
  • ঘড়ি, ডিবাউন্স সার্কিট, কম্পাঙ্ক বিভাজক তৈরি করছ।
  • ব্রেডবোর্ডে শিক্ষামূলক প্রকল্পে কাজ করছ।
  • বিদ্যুৎ সাশ্রয় গুরুত্বপূর্ণ।

সমকালীন কাউন্টার বেছে নাও যখন:

  • ক্লক গতি বেশি দরকার (কয়েক মেগাহার্টজের উপরে)।
  • গ্লিচমুক্ত আউটপুট দরকার।
  • মাইক্রোপ্রসেসর, ডিজিটাল সংকেত প্রক্রিয়াকরণ সার্কিট তৈরি করছ।
  • আউটপুট সরাসরি সংবেদনশীল লজিকে যাচ্ছে।

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

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

ঙ. সমগ্র অধ্যায়ের সারসংক্ষেপ

গুরুত্বপূর্ণ সূত্র ও নিয়মের তালিকা

অ্যাসিনক্রোনাস কাউন্টারের গুরুত্বপূর্ণ সূত্র
সূত্র বা নিয়ম গাণিতিক রূপ ব্যাখ্যা
n-বিট কাউন্টারের মডুলো N=২n nটি ফ্লিপ-ফ্লপ মিলে ২n অবস্থা
প্রয়োজনীয় বিট সংখ্যা n=⌈log2N⌉ মডুলো-N কাউন্টারে কমপক্ষে এতটা ফ্লিপ-ফ্লপ লাগবে
ক্যাসকেড কাউন্টারের মডুলো N=N1×N2×⋯×Nk kটি কাউন্টার ক্যাসকেডে
সর্বোচ্চ বিলম্ব tmax=n×tpd nটি ফ্লিপ-ফ্লপের প্রোপাগেশন বিলম্বের যোগফল
সর্বোচ্চ ক্লক গতি fmax=১tmax বিলম্বের বিপরীত মান
কম্পাঙ্ক বিভাজন fout=finN মডুলো-N কাউন্টার কম্পাঙ্ক N ভাগে ভাগ করে
মডুলো-N রিসেট শর্ত গণনা = N হলে তাৎক্ষণিক রিসেট N-এর বাইনারি রূপে যে বিটগুলো ১, তাদের অ্যান্ড করে ক্লিয়ারে দাও
উর্ধ্বগামী ফ্লিপ-ফ্লপ সংযোগ FFi+1-এর ক্লক = Qi‾ পূর্ববর্তী ফ্লিপ-ফ্লপের পরিপূরক আউটপুট
নিম্নগামী ফ্লিপ-ফ্লপ সংযোগ FFi+1-এর ক্লক = Qi পূর্ববর্তী ফ্লিপ-ফ্লপের সরাসরি আউটপুট

পরিভাষার তালিকা

সম্পূর্ণ পরিভাষার তালিকা
বাংলা পরিভাষা সংজ্ঞা
অ্যাসিনক্রোনাস কাউন্টার যে কাউন্টারে সব ফ্লিপ-ফ্লপ একই ক্লক পায় না, প্রতিটি আগেরটার আউটপুট থেকে ক্লক পায়
উর্ধ্বগামী কাউন্টার যে কাউন্টার ০ থেকে শুরু করে ক্রমাগত বাড়তে থাকে
নিম্নগামী কাউন্টার যে কাউন্টার সর্বোচ্চ মান থেকে শুরু করে ক্রমাগত কমতে থাকে
উভয়মুখী কাউন্টার উপর বা নিচ যেকোনো দিকে গণনা করতে পারে
মডুলো-N কাউন্টার Nটি অবস্থায় ঘোরে, মানে ০ থেকে N−১ পর্যন্ত
রিপল কাউন্টার অ্যাসিনক্রোনাস কাউন্টারের আরেক নাম, ঢেউয়ের মতো বিলম্ব এগিয়ে যায় বলে
প্রোপাগেশন বিলম্ব সংকেত একটি ফ্লিপ-ফ্লপের মধ্য দিয়ে যেতে যে সময় লাগে
গ্লিচ সার্কিট পরিবর্তনের মুহূর্তে ক্ষণিকের ভুল আউটপুট
প্রি-সেট ফ্লিপ-ফ্লপকে জোর করে ১-এ নিয়ে যাওয়ার পিন
ক্লিয়ার ফ্লিপ-ফ্লপকে জোর করে ০-এ নিয়ে যাওয়ার পিন
ক্যাসকেড একাধিক কাউন্টার শ্রেণিতে জুড়ে বড় কাউন্টার তৈরি
কম্পাঙ্ক বিভাজক কাউন্টারকে ক্লক কম্পাঙ্ক ভাগ করার কাজে ব্যবহার
বিসিডি কাউন্টার বাইনারি কোডেড দশমিক, ০ থেকে ৯ পর্যন্ত দশমিক অঙ্ক বাইনারিতে
ক্লক গেটিং একটি গেট দিয়ে ক্লক চালু বা বন্ধ করার পদ্ধতি
এমএসবি সর্বোচ্চ তাৎপর্যপূর্ণ বিট, বাইনারি সংখ্যার বাম দিকের বিট
এলএসবি সর্বনিম্ন তাৎপর্যপূর্ণ বিট, বাইনারি সংখ্যার ডান দিকের বিট
জেকে ফ্লিপ-ফ্লপ দুটি ইনপুট J ও K-বিশিষ্ট ফ্লিপ-ফ্লপ, টগল মোড আছে
ডি ফ্লিপ-ফ্লপ একটি ইনপুট D-বিশিষ্ট ফ্লিপ-ফ্লপ, ক্লকে ডি-র মান সংরক্ষণ করে
টগল বর্তমান অবস্থার উল্টো অবস্থায় যাওয়া, ০ হলে ১, ১ হলে ০
সমকালীন কাউন্টার সব ফ্লিপ-ফ্লপ একই ক্লক পায়, গ্লিচমুক্ত ও দ্রুততর

বিস্তারিত উদাহরণ

উদাহরণ ১: তিনটি ৭৪৯০ দিয়ে মডুলো-১০০০ কাউন্টার

তিনটি ৭৪৯০ চিপ ক্যাসকেডে জুড়ে মডুলো-১০০০ কাউন্টার তৈরি করো এবং গণনা যাচাই করো।

সংযোগ পদ্ধতি:

প্রথম চিপ: বাইরের ক্লক CKA-তে। QA থেকে CKB-তে। এটি একক স্থানের অঙ্ক দেখাবে।

দ্বিতীয় চিপ: প্রথম চিপের QD এই চিপের CKA-তে। QA থেকে CKB-তে। এটি দশক স্থান দেখাবে।

তৃতীয় চিপ: দ্বিতীয় চিপের QD এই চিপের CKA-তে। QA থেকে CKB-তে। এটি শতক স্থান দেখাবে।

মোট মডুলো: N=১০×১০×১০=১০০০

গণনা যাচাই:

মডুলো-১০০০ কাউন্টারের বিশেষ মুহূর্ত
দশমিক মান তৃতীয় চিপ (শতক) দ্বিতীয় চিপ (দশক) প্রথম চিপ (একক) ঘটনা
০ ০ ০ ০ শুরু
৯ ০ ০ ৯ প্রথম চিপ সর্বোচ্চে
১০ ০ ১ ০ প্রথম ঘুরল, দ্বিতীয় এগোল
৯৯ ০ ৯ ৯ প্রথম ও দ্বিতীয় সর্বোচ্চে
১০০ ১ ০ ০ দুটোই ঘুরল, তৃতীয় এগোল
৯৯৯ ৯ ৯ ৯ তিনটিই সর্বোচ্চে
০ ০ ০ ০ তিনটিই ঘুরে শুরুতে ফিরল

উদাহরণ ২: ৭৪৯৩ দিয়ে মডুলো-৭ কাউন্টার

৭ দশমিকে = ০১১১ বাইনারি।

তাই QC, QB, QA তিনটিই ১ হলে রিসেট করতে হবে।

কিন্তু ৭৪৯৩-এ মাত্র দুটো রিসেট পিন আছে (R0(1) এবং R0(2))। তিনটি শর্ত যাচাই করতে অতিরিক্ত অ্যান্ড গেট লাগবে।

সংযোগ:

  • R0(1)-এ QC সরাসরি দাও।
  • একটি অ্যান্ড গেটে QB ও QA দিয়ে সেই গেটের আউটপুট R0(2)-এ দাও।

যখন গণনা ৭ হয় (QC=১,QB=১,QA=১):

  • R0(1) = QC = ১
  • R0(2) = QB⋅QA = ১⋅১ = ১
  • উভয়ে ১, তাই রিসেট। কাউন্টার ০ থেকে ৬ পর্যন্ত গোনে।
মডুলো-৭ কাউন্টারের গণনা
ক্লক QD QC QB QA দশমিক R0(1) R0(2) ঘটনা
০ ০ ০ ০ ০ ০ ০ ০ শুরু
১ ০ ০ ০ ১ ১ ০ ০ স্বাভাবিক
২ ০ ০ ১ ০ ২ ০ ০ স্বাভাবিক
৩ ০ ০ ১ ১ ৩ ০ ১ স্বাভাবিক
৪ ০ ১ ০ ০ ৪ ১ ০ স্বাভাবিক
৫ ০ ১ ০ ১ ৫ ১ ০ স্বাভাবিক
৬ ০ ১ ১ ০ ৬ ১ ০ স্বাভাবিক
৭ ০ ১ ১ ১ ৭ ১ ১ রিসেট!
০ ০ ০ ০ ০ ০ ০ ০ আবার শুরু

উদাহরণ ৩: ২৪ ঘণ্টার কাউন্টার তৈরি

২৪ ঘণ্টার কাউন্টার তৈরি করো, ০০ থেকে ২৩ পর্যন্ত।

২৪ = দুই অঙ্কের সংখ্যা: দশক অঙ্ক ০ থেকে ২, একক অঙ্ক ০ থেকে ৯ (তবে দশক ২ হলে একক সর্বোচ্চ ৩)।

পদ্ধতি:

  • একক ঘণ্টার জন্য মডুলো-১০ কাউন্টার (কিন্তু দশক ২ থাকলে মডুলো-৪)।
  • দশক ঘণ্টার জন্য মডুলো-৩ কাউন্টার (০, ১, ২)।

রিসেট শর্ত: যখন একসাথে দশক = ২ এবং একক = ৪ হবে, মানে সামগ্রিক গণনা = ২৪ হবে, তখন উভয় কাউন্টার রিসেট।

রিসেট সংকেত তৈরি: দশক কাউন্টারের QB (মান ২ = বাইনারি ১০, তাই QB=১,QA=০) এবং একক কাউন্টারের QC (মান ৪ = বাইনারি ০১০০, তাই QC=১)-এর অ্যান্ড করলে রিসেট সংকেত পাওয়া যাবে।

২৪ ঘণ্টা কাউন্টারের বিশেষ অবস্থা
ঘণ্টা দশক অঙ্ক একক অঙ্ক ঘটনা
০০ ০ ০ শুরু বা মধ্যরাত
০৯ ০ ৯ একক সর্বোচ্চে
১০ ১ ০ দশক বাড়ল
১৯ ১ ৯ একক আবার সর্বোচ্চে
২০ ২ ০ দশক আবার বাড়ল
২৩ ২ ৩ সর্বোচ্চ মান
০০ ০ ০ রিসেট, নতুন দিন শুরু

উদাহরণ ৪: কম্পাঙ্ক বিভাজনের গণনা

একটি ৪.৯১৫২ MHz স্ফটিক দোলক থেকে ৯৬০০ Hz UART ক্লক তৈরি করতে হবে।

বিভাজন অনুপাত: N=finfout=৪,৯১৫,২০০৯,৬০০=৫১২

৫১২ = ২9, তাই ৯টি দ্বিভাজক (মডুলো-২ কাউন্টার) ক্যাসকেডে দিলেই হয়।

বিকল্পভাবে: মডুলো-৬৪ এবং মডুলো-৮ ক্যাসকেড: ৬৪×৮=৫১২।

উদাহরণ ৫: নিম্নগামী স্টপওয়াচ কাউন্টার

একটি মাইক্রোওয়েভ ওভেনে ৯৯ সেকেন্ড থেকে উল্টো গোনার সার্কিট তৈরি করো।

প্রয়োজন:

  • একটি নিম্নগামী মডুলো-১০০ কাউন্টার।
  • প্রাথমিক লোড: ১০০১ ১০০১ বিসিডি (দশমিক ৯৯)।
  • গণনা ০০ হলে: বাজার বাজবে এবং থামবে।

সংযোগ:

  • দুটি ৭৪৯০-এর ক্লিয়ার না ব্যবহার করে প্রিসেট ব্যবহার করো।
  • প্রিসেট: একক কাউন্টার ৯-এ, দশক কাউন্টার ৯-এ।
  • নিম্নগামীর জন্য: একক কাউন্টারের QA (এলএসবি) পরিবর্তে আউটপুটের পরিপূরক দ্বিতীয় কাউন্টারে দাও।

গণনার ধারা: ৯৯, ৯৮, ৯৭, ..., ১০, ০৯, ০৮, ..., ০১, ০০।

উদাহরণ ৬: ট্র্যাফিক লাইট নিয়ন্ত্রণ সার্কিটের বিস্তারিত

তিনটি রাস্তার সংকেত বাতি নিয়ন্ত্রণ করতে হবে যেখানে:

রাস্তা-১: সবুজ ৪৫s, হলুদ ৫s, লাল ৫০s। চক্র = ১০০s। রাস্তা-২: সবুজ ৩০s, হলুদ ৫s, লাল ৬৫s। চক্র = ১০০s।

মোট চক্র = ১০০ সেকেন্ড, তাই মডুলো-১০০ কাউন্টার লাগবে।

কম্পাঙ্ক: ১ Hz (প্রতি সেকেন্ডে ১ স্পন্দন)।

ডিকোডার লজিক:

রাস্তা-১ সবুজ: গণনা ০ থেকে ৪৪ (মানে Q<৪৫)। রাস্তা-১ হলুদ: গণনা ৪৫ থেকে ৪৯। রাস্তা-১ লাল: গণনা ৫০ থেকে ৯৯।

রাস্তা-২ লাল: গণনা ০ থেকে ৬৪। রাস্তা-২ হলুদ: গণনা ৬৫ থেকে ৬৯। রাস্তা-২ সবুজ: গণনা ৭০ থেকে ৯৯।

ট্র্যাফিক সংকেত সারণি
গণনা সেকেন্ড রাস্তা-১ রাস্তা-২
০০ থেকে ৪৪ ৪৫ s সবুজ লাল
৪৫ থেকে ৪৯ ৫ s হলুদ লাল
৫০ থেকে ৬৪ ১৫ s লাল লাল (নিরাপদ বিরতি)
৬৫ থেকে ৬৯ ৫ s লাল হলুদ
৭০ থেকে ৯৯ ৩০ s লাল সবুজ
০০ মুহূর্তিক রিসেট রিসেট

উদাহরণ ৭: বিলম্ব হিসাবের বিস্তারিত

একটি চার-স্তরের ক্যাসকেড কাউন্টারে (মোট ১৬ বিট) বিলম্ব বিশ্লেষণ করো।

প্রদত্ত:

  • প্রতিটি ফ্লিপ-ফ্লপের প্রোপাগেশন বিলম্ব: tpd=১৫ নানোসেকেন্ড।
  • প্রতিটি অ্যান্ড গেটের বিলম্ব: tgate=৫ নানোসেকেন্ড।

প্রথম কাউন্টার (৪ বিট): সর্বোচ্চ বিলম্ব = ৪×১৫=৬০ ns। দ্বিতীয় কাউন্টার (৪ বিট): প্রথমের বিলম্ব + নিজের বিলম্ব = ৬০+৬০=১২০ ns। তৃতীয় কাউন্টার (৪ বিট): ১২০+৬০=১৮০ ns। চতুর্থ কাউন্টার (৪ বিট): ১৮০+৬০=২৪০ ns।

সর্বোচ্চ ক্লক গতি: fmax=১২৪০×১০−9≈৪.২ MHz

তুলনা: সমকালীন ১৬-বিট কাউন্টারে সর্বোচ্চ বিলম্ব মাত্র কয়েকটি গেট স্তর, সাধারণত ৩০ থেকে ৬০ ns, তাই গতি ১০ থেকে ৩০ MHz হতে পারে।

অনুশীলনী

সহজ প্রশ্ন

১. দুটি মডুলো-৫ কাউন্টার ক্যাসকেডে জুড়লে মোট মডুলো কত হবে?

উত্তর: N=৫×৫=২৫। কাউন্টার ০ থেকে ২৪ পর্যন্ত গুনবে।

২. মডুলো-১৬ কাউন্টারের জন্য কতটি ফ্লিপ-ফ্লপ লাগবে?

উত্তর: n=log2১৬=৪। চারটি ফ্লিপ-ফ্লপ লাগবে।

৩. একটি ৪-বিট অ্যাসিনক্রোনাস কাউন্টারে প্রতিটি ফ্লিপ-ফ্লপের বিলম্ব ২০ ns হলে সর্বোচ্চ বিলম্ব কত?

উত্তর: tmax=৪×২০=৮০ ns।

৪. ৭৪৯০ চিপের R0 পিনে উভয়ে লজিক ১ দিলে কী হয়?

উত্তর: কাউন্টার তাৎক্ষণিক রিসেট হয়ে ০০০০ অবস্থায় চলে যায়।

৫. মডুলো-৩২ কাউন্টারে কতটি বিট দরকার?

উত্তর: n=log2৩২=৫। পাঁচটি বিট।

৬. ডিজিটাল ঘড়িতে ৩২৭৬৮ Hz থেকে ১ Hz পেতে বিভাজন অনুপাত কত?

উত্তর: N=৩২৭৬৮=২15। মডুলো-৩২৭৬৮ বিভাজক লাগবে।

৭. একটি কাউন্টারের আউটপুটে হঠাৎ ভুল মান দেখা দিয়ে মিলিয়ে যাচ্ছে, এটি কী?

উত্তর: এটি গ্লিচ বা হ্যাজার্ড। অ্যাসিনক্রোনাস কাউন্টারে পরিবর্তনের মুহূর্তে ঘটে।

মাঝারি প্রশ্ন

৮. ৭৪৯৩ চিপ দিয়ে মডুলো-৯ কাউন্টার তৈরি করো। কোন পিনে কী সংযোগ দেবে?

উত্তর: ৯ = ১০০১ বাইনারি। তাই QD=১ এবং QA=১ হলে রিসেট করতে হবে।

সংযোগ:

  • R0(1)-এ QD।
  • R0(2)-এ QA।
  • QA-কে CKB-তে, বাইরের ক্লক CKA-তে।

গণনা: ০ থেকে ৮ পর্যন্ত। ৯ হওয়ামাত্র রিসেট।

৯. একটি ৮০ Hz সংকেত থেকে ৪ Hz তৈরি করতে কোন মডুলোর কাউন্টার লাগবে?

উত্তর: N=৮০৪=২০। মডুলো-২০ কাউন্টার লাগবে। দুটি মডুলো-১০ বা মডুলো-৪ ও মডুলো-৫ ক্যাসকেডে জুড়লে হয়।

১০. মডুলো-৪৮ কাউন্টার তৈরি করতে কোন দুটি কাউন্টার ক্যাসকেডে ব্যবহার করবে?

উত্তর: ৪৮ = ৬ × ৮ বা ৪৮ = ১৬ × ৩ বা ৪৮ = ১২ × ৪।

সহজ উপায়: মডুলো-৮ এবং মডুলো-৬ ক্যাসকেডে, ৮×৬=৪৮।

১১. একটি কাউন্টার ১ Hz ক্লকে চলে এবং ৩-বিটের। এটি কত সেকেন্ড পরে ঘুরে আসে?

উত্তর: N=২৩=৮। প্রতি ৮ সেকেন্ডে একবার ঘুরে আসে।

১২. অ্যাসিনক্রোনাস কাউন্টারে গ্লিচ কমানোর দুটি উপায় লেখো।

উত্তর:

  • আউটপুটে ডি ফ্লিপ-ফ্লপ যোগ করো (পাইপলাইনিং)। ক্লকের স্থির অবস্থায় আউটপুট পড়ো।
  • স্ট্রোব পালস ব্যবহার করো: কেবল স্থির অবস্থায় আউটপুট ডিকোড করো।

১৩. ৭৪৯০ দিয়ে মডুলো-৬ কাউন্টার কীভাবে তৈরি করবে?

উত্তর: বিসিডি মোডে (QA থেকে CKB) ৭৪৯০ মডুলো-১০ কাউন্টার হয়। মডুলো-৬ পেতে গণনা ৬ হলে রিসেট করতে হবে।

৬ = ০১১০ বাইনারি। তাই QC=১ এবং QB=১ হলে রিসেট।

  • R0(1)-এ QC।
  • R0(2)-এ QB।

গণনা: ০ থেকে ৫।

কঠিন প্রশ্ন

১৪. একটি ডিজিটাল ঘড়িতে মিনিট কাউন্টারের জন্য মডুলো-৬০ সার্কিট ডিজাইন করো। কতটি ৭৪৯০ চিপ লাগবে এবং সংযোগ কীভাবে হবে?

উত্তর: মডুলো-৬০ = মডুলো-১০ × মডুলো-৬।

চিপ ১ (মডুলো-১০): একক মিনিটের অঙ্ক। বিসিডি মোডে সংযুক্ত (QA থেকে CKB)।

চিপ ২ (মডুলো-৬): দশক মিনিটের অঙ্ক। চিপ ১-এর QD থেকে চিপ ২-এর CKA-তে। R0(1)-এ QC, R0(2)-এ QB।

মোট ২টি ৭৪৯০ চিপ লাগবে।

১৫. তিন-স্তরের ক্যাসকেড কাউন্টারে (মডুলো-৫ × মডুলো-৮ × মডুলো-৩) মোট অবস্থা কত? বিলম্ব কত যদি প্রতিটি ফ্লিপ-ফ্লপে ১২ ns বিলম্ব থাকে?

উত্তর: মোট মডুলো: N=৫×৮×৩=১২০।

মোট বিট: মডুলো-৫ এ ৩ বিট, মডুলো-৮ এ ৩ বিট, মডুলো-৩ এ ২ বিট। মোট ৮ বিট।

সর্বোচ্চ বিলম্ব: tmax=৮×১২=৯৬ ns।

সর্বোচ্চ ক্লক গতি: fmax≈১০.৪ MHz।

১৬. একটি স্বয়ংক্রিয় মেশিন প্রতি ১ মিনিটে একটি পণ্য তৈরি করে এবং প্রতিদিন ৮ ঘণ্টা চলে। সারাদিনের উৎপাদন গণনা করতে কত বিটের কাউন্টার লাগবে?

উত্তর: ৮ ঘণ্টায় মোট মিনিট = ৮ × ৬০ = ৪৮০ মিনিট = ৪৮০ পণ্য।

সর্বোচ্চ গণনা ৪৮০, তাই বিট সংখ্যা: n=⌈log2৪৮০⌉=⌈৮.৯⌉=৯ বিট।

৯ বিটের কাউন্টার ০ থেকে ৫১১ পর্যন্ত গুনতে পারে, যা ৪৮০ গণনার জন্য যথেষ্ট।

১৭. ৭৪৯৩ চিপ দিয়ে মডুলো-১১ কাউন্টার তৈরি করো। ৭৪৯৩-এ মাত্র দুটি রিসেট পিন থাকায় বাড়তি অ্যান্ড গেট লাগবে কিনা বিশ্লেষণ করো।

উত্তর: ১১ = ১০১১ বাইনারি। রিসেট শর্ত: QD=১, QB=১, QA=১।

তিনটি শর্ত আছে, কিন্তু রিসেট পিন মাত্র দুটি। তাই একটি অ্যান্ড গেটে QB ও QA দিয়ে সেই আউটপুট R0(2)-এ এবং R0(1)-এ সরাসরি QD দাও।

যাচাই: গণনা ১১ হলে QD=১,QB=১,QA=১। R0(1) = ১, R0(2) = QB⋅QA = ১। উভয়ে ১, রিসেট হবে।

১৮. দেখাও যে একটি মডুলো-৬০ ক্যাসকেড কাউন্টার মিনিটের পরিবর্তে সরাসরি মডুলো-৬০ কাউন্টার ব্যবহার করলে কী পার্থক্য হয়।

উত্তর: মডুলো-৬০ কাউন্টার সরাসরি ০ থেকে ৫৯ পর্যন্ত বাইনারিতে গোনে। ৬ বিট দরকার।

কিন্তু ডিজিটাল ঘড়িতে দুটো আলাদা দশমিক অঙ্ক দেখাতে হয়, তাই বিসিডি পদ্ধতিতে মডুলো-১০ ও মডুলো-৬ ক্যাসকেড বেশি সুবিধাজনক।

সরাসরি মডুলো-৬০: বাইনারি থেকে দশমিক রূপান্তর ডিকোডার জটিল। ক্যাসকেড মডুলো-১০×৬: প্রতিটি অঙ্ক আলাদাভাবে বিসিডিতে পাওয়া যায়, ডিকোডার সহজ।

১৯. একটি রেডিও স্টেশন ৯৮.৪ MHz-এ সম্প্রচার করে। ৯৮.৪ MHz = ৯৮৪ × ১০০ kHz। ১০০ kHz রেফারেন্স পেতে একটি ৯.৮৪ MHz স্ফটিক থেকে কত মডুলোর বিভাজক লাগবে?

উত্তর: N=finfout=৯,৮৪০,০০০১০০,০০০=৯৮.৪

এটি পূর্ণ সংখ্যা নয়। তাই সরাসরি বিভাজন সম্ভব নয়।

বিকল্প: ৯.৮৪ MHz থেকে প্রথমে ÷৯৮.৪ না করে, ৯.৮৪ = ৯.৮৪ MHz = ৯৮৪০ kHz। ÷৯৮.৪ এর বদলে ÷৯৮৪ করলে ১০ kHz পাওয়া যায়, তারপর ÷১০ করলে ১ kHz। ফেজ লকড লুপ ব্যবহার করলে ভগ্নাংশ বিভাজন সম্ভব।

২০. প্রমাণ করো যে মডুলো-N কাউন্টার কম্পাঙ্ক N দিয়ে ভাগ করে এবং একটি মডুলো-৩ কাউন্টারের সর্বোচ্চ বিটের কর্তব্যচক্র কত?

উত্তর:

কম্পাঙ্ক বিভাজন প্রমাণ: মডুলো-N কাউন্টার প্রতি Nটি ইনপুট ক্লক স্পন্দনে একবার ঘুরে আসে। তাই আউটপুটের একটি চক্র = Nটি ইনপুট চক্র। সুতরাং:

fout=finN

মডুলো-৩ কাউন্টারের কর্তব্যচক্র: মডুলো-৩ তিনটি অবস্থায় ঘোরে: ০০, ০১, ১০।

Q1 (সর্বোচ্চ বিট) এর মান:

  • অবস্থা ০০: Q1=০
  • অবস্থা ০১: Q1=০
  • অবস্থা ১০: Q1=১

তিনটি অবস্থার মধ্যে একটিতে ১, তাই কর্তব্যচক্র = ১৩≈৩৩.৩%।

এটি ৫০% নয়, অর্থাৎ অসম কর্তব্যচক্র। যখন সমান কর্তব্যচক্র দরকার হয়, ২n মডুলো কাউন্টার বা বিশেষ সার্কিট ব্যবহার করতে হয়।

[[টেমপ্লেট:BOOKCATEGORY]]