تماس با ما

هرگونه پیشنهاد و انتقاد خود را با ما در میان بگذارید

فرض کنید که یه مدار منطقی غیر همزمان دارید که دو تا مسیر پسخورد داره، حالا فرض کنید که با یک تغییر در ورودی مدار، مقدار منطقی هردو مسیر پسخورد تغییر کنه مثلا هر دو از 0 به 1 بره یا برعکس، در این وضعیت میگیم مدار رقابت (race) داره و این رقابت میتونه مشکل ساز بشه، میگید چطور؟ ادامه رو بخونید تا متوجه بشید!

 اول یه نگاه به مدارتون بندارید:

Y1 و Y2 دو تا تابع منطقیه که از خروجی گیت ها به  ورودی اونا متصله، خب حالا فرض کنید که بخشی از جدول گذر مدار شما این شکلیه:

اگه فرض کنیم که در حالتی هستیم که ab=01 و Y1Y2=00 از جدول گذر پیداس که مدار در حالت پایدار قرار داره، حالا وقتی ورودی b از 1 به 0 تغییر کنه هر دو مسیر پسخورد از 0 به 1 میرن (ردیف اول جدول رو ببینید) ما در طراحی مدارهای آسنکرون فرض میکنیم که فاصله زمانی تغییر در ورودی ها از یه حدی کمتر نیست و اینو خودمون باید رعایت کنیم (به عبارت دیگه دو تا ورودی رو همزمان تغییر نمیدیم). اما در مورد مسیرهای پسخورد دست خودمون نیست که این کار رو بکنیم مثل همین مداری که جدول گذرش رو گذاشتم!

می بینید که هر دو مسیر پسخورد که مجدد به مدار وارد میشن به طور همزمان تغییر میکنن. البته کاملا هم همزمان نیست و ممکنه تعداد گیت های در مسیر تولید y1 با y2 تفاوت داشته باشه ( دیگه بدتر!!)

در جدول پیداس که اگه y1 و y2 همزمان 1 بشن مدار به حالت پایدار abY1Y2=0011 میرسه (سطر 3 ستون اول رو ببینید که دایره داره)

اما حالا فرض کنید که اول y1 از 0 به 1 بره و y2 به دلیل اینکه تعداد بیشتری گیت در مسیرش هست هنوز در 0 باشه:

در شکل پیداست که مدار به جای اینکه به حالت 11 بره به حالت 10 میره چون مسیر های پسخورد برای چند لحظه به حالت 10 میرن و این حالت یه حالت پایداره، مدار در همون حالت باقی میمونه!

برعکس اگه اول y2 از 0 به 1 بره (بر طبق ردیف دوم از جدول گذر) مدار به حالت ناپایداری میره که میخاد پسخورد ها رو 11 کنه که همون چیزیه که مد نظر ماست.

در اینجا برحسب اینکه کدامیک از متغیر های پسخورد زودتر تغییر میکنه نتیجه متفاوته و در این حالت میگیم که مدار رقابت بحرانی داره.

یه رقابت دیگه هم داریم که بهش میگن رقابت غیر بحرانی، اگه نتیجه رقابت همیشه یکی باشه مثلا اگه جدول گذر این شکلی باشه :

اون وقت میگیم رقابت غیر بحرانیه که مشکلی به وجود نمیاره.

فقط یه سوال پیش میاد: چطوری میشه از رقابت های بحرانی اجتناب کرد؟خب کسی که داره مدار رو طراحی میکنه باید حواسش به این مطلب هم باشه چون معمولا طراح مدار وظیفه داره به حالت های مختلف اعداد دودویی نسبت بده!

جواب این سوال رو میتونید در مثال طراحی ببینید (کلیک کیند)