দুটোকেই সমর্থন করে এমন কোনও এফপিজিএ-তে ফ্লিপ-ফ্লপের চেয়ে ল্যাচগুলি কখন ব্যবহার করা যায়?


20

প্রশ্নটি:

দুটোকেই সমর্থন করে এমন কোনও এফপিজিএ-তে ফ্লিপ-ফ্লপের চেয়ে ল্যাচগুলি কখন ব্যবহার করা যায়?

পটভূমি:

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

সাধারণ পরামর্শ - এমনকি এফপিজিএ বিক্রেতাদের কাছ থেকে - হ'ল ল্যাচগুলি পর্যবেক্ষণ করা, বা কখনও ল্যাচ ব্যবহার করা উচিত নয় this এই পরামর্শের জন্য খুব ভাল কারণ রয়েছে, যার বিবরণগুলি সবই সুপরিচিত। যাইহোক, বেশিরভাগ পরামর্শই কথিত হয়, "আপনি যদি না জানেন যে আপনার প্রয়োজন হয় না" তবে ল্যাচগুলি ব্যবহার করবেন না ।

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

গুরুত্বপূর্ণ তথ্য:

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


আপনি যখন কোনও FPGA ব্যবহার করছেন তখন কোনও বিদ্যমান সার্কিটের ঠিক নকল করতে যা ল্যাচগুলি ব্যবহার করে?
মাজনকো

উত্তর:


11

আপনার প্রশ্নটি মূলত "কখন আপনি জানেন যে আপনার ল্যাচগুলি দরকার?" কোনটি, আপনি যেমন ইঙ্গিত করেছেন, এটি একটি বিষয়গত প্রশ্ন। উত্তর হিসাবে সত্যের চেয়ে বেশি মতামত আশা করি। বলা হচ্ছে, এখানে আমার মতামত:

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

বিগত ১৩++ বছরে, কেবলমাত্র আমার জন্য ল্যাচ প্রয়োজন।


2
উত্তরের জন্য ধন্যবাদ. আমি মানসিকভাবে আপনার প্রতিক্রিয়াটিকে "বাধ্যতামূলক পিছনের সামঞ্জস্য" এর অধীনে ফাইল করছি যা সম্পূর্ণ যুক্তিযুক্ত বলে মনে হয়। =)
wjl

8

ফ্লিপ ফ্লপগুলি প্রায়শই ল্যাচগুলির পক্ষে পছন্দনীয় কারণ তাদের কেবলমাত্র চারটি জাতি শর্ত / সীমাবদ্ধতা রয়েছে:

  1. ডেটা ইনপুট এবং নিম্নলিখিত সক্রিয় ঘড়ির প্রান্তের পরিবর্তন এবং এর মধ্যে সেটআপের সময়
  2. একটি ঘড়ি প্রান্ত এবং ডেটা ইনপুট পরবর্তী পরিবর্তন মধ্যে সময় রাখা;
  3. সর্বনিম্ন সক্রিয় ঘড়ির নাড়ির সময়কাল;
  4. সর্বনিম্ন নিষ্ক্রিয় ঘড়ির নাড়ির সময়কাল।

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

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


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

@ সুপের্যাট ওয়েল আপনার উত্তরের কমপক্ষে দ্বিতীয় অংশে প্রশ্নের একটি প্রাসঙ্গিক উত্তর রয়েছে। =) আপনাকে ধন্যবাদ।
wjl

1
@ মাজেঙ্কো: সম্ভবত আমার উচিত ছিল "পছন্দসই" না হয়ে "ব্যবহার করা সহজ"; আমার বক্তব্যটি তর্ক করার মতো ছিল না যে যখনই সম্ভব ল্যাচগুলি এড়ানো উচিত, বরং পরামর্শ দেওয়ার জন্য যে ল্যাচ ব্যবহার করে এমন কাউকে জটিলতা সম্পর্কে সচেতন হওয়া দরকার।
সুপারক্যাট

@ সুপের্যাট, আপনি কি দয়া করে একটি সংক্ষিপ্ত তরঙ্গদৈর্ঘ্য দিয়ে উদাহরণটি পরিষ্কার করতে পারেন?
ফিলিপ

1

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

মূল সমস্যাটি হ'ল ল্যাচটি একটি অ্যাসিনক্রোনাস ব্লক। সুতরাং আপনাকে অবশ্যই নিশ্চিত করতে হবে যে ল্যাচটির জন্য ইনপুট সিগন্যাল তৈরি করে এমন সম্মিলিত ফাংশনগুলি রেস- ফ্রি। তা না হলে তারা জেনারেট করতে পারেন এবং glitches , যা পিছেই করা যেতে পারে, যার ফলে বিপদ আপনার সিস্টেমে।

দৌড় এড়ানোর জন্য, আপনাকে এই কম্বিনেশনাল ফাংশনটি একটি বিশেষ হ্রাসকারী পদ্ধতিতে প্রয়োগ করতে হবে। দুর্ভাগ্যক্রমে (এই বিশেষ ক্ষেত্রে ;-), অন্যথায় এটি খুব ভাল সম্পত্তি) এফপিজিএ সংশ্লেষের সরঞ্জামগুলি সমস্ত অপ্রয়োজনীয়তা অপসারণ করে আপনার নকশাকে অনুকূলিত করে। সুতরাং আপনি যদি এফপিজিএতে একটি ল্যাচ বাস্তবায়ন করতে চান তবে আপনাকে এটি "হাতে" প্রয়োগ করতে হবে এবং অপ্টিমাইজেশান থেকে রক্ষা করতে হবে (যেমন ভিএইচডিএলে আপনাকে আপনার ল্যাচটিতে অভ্যন্তরীণভাবে ব্যবহৃত সংকেতের জন্য "সত্য" থেকে "সত্য" থেকে অ্যাট্রিবিউট সেট করতে হবে) ।


-1 ওপি বিশেষভাবে যখন আপনি সম্পর্কে জিজ্ঞাসা করা উচিত Latches ব্যবহার করুন, এবং বিশেষভাবে জিজ্ঞাসা পাঠকদের না আরো যে কারণে Latches দিতে করা উচিত নয় ব্যবহৃত হবে না।
জো হ্যাস

-1

টাইমিংয়ের ক্ষেত্রে:

যদি আমরা কোনও ডিজাইনে ফ্লিপ ফ্লপ ব্যবহার করি তবে কর্মক্ষমতা দীর্ঘতম সম্মিলিত পথে বিলম্বের উপর নির্ভর করে।

যদি আমরা ফ্লিপ ফ্লপের জায়গায় লেচগুলি ব্যবহার করি তবে আমরা পরবর্তী পর্যায়ে সংক্ষিপ্ত পথে বিলম্ব থেকে সময় ধার করে দীর্ঘতম কম্বো পাথ বিলম্বকে ক্ষতিপূরণ দিতে পারি। এটির সাহায্যে আমরা বিলম্ব হ্রাস করতে পারি এবং ডিজাইনের কার্যকারিতা বাড়িয়ে তুলতে পারি।


3
-1। এটি একটি বহু চক্রের সীমাবদ্ধতার সাথে সঠিকভাবে বিশ্লেষণ করা ভাল এবং "অ্যাসিঙ্ক" অংশটি দুটি চক্রের উপর দিয়ে চলার অনুমতি দেয়। উদাহরণস্বরূপ দেখুন altera.co.uk/literature/hb/qts/qts_qii53018.pdf
shuckc
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.