কম্পিউটার টিউটোরিয়াল

C++-এ ফ্লিপ-ফ্লপের প্রকার ও রূপান্তর


ফ্লিপ-ফ্লপ হলো সিকুয়েনশিয়াল ডিজিটাল সার্কিট। ফ্লিপ-ফ্লপের বেশ কিছু প্রকার রয়েছে। এখানে আমরা ফ্লিপ-ফ্লপের প্রকারগুলো এবং একটি ফ্লিপ-ফ্লপ থেকে অন্য একটিয় রূপান্তরের নিয়মগুলো দেখব।

মূলত চার ধরনের ফ্লিপ-ফ্লপ রয়েছে:

  • SR ফ্লিপ-ফ্লপ
  • D ফ্লিপ-ফ্লপ
  • JK ফ্লিপ-ফ্লপ
  • T ফ্লিপ-ফ্লপ

SR ফ্লিপ-ফ্লপ

SR ফ্লিপ-ফ্লপ শুধুমাত্র পজিটিভ ক্লক ট্রানজিশন বা 네가টিভ ক্লক ট্রানজিশনে কাজ করে। আর SR ল্যাচ ইনেবল সিগন্যালে কাজ করে। SR ফ্লিপ-ফ্লপের সার্কিট ডায়াগ্রাম নিচে দেওয়া হলো:

C++-এ ফ্লিপ-ফ্লপের প্রকার ও রূপান্তর

এই সার্কিটের দুটি ইনপুট S এবং R এবং দুটি আউটপুট Q(t) এবং Q(t)’。 SR ফ্লিপ-ফ্লপের অপারেশন SR ল্যাচের মতই। কিন্তু এই ফ্লিপ-ফ্লপ আউটপুটকে শুধু তখনই প্রভাবিত করে যখন ক্লক সিগন্যালের পজিটিভ ট্রানজিশন ঘটে, ইনেবল সিগন্যালের পরিবর্তে।

C++-এ ফ্লিপ-ফ্লপের প্রকার ও রূপান্তর

D ফ্লিপ-ফ্লপ

D ফ্লিপ-ফ্লপও শুধুমাত্র পজিটিভ বা 네가টিভ ক্লক ট্রানজিশনে কাজ করে। D ল্যাচ ইনেবল সিগন্যালে কাজ করে। অর্থাৎ D ফ্লিপ-ফ্লপের আউটপুট ইনপুট D-এর পরিবর্তনને বিবেচনা করে না, ক্লক সিগন্যালের একটিভ ট্রানজিশন ছাড়া। D ফ্লিপ-ফ্লপের সার্কিট ডায়াগ্রাম:

C++-এ ফ্লিপ-ফ্লপের প্রকার ও রূপান্তর

এই সার্কিটের একক ইনপুট D এবং দুটি আউটপুট Q(t) এবং Q(t)’。 D ফ্লিপ-ফ্লপের অপারেশন D ল্যাচের মত, কিন্তু ক্লক ট্রানজিশনে আউটপুট পরিবর্তিত হয়।

C++-এ ফ্লিপ-ফ্লপের প্রকার ও রূপান্তর

JK ফ্লিপ-ফ্লপ

JK ফ্লিপ-ফ্লপ SR ফ্লিপ-ফ্লপের সংশোধিত সংস্করণ। এটি পজিটিভ বা 네가টিভ ক্লক ট্রানজিশনে কাজ করে। JK ফ্লিপ-ফ্লপের সার্কিট ডায়াগ্রাম:

C++-এ ফ্লিপ-ফ্লপের প্রকার ও রূপান্তর

দুই ইনপুট J এবং K এবং দুটি আউটপুট Q(t) এবং Q(t)’。 JK ফ্লিপ-ফ্লপের অপারেশন SR ফ্লিপ-ফ্লপের মত। এখানে SR ফ্লিপ-ফ্লপের ইনপুটগুলো S = J Q(t)’ এবং R = KQ(t) ধরা হয়েছে যাতে ৪টি ইনপুট কম্বিনেশনের জন্য ব্যবহার করা যায়।

C++-এ ফ্লিপ-ফ্লপের প্রকার ও রূপান্তর

T ফ্লিপ-ফ্লপ

T ফ্লিপ-ফ্লপ JK ফ্লিপ-ফ্লপের সরলীকৃত সংস্করণ। এটি JK ফ্লিপ-ফ্লপের দুটি ইনপুটে একই ইনপুট 'T' সংযুক্ত করে প্রাপ্ত হয়। এটি পজিটিভ বা 네가টিভ ক্লক ট্রানজিশনে কাজ করে। T ফ্লিপ-ফ্লপের সার্কিট ডায়াগ্রাম নিচে:

