در این ویدئوی آموزشی به حل یک نمونه سؤال امتحانی از مبحث طراحی مدارهای ترتیبی خواهیم پرداخت.
کیفیت فیلم بصورت پیش فرض بر روی حالت low تنظیم شده است و شما می توانید با استفاده از گزینه HD، این آموزش را با بالاترین کیفیت مشاهده نمایید.
شما می توانید با استفاده از گزینه “متن فیلم”، متن مربوط به حل سوال را مشاهده کنید.
//******************************************************************************************************************************************//
پیشنهاد می شود قبل از مشاهده این آموزش، مروری بر مباحث مدارهای ترتیبی داشته باشید. انتظار می رود پس از حل این سوال، شما تسلط مناسبی بر مباحث مطرح شده در این آموزش پیدا کنید.
صورت سوال از این قرار است : یک ماشین تشخیص رشته از نوع مور طراحی کنید که هنگامی که توالی ۰۱۱۰ را در ورودی A مشاهده می کند، ۱ را به عنوان خروجی w باز گرداند. این مدار را با استفاده از فلیپ فلاپ نوع D و ورودی باز نشانی غیر همزمان طراحی کنید. همچنین پس از طراحی مدار، حالات بی اهمیت را پیدا کرده و آنها را در دیاگرام حالت نشان دهید.
پیشنهاد می شود قبل از مشاهده جواب سوال، ابتدا سوال را حل کرده و سپس مراحل حل و راه حل نهایی در این آموزش مشاهده شود. به عنوان مثال، با مشاهده ورودی رو به رو، خروجی زیر تولید خواهد شد. همانطور که مشخص است خروجی هنگامی که در ورودی دنباله ۰۱۱۰ ظاهر شود، ۱ می شود و در بقیه موارد صفر خواهد بود.
جهت حل سوال ابتدا دیاگرام حالت مسئله را رسم می کنیم. اولین مرحله است که با توجه به ماهیت رشته درخواستی، در این مرحله باید ۰ در ورودی مشاهده شود تا بتوانیم به مرحله بعدی برویم و اگر ۱ در ورودی مشاهده شد، مادامی که صفر مشاهده شود، در این مرحله می مانیم، و همانطور که گفته شد در صورتی که صفر در ورودی مشاهده شود، به مرحله بعدی خواهیم رفت.
همانطور که می دانیم خروجی مراحل ماشین مور وابسته به ورودی نیست و با توجه به اینکه رشته مورد نظر در این مرحله دیده نمی شود، پس خروجی برابر با صفر خواهد بود. در مرحله بعد، باید در ورودی ۱ مشاهده شود و به شرطی که بدانیم که قبل از آن ۰ در ورودی دیده شده است. پس اگر در ورودی صفر دیده شود در همین مرحله باقی خواهیم ماند.
و در صورتی که ۱ مشاهده شود، به مرحله بعدی خواهیم رفت و همانطور که قبلا گفته شد، بخاطر اینکه در این مرحله هم دنباله موردنظر دیده نمی شود، خروجی این مرحله نیز صفر خواهد بود.
در مرحله نیز، برای رفتن به مرحله بعد باید ۱ در ورودی دیده شود اما در صورتی که صفر دیده شود، باید به مرحله ای رفت که انتظار می رود ورودی دیده شده تا آن لحظه در آن مرحله ۰ یا ۱۰ و یا ۰۱۰ باشد. همانطور که در دیاگرام مشاهده می شود در حالت ما انتظار داریم که ۱ ببینیم به شرطی که حالت قبلی صفر باشد، پس می توانیم با دیدن صفر در حالت به حالت برویم و همانطور که گفته شد، در این مرحله با دیدن ۱ در ورودی به مرحله بعد خواهیم رفت. خروجی این مرحله نیز به مانند مراحل قبل صفر خواهد بود.
هنگامی که به حالت می رسیم می بایست دنباله ۰۱۱ در ورودی دیده شده باشد و ما در این مرحله انتظار داریم که آخرین ورودی دنباله مورد نظر یعنی صفر را در خروجی تشخیص دهیم تا دیاگرام حالت بتواند به مرحله بعد برود و در صورتی که در ورودی ۱ را تشخیص دهیم می بایست به مرحله ای برویم که در آن مرحله انتظار می رود دنباله ۱ یا ۱۱ یا ۱۱۱ و یا ۰۱۱۱ در ورودی دیده شده باشد. با نگاهی به دیاگرام حالت متوجه می شویم که در هیچ مرحله چنین دنباله ای تشخیص داده نمی شود، بنابراین با دیدن ۱ در حالت می بایست به حالت که حالت ابتدایی تشخیص دنباله مورد نظر است، برگردیم.
و با دیدن ۰ در حالت می توانیم به حالت بعدی برویم. به این دلیل خروجی حالت صفر می باشد که در این حالت ما انتظار دیدن دنباله ۰۱۱ که در مراحل تا تشخیص داده شده اند را داریم و دنباله اصلی در حالت بعدی تشخیص داده می شود. به بیان دیگر، در هر حالت دنباله ای از ورودی های دیده شده در مراحل قبل تشخیص داده خواهد شد و در نهایت در حالت ما می توانیم دنباله ۰۱۱۰ را تشخیص دهیم و به همین خاطر خروجی این حالت ۱ خواهد شد.
در اگر ما ۱ را در ورودی مشاهده کنیم، به مانند قبل باید به حالتی باز گردیم که یک زیر مجموعه از ورودی های تا به حال دیده شده تشخیص داده شود که همانطور که مشخص است در حالت s2 دنباله ۰۱ تشخیص داده می شود، بنابراین با دیدن ۱ در به حالت باز خواهیم گشت و همانند قبل، در صورتی که ۰ در خروجی مشاهده شود، به حالت خواهیم رفت.
پس از رسم دیاگرام حالت مسئله، جدول حالت را رسم می کنیم و سپس آن را به حالت دودویی تبدیل خواهیم کرد. در این جدول حالت فعلی با a، b و c، حالات بعدی با ، و ، ورودی ها با x و خروجی با y مشخص شده است. با توجه به اینکه از ما خواسته شده مدار را با استفاده از فلیپ فلاپ D طراحی کنیم، به همین خاطر حالات بعدی به عنوان ورودی های فلیپ فلاپ ها در نظر گرفته خواهد شد که با توجه به اینکه از s0 تا s4، ۵ حالت می شود، بنابراین ما ۳ فلیپ فلاپ خواهیم داشت.
جدول حالت برای فلیپ فلاپ بصورت رو به رو می شود. همانطور که مشاهده می شود، حالات ۱۰۱، ۱۱۰ و ۱۱۱ حالات بی اهمیت می باشند پس در جدول کارنو این خانه ها را به عنوان حالات بی اهمیت در نظر خواهیم گرفت. با گروه بندی ورودی ها در جدول کارنو و با استفاده از حالات بی اهمیت، معادله حالت بصورت رو به رو می شود.
در ادامه می توانید جدول کارنو و معادله بدست آمده از آن را برای ، و y مشاهده کنید. در انتها با استفاده از معادلات بدست آمده می توانیم مدار خواسته شده را رسم کنیم.
همانطور که قبلا گفته شد ۱۰۱، ۱۱۰ و ۱۱۱ در این مدار جز حالات بی اهمیت هستند. برای نشان دادن حالت بعدی مدار بعد از اعمال این حالات، یک به یک به بررسی این حالت ها می پردازیم. در صورتی که حالت ۱۰۱ را به مدار اعمال کنیم، با ورودی x=0 مقادیر ، و بصورت ۰۰۱ مقابل خواهند بود. بنابراین در با دیدن صفر در ورودی به حالت ۰۰۱ یا همان خواهیم رفت.
در ادامه می توانید حالات بی اهمیت و حالت های بعدی آن ها را در دیاگرام حالت مشاهده نمایید. همچنین همانطور که مشخص است خروجی این حالات صفر می شود.