একটি "ল্যাচ" একটি "ফ্লিপ-ফ্লপ" থেকে পৃথক যে কোনও এফএফ কেবল একটি ঘড়ির প্রান্তের প্রতিক্রিয়া হিসাবে তার আউটপুট পরিবর্তন করে। একটি ল্যাচ একটি ঘড়ি বাদে অন্য কোনও কিছুর প্রতিক্রিয়া হিসাবে এর আউটপুট পরিবর্তন করতে পারে। উদাহরণস্বরূপ, একটি এসআর-ল্যাচের একটি সেট এবং একটি রিসেট ইনপুট রয়েছে এবং সেগুলির মধ্যে দুটি যদি সক্রিয় থাকে তবে আউটপুট পরিবর্তন হতে পারে। যেখানে একটি এসআর-এফএফ কেবল কোনও সেটকে প্রতিক্রিয়া জানায় বা একটি ঘড়ির প্রান্ত উপস্থিত থাকলে পুনরায় সেট করুন।
একটি এফপিজিএতে, আপনি চান আপনার যুক্তি পুরোপুরি সুসংগত হোক। এর অর্থ হ'ল সমস্ত স্টোরেজ উপাদান (যেমন এফএফ এর) সমস্তগুলি একক ঘড়ির উত্স থেকে আটকানো। সেই ঘড়ির জন্য অবিচ্ছিন্ন যে কোনও কিছু খুব সতর্কতার সাথে চিকিত্সা করা দরকার অন্যথায় সময় ত্রুটি ঘটবে।
একটি ল্যাচ মূলত একটি অ্যাসিনক্রোনাস স্টোরেজ উপাদান। এটির কোনও ঘড়ির ইনপুট নেই এবং সুতরাং এটি কোনও ঘড়ির সাথে সিঙ্ক্রোনাইজ করা যায় না। আমার লক্ষ করা উচিত যে অ্যাসিনক্রোনাস রিসেট এবং রিসেট ইনপুট সহ এফএফ রয়েছে এবং এগুলি স্বাভাবিক ল্যাচগুলির মতো একই যত্নের সাথে চিকিত্সা করা উচিত।
ল্যাচগুলি যে সময়সীমার কারণ হতে পারে তার সবগুলিতে প্রবেশ করা এখানে ingেকে দেওয়া যায় না তার চেয়ে বেশি উপায়, তবে আমি আপনাকে একটি উদাহরণ দিই:
ধরা যাক যে আপনার কাছে একটি এসআর-লিচ রয়েছে এবং আপনি প্রতিবার একটি 8-বিট কাউন্টার একটি নির্দিষ্ট মান পৌঁছানোর জন্য সেট করে রাখতে চান। আমি ভেরিলোগ কোডটি কী হবে তা নিশ্চিত নই, তবে ভিএইচডিএলে কোডটি রয়েছে: <= '1' সেট করুন যখন গণনা = "11010010" অন্য '0'; সেট সেট সিগন্যালটি আমাদের এসআর-ল্যাচের সেট ইনপুটটিতে যায়।
যে যুক্তিটি উত্পন্ন হয় তা নিছক সংমিশ্রণমূলক; এবং-গেটস, বা গেটস এবং ইনভার্টারগুলির (বা এলইউটি) মিশ্রণ। তবে এই সংযুক্তি যুক্তির মাধ্যমে সংকেত পাথগুলি সর্বদা নিখুঁত হয় না এবং "সেট" সিগন্যালে এতে বিভ্রান্তি থাকতে পারে। নির্দিষ্ট গ্রুপের গেটগুলির মধ্য দিয়ে সিগন্যাল পথটি অন্য গোষ্ঠীর চেয়ে বেশি সময় নিতে পারে, ফলে আউটপুট চূড়ান্ত অবস্থায় চলে যাওয়ার আগে সংক্ষিপ্ত মুহুর্তের জন্য সেট আউটপুট সক্রিয় হয়ে যায়।
এই আউটপুট সমস্যাটি আমাদের এসআর-ল্যাচ সেট করার কারণ হতে পারে, যদিও এটি না করা উচিত ছিল। যদি আমরা একটি এসআর-ল্যাচ থেকে কোনও এসআর-এফএফ-তে স্যুইচ করি, কাউন্টারটি একই ঘড়িটি বন্ধ করে রাখে, তবে রাষ্ট্র পরিবর্তন করার আগে এসআর-এফএফ পুরো ঘড়ির চক্রটির জন্য অপেক্ষা করবে। সংক্ষেপে এটি সেট সংকেতটি দেখার আগে এটি স্থির হওয়ার জন্য অপেক্ষা করবে।
সেট সংকেতের জন্য যদি সংযোজক যুক্তির মাধ্যমে পাথগুলি কেবল আলাদাভাবে আলাদা করা হয় (বিভিন্ন বিলম্বের কারণ হয়), তবে গ্লচ আচরণটিও পরিবর্তিত হবে। লজিকটি ঠিকঠাক কাজ করতে পারে তবে তারপরে আপনি সম্পূর্ণরূপে সম্পর্কিত নয় এমন কিছু পরিবর্তন করেছেন কারণ এই যুক্তিটি অন্যভাবে আলাদা করা হয়েছে এবং তাই বাগটি পপ আপ হয়। তাপমাত্রা এবং ভোল্টেজ সিগন্যালের সময়কেও বদলে দেবে, এবং এইভাবে ভুলের আচরণ পরিবর্তন করতে পারে।
সময়মত এটি অনিশ্চিতভাবে হ'ল আপনার যুক্তিতে ল্যাচগুলি এড়ানো উচিত। এফএফ ব্যবহার করা অনেক বেশি নিরাপদ। এই কারণেই আপনার সংকলকটি আপনাকে ল্যাচ সম্পর্কে সতর্ক করে দিচ্ছে, যেহেতু ভুল করে একটি ল্যাচ তৈরি করা সহজ এবং আপনি সম্ভবত এটি সেখানে চান না।
অবশ্যই, কখনও কখনও ল্যাচগুলির প্রয়োজন হয়। এগুলি আপনাকে খুব কমই ব্যবহার করতে হবে, কেবল যখন একেবারে প্রয়োজন হয়, এবং তারপরে আপনাকে অবশ্যই লজিকটি ডিজাইন করতে হবে যাতে কোনও সমস্যা নেই।