C++-এ ফ্লিপ-ফ্লপের প্রকার ও রূপান্তর

একক ইনপুট T এবং দুটি আউটপুট Q(t) এবং Q(t)’。 T ফ্লিপ-ফ্লপের অপারেশন JK ফ্লিপ-ফ্লপের মত। JK ফ্লিপ-ফ্লপের ইনপুট J = T এবং K = T ধরা হয়েছে। তাই T ফ্লিপ-ফ্লপে J এবং K-এর অন্যান্য দুটি কম্বিনেশন বাদ পড়ে।

C++-এ ফ্লিপ-ফ্লপের প্রকার ও রূপান্তর

ফ্লিপ-ফ্লপ রূপান্তর

এখন আমরা দেখব কিভাবে একটি ফ্লিপ-ফ্লপ থেকে অন্য একটিয় রূপান্তর করা যায়। প্রথমে সব ফ্লিপ-ফ্লপের এক্সাইটেশন টেবিল দেখব।

C++-এ ফ্লিপ-ফ্লপের প্রকার ও রূপান্তর

SR ফ্লিপ-ফ্লপ থেকে D ফ্লিপ-ফ্লপ

দেওয়া ফ্লিপ-ফ্লপ SR, কাঙ্ক্ষিত D। তাই D ফ্লিপ-ফ্লপের চ্যারাক্টারিস্টিক টেবিল বিবেচনা করুন।

C++-এ ফ্লিপ-ফ্লপের প্রকার ও রূপান্তর

SR ফ্লিপ-ফ্লপের দুটি ইনপুট S এবং R। প্রেজেন্ট স্টেট এবং নেক্সট স্টেটের প্রতিটি কম্বিনেশনের জন্য SR-এর এক্সাইটেশন ভ্যালু লিখুন। নিচের টেবিলে D ফ্লিপ-ফ্লপের চ্যারাক্টারিস্টিক টেবিল সাথে SR-এর এক্সাইটেশন ইনপুট দেখানো হলো।

C++-এ ফ্লিপ-ফ্লপের প্রকার ও রূপান্তর

S এবং R-এর জন্য সরলীকৃত এক্সপ্রেশন পেতে ২ ভেরিয়েবল K-Map ব্যবহার করা যাবে। S এবং R-এর K-Map নিচে:

C++-এ ফ্লিপ-ফ্লপের প্রকার ও রূপান্তর

সরলীকরণের পর পাওয়া গেলো S = D এবং R = D'। D ফ্লিপ-ফ্লপের সার্কিট ডায়াগ্রাম:

C++-এ ফ্লিপ-ফ্লপের প্রকার ও রূপান্তর

এই সার্কিটে একটি SR ফ্লিপ-ফ্লপ এবং একটি ইনভার্টার রয়েছে। ইনভার্টারটি ইনপুট D-এর কমপ্লিমেন্ট আউটপুট দেয়। তাই সামগ্রিক সার্কিটে একক ইনপুট D এবং দুটি আউটপুট Q(t) এবং Q(t)' রয়েছে। অতএব এটি একটি D ফ্লিপ-ফ্লপ। অন্য রূপান্তরগুলোও একইভাবে করা যায়।

D ফ্লিপ-ফ্লপ থেকে T ফ্লিপ-ফ্লপ

দেওয়া D, কাঙ্ক্ষিত T। T ফ্লিপ-ফ্লপের চ্যারাক্টারিস্টিক টেবিল বিবেচনা করুন।

C++-এ ফ্লিপ-ফ্লপের প্রকার ও রূপান্তর

D ফ্লিপ-ফ্লপের একক ইনপুট D। প্রেজেন্ট স্টেট এবং নেক্সট স্টেটের প্রতিটি কম্বিনেশনের জন্য D-এর এক্সাইটেশন ভ্যালু লিখুন। টেবিলে T ফ্লিপ-ফ্লপের চ্যারাক্টারিস্টিক টেবিল সাথে D-এর এক্সাইটেশন ইনপুট দেখানো হলো।

C++-এ ফ্লিপ-ফ্লপের প্রকার ও রূপান্তর

উপরের টেবিল থেকে D-এর বুলিয়ান ফাংশন সরাসরি লেখা যায়। তাই D ফ্লিপ-ফ্লপের সাথে একটি ২-ইনপুট এক্সক্লুসিভ-OR গেট দরকার। T ফ্লিপ-ফ্লপের সার্কিট ডায়াগ্রাম:

C++-এ ফ্লিপ-ফ্লপের প্রকার ও রূপান্তর

এই সার্কিটে একটি D ফ্লিপ-ফ্লপ এবং একটি এক্সক্লুসিভ-OR গেট রয়েছে। এক্স-OR গেটটি T এবং Q(t)-এর এক্স-OR আউটপুট দেয়। সামগ্রিক সার্কিটে একক ইনপুট T এবং দুটি আউটপুট Q(t) এবং Q(t)' রয়েছে। অতএব এটি একটি T ফ্লিপ-ফ্লপ।

JK ফ্লিপ-ফ্লপ থেকে T ফ্লিপ-ফ্লপ

দেওয়া JK, কাঙ্ক্ষিত T। T ফ্লিপ-ফ্লপের চ্যারাক্টারিস্টিক টেবিল বিবেচনা করুন।

C++-এ ফ্লিপ-ফ্লপের প্রকার ও রূপান্তর

JK ফ্লিপ-ফ্লপের দুটি ইনপুট J এবং K। প্রেজেন্ট স্টেট এবং নেক্সট স্টেটের প্রতিটি কম্বিনেশনের জন্য JK-এর এক্সাইটেশন ভ্যালু লিখুন। টেবিলে T ফ্লিপ-ফ্লপের চ্যারাক্টারিস্টিক টেবিল সাথে JK-এর এক্সাইটেশন ইনপুট দেখানো হলো।

C++-এ ফ্লিপ-ফ্লপের প্রকার ও রূপান্তর

J এবং K-এর সরলীকৃত এক্সপ্রেশন পেতে ২ ভেরিয়েবল K-Map ব্যবহার করা যাবে। J এবং K-এর K-Map নিচে:

C++-এ ফ্লিপ-ফ্লপের প্রকার ও রূপান্তর

সরলীকরণের পর পাওয়া গেলো J = T এবং K = T। T ফ্লিপ-ফ্লপের সার্কিট ডায়াগ্রাম:

C++-এ ফ্লিপ-ফ্লপের প্রকার ও রূপান্তর

এই সার্কিটে শুধু JK ফ্লিপ-ফ্লপ রয়েছে, কোনো অতিরিক্ত গেট দরকার নেই। একই ইনপুট T কে J এবং K-दভূতে সংযুক্ত করলেই হবে। সামগ্রিক সার্কিটে একক ইনপুট T এবং দুটি আউটপুট Q(t) এবং Q(t)' রয়েছে। অতএব এটি একটি T ফ্লিপ-ফ্লপ।

T ফ্লিপ-ফ্লপ থেকে D ফ্লিপ-ফ্লপ

দেওয়া T, কাঙ্ক্ষিত D। D ফ্লিপ-ফ্লপের চ্যারাক্টারিস্টিক টেবিল বিবেচনা করে T ফ্লিপ-ফ্লপের এক্সাইটেশন ভ্যালু লিখুন। টেবিলে D ফ্লিপ-ফ্লপের চ্যারাক্টারিস্টিক টেবিল সাথে T-এর এক্সাইটেশন ইনপুট দেখানো হলো।

C++-এ ফ্লিপ-ফ্লপের প্রকার ও রূপান্তর

তাই T ফ্লিপ-ফ্লপের সাথে একটি ২-ইনপুট এক্সক্লুসিভ-OR গেট দরকার। D ফ্লিপ-ফ্লপের সার্কিট ডায়াগ্রাম:

C++-এ ফ্লিপ-ফ্লপের প্রকার ও রূপান্তর

এই সার্কিটে একটি T ফ্লিপ-ফ্লপ এবং একটি এক্সক্লুসিভ-OR গেট রয়েছে। এক্স-OR গেটটি D এবং Q(t)-এর এক্স-OR আউটপুট দেয়। সামগ্রিক সার্কিটে একক ইনপুট D এবং দুটি আউটপুট Q(t) এবং Q(t)' রয়েছে। অতএব এটি একটি D ফ্লিপ-ফ্লপ। অন্য রূপান্তরগুলোও একইভাবে করা যায়।


  1. C++-এ delete() এবং free()

  2. C++-এ ভেরিয়েবল, তাদের টাইপ এবং স্কোপ

  3. C++-এ ভেরিয়েবল এবং ভেরিয়েবলের টাইপগুলো কী?

  4. পাইথন ডেটা টাইপ ও কনভারশন মাস্টার করুন: একটি প্র্যাকটিক্যাল গাইড