
আমাদের প্রায়ই সার্কিটে কোন একটি মানকে সংরক্ষণ করে রাখার প্রয়োজন পড়ে যাকে আমরা মেমরি বলে থাকি। কম্পিউটার তার রেজিস্টারের মধ্যে সকল কিছু বাইনারীতে সংরক্ষণ করে। আবার প্রতিটি বিট সংরক্ষণ করে রেজিস্টারে থাকা এক একটি ফ্লিপ-ফ্লপ (Flip-Flop), যা মূলত রেজিস্টারের মৌলিক উপাদান। অর্থাৎ রেজিস্টার তৈরী হয় কতগুলো ফ্লিপ-ফ্লপের সমন্বয়ে। আর এই ফ্লিপ-ফ্লপ বুঝতে হলে আমাদের জানা প্রয়োজন ল্যাচ (Latch) সম্পর্কে।
ইংরেজী শব্দ ‘Latch’ এর অর্থ দরজার ছিটকিনি। অপরদিকে S ও R যথাক্রমে Set এবং Reset -কে নির্দেশ করে।
দরজার ছিটকিনি বন্ধ রেখে আমরা যেমন কোন জিনিসকে সংরক্ষণ করি তেমনি ডিজিটাল সার্কিটে কোন মান সংরক্ষণ করতে বিশেষভাবে সার্কিট ডিজাইন করা হয়। এক্ষেত্রে দুইটি ন্যান্ড (NAND) অথবা নর (NOR) গেট এমনভাবে সাজানো হয় যেন একটি গেটের আউটপুট অন্য গেটটির একটি ইনপুটের সাথে সংযুক্ত থাকে। আউটপুট (Q) -এর মান ১ করাকে বলে Set আর আউটপুট (Q) -এর মান ০ করাকে Reset বলে।
বৈশিষ্টঃ
১. মৌলিক স্টোরেজ উপাদান।
২. দুটি ইনপুট আছে R (RESET) এবং S (SET)
৩. দুটি আউটপুট Q এবং Q আছে।
৪. আউটপুটের মান বর্তমান ইনপুট ও পূর্ববর্তী আউটপুটের উপর নির্ভর করে।
৫. আউটপুট Q ও Q এর মান সমান হবেনা কারণ উভয়ই একে অপরের পরিপূরক।
৬. NOR গেটের ল্যাচকে অ্যাক্টিভ হাই ইনপুট ল্যাচও বলা হয়।
৭. NAND গেটের ল্যাচকে অ্যাক্টিভ লো ইনপুট ল্যাচও বলা হয়।
৮. আউটপুট Q=1 হলে তাকে শর্ত সেট (SET) করা বলে।
৯. আউটপুট Q=0 হলে তাকে শর্ত রিসেট (Reset) করা বলে।
গঠনঃ দুইটি NAND গেট নিম্নোক্তভাবে সাজিয়ে ল্যাচ তৈরী করা হয়।।
[ বিঃ দ্রঃ NAND ল্যাচের আউটপুট সিমুলেট করতে S ও R বাটনে ক্লিক করো ]
Inputs | Outputs | State | ||
---|---|---|---|---|
S | R | Q | Q | |
0 | 0 | 1 | 1 | Invalid |
0 | 1 | 1 | 0 | Set |
1 | 1 | 1 | 0 | Memory |
1 | 0 | 0 | 1 | Reset |
1 | 1 | 0 | 1 | Memory |
আমরা জানি, ন্যান্ড (NAND) গেটের একটি ইনপুট ০ হলেই আউটপুট নিশ্চিতভাবে ১ আসবে। তাহলে বিভিন্ন ইনপুটের জন্য ‘SR ল্যাচের’ আউটপুটের অবস্থা কেমন হয় তা বিশ্লেষণ করি।
Case 1 (S=0 ; R=0) : NAND গেটের ইনপুট ০ হওয়ায় নিশ্চিতভাবে Q=1 ও Q=1 হওয়ার কথা। কিন্তু ল্যাচের শর্ত অনুযায়ী একটির আউটপুট হতে হবে অপরটির পূরক (Complement) অর্থাৎ ল্যাচের এমন ইনপুট (S=0 ; R=0) গ্রহণযোগ্য নয়।
Case 2 (S=0 ; R=1) : ইনপুট S এর মান ০ হওয়ায় আউটপুট Q এর মান নিশ্চিতভাবে ১ হবে। আউটপুট (Q) -এর মান ১ করাকে বলে ‘Set’ করা। আবার যেহেতু এই Q এর মান অপর ন্যান্ড গেটের একটি ইনপুট তাই উক্ত গেটের ইনপুট দুইটি ১ ও ১ হওয়ার কারনে আউটপুট Q এর মান ০ হবে।
Case 3 (S=1 ; R=1) : ইনপুট S ও R উভয়ের মান 1 হওয়ায় Q কিংবা R কোনটির মান নিশ্চিতভাবে বলা সম্ভব নয়। তাই উভয় ক্ষেত্রেই আমাদের পূর্ববর্তী আউটপুট কি ছিল তা বিবেচনায় আনতে হবে। তাহলে প্রথম NAND এর ইনপুট ১ ও ০ হওয়ায় আউটপুট Q এর মান ১ হবে। অপরদিকে আরেকটি NAND এর ইনপুট ১ ও ১ হওয়ায় আউটপুট Q এর মান ০ হবে। অর্থাৎ ল্যাচের ইনপুট S=1 ও R=1 এর জন্য Q ও Q এর মানের কোন পরিবর্তন হয়নি। ইনপুটের মান পরিবর্নের পরেও আউটপুটের মান পরিবর্তন না হওয়ায় একে মেমোরি স্টেট বা অবস্থা বলে।
Case 4 (S=1 ; R=0) : ইনপুট R এর মান ০ হওয়ায় আউটপুট Q এর মান নিশ্চিতভাবে ১ হবে। আবার যেহেতু এই Q এর মান অপর ন্যান্ড গেটের একটি ইনপুট তাই উক্ত গেটের ইনপুট দুইটি ১ ও ১ হওয়ার কারনে আউটপুট Q এর মান ০ হবে। আউটপুট (Q) -এর মান ০ করাকে বলে ‘Reset‘ করা।
Case 5 (S=1 ; R=1) : Case 3 থেকে আমরা জেনেছি ইনপুট S ও R উভয়ের মান 1 করলে আউটপুট Q ও Q -এর মানের কোন পরিবর্তন হয়না অর্থাৎ মেমোরি স্টেট বা অবস্থাপ্রাপ্ত হয়। এক্ষেত্রে আউটপুট Q ও Q -এর মান যথাক্রমে ০ ও ১ থেকে যায় যা Case 4 এর অনুরূপ।