طراحی مدار ترتیبی همزمان – نمونه سوال امتحانی ۲

در این ویدئوی آموزشی به حل یک نمونه سؤال امتحانی از مبحث طراحی مدارهای ترتیبی خواهیم پرداخت.

کیفیت فیلم بصورت پیش فرض بر روی حالت low تنظیم شده است و شما می توانید با استفاده از گزینه HD، این آموزش را با بالاترین کیفیت مشاهده نمایید.

شما می توانید با استفاده از گزینه “متن فیلم”، متن مربوط به حل سوال را مشاهده کنید.

//******************************************************************************************************************************************//

پیشنهاد می شود قبل از مشاهده این آموزش، مروری بر مباحث مدارهای ترتیبی داشته باشید. انتظار می رود پس از حل این سوال، شما تسلط مناسبی بر مباحث مطرح شده در این آموزش پیدا کنید.

صورت سوال از این قرار است : یک ماشین تشخیص رشته از نوع مور طراحی کنید که هنگامی که توالی ۰۱۱۰ را در ورودی A مشاهده می کند، ۱ را به عنوان خروجی w باز گرداند. این مدار را با استفاده از فلیپ فلاپ نوع D و ورودی باز نشانی غیر همزمان طراحی کنید. همچنین پس از طراحی مدار، حالات بی اهمیت را پیدا کرده و آنها را در دیاگرام حالت نشان دهید.

پیشنهاد می شود قبل از مشاهده جواب سوال، ابتدا سوال را حل کرده و سپس مراحل حل و راه حل نهایی در این آموزش مشاهده شود. به عنوان مثال، با مشاهده ورودی رو به رو، خروجی زیر تولید خواهد شد. همانطور که مشخص است خروجی هنگامی که در ورودی دنباله ۰۱۱۰ ظاهر شود، ۱ می شود و در بقیه موارد صفر خواهد بود.

جهت حل سوال ابتدا دیاگرام حالت مسئله را رسم می کنیم. اولین مرحله \inline s_0 است که با توجه به ماهیت رشته درخواستی، در این مرحله باید ۰ در ورودی مشاهده شود تا بتوانیم به مرحله بعدی برویم و اگر ۱ در ورودی مشاهده شد، مادامی که صفر مشاهده شود، در این مرحله می مانیم، و همانطور که گفته شد در صورتی که صفر در ورودی مشاهده شود، به مرحله بعدی خواهیم رفت.

همانطور که می دانیم خروجی مراحل ماشین مور وابسته به ورودی نیست و با توجه به اینکه رشته مورد نظر در این مرحله دیده نمی شود، پس خروجی \inline s_0 برابر با صفر خواهد بود. در مرحله بعد، باید در ورودی ۱ مشاهده شود و به شرطی که بدانیم که قبل از آن ۰ در ورودی دیده شده است. پس اگر در ورودی صفر دیده شود در همین مرحله باقی خواهیم ماند.

و در صورتی که ۱ مشاهده شود، به مرحله بعدی خواهیم رفت و همانطور که قبلا گفته شد، بخاطر اینکه در این مرحله هم دنباله موردنظر دیده نمی شود، خروجی این مرحله نیز صفر خواهد بود.

در مرحله \inline s_2 نیز، برای رفتن به مرحله بعد باید ۱ در ورودی دیده شود اما در صورتی که صفر دیده شود، باید به مرحله ای رفت که انتظار می رود ورودی دیده شده تا آن لحظه در آن مرحله ۰ یا ۱۰ و یا ۰۱۰ باشد. همانطور که در دیاگرام مشاهده می شود در حالت \inline s_1 ما انتظار داریم که ۱ ببینیم به شرطی که حالت قبلی صفر باشد، پس می توانیم با دیدن صفر در حالت \inline s_2 به حالت \inline s_1 برویم و همانطور که گفته شد، در این مرحله با دیدن ۱ در ورودی به مرحله بعد خواهیم رفت. خروجی این مرحله نیز به مانند مراحل قبل صفر خواهد بود.

هنگامی که به حالت \inline s_3 می رسیم می بایست دنباله ۰۱۱ در ورودی دیده شده باشد و ما در این مرحله انتظار داریم که آخرین ورودی دنباله مورد نظر یعنی صفر را در خروجی تشخیص دهیم تا دیاگرام حالت بتواند به مرحله بعد برود و در صورتی که در ورودی ۱ را تشخیص دهیم می بایست به مرحله ای برویم که در آن مرحله انتظار می رود دنباله ۱ یا ۱۱ یا ۱۱۱ و یا ۰۱۱۱ در ورودی دیده شده باشد. با نگاهی به دیاگرام حالت متوجه می شویم که در هیچ مرحله چنین دنباله ای تشخیص داده نمی شود، بنابراین با دیدن ۱ در حالت \inline s_3 می بایست به حالت \inline s_0 که حالت ابتدایی تشخیص دنباله مورد نظر است، برگردیم.

و با دیدن ۰ در حالت \inline s_3 می توانیم به حالت بعدی برویم. به این دلیل خروجی حالت \inline s_3 صفر می باشد که در این حالت ما انتظار دیدن دنباله ۰۱۱ که در مراحل \inline s_0 تا \inline s_2 تشخیص داده شده اند را داریم و دنباله اصلی در حالت بعدی تشخیص داده می شود. به بیان دیگر، در هر حالت دنباله ای از ورودی های دیده شده در مراحل قبل تشخیص داده خواهد شد و در نهایت در حالت \inline s_4 ما می توانیم دنباله ۰۱۱۰ را تشخیص دهیم و به همین خاطر خروجی این حالت ۱ خواهد شد.

در \inline s_4 اگر ما ۱ را در ورودی مشاهده کنیم، به مانند قبل باید به حالتی باز گردیم که یک زیر مجموعه از ورودی های تا به حال دیده شده تشخیص داده شود که همانطور که مشخص است در حالت s2 دنباله ۰۱ تشخیص داده می شود، بنابراین با دیدن ۱ در \inline s_4 به حالت \inline s_2 باز خواهیم گشت و همانند قبل، در صورتی که ۰ در خروجی مشاهده شود، به حالت \inline s_1 خواهیم رفت.

پس از رسم دیاگرام حالت مسئله، جدول حالت را رسم می کنیم و سپس آن را به حالت دودویی تبدیل خواهیم کرد. در این جدول حالت فعلی با a، b و c، حالات بعدی با \inline D_0، \inline D_1 و \inline D_2، ورودی ها با x و خروجی با y مشخص شده است. با توجه به اینکه از ما خواسته شده مدار را با استفاده از فلیپ فلاپ D طراحی کنیم، به همین خاطر حالات بعدی به عنوان ورودی های فلیپ فلاپ ها در نظر گرفته خواهد شد که با توجه به اینکه از s0 تا s4، ۵ حالت می شود، بنابراین ما ۳ فلیپ فلاپ خواهیم داشت.

جدول حالت برای فلیپ فلاپ \inline D_0 بصورت رو به رو می شود. همانطور که مشاهده می شود، حالات ۱۰۱، ۱۱۰ و ۱۱۱ حالات بی اهمیت می باشند پس در جدول کارنو این خانه ها را به عنوان حالات بی اهمیت در نظر خواهیم گرفت. با گروه بندی ورودی ها در جدول کارنو و با استفاده از حالات بی اهمیت، معادله حالت \inline D_0 بصورت رو به رو می شود.

در ادامه می توانید جدول کارنو و معادله بدست آمده از آن را برای \inline D_1، \inline D_2 و y مشاهده کنید. در انتها با استفاده از معادلات بدست آمده می توانیم مدار خواسته شده را رسم کنیم.

همانطور که قبلا گفته شد ۱۰۱، ۱۱۰ و ۱۱۱ در این مدار جز حالات بی اهمیت هستند. برای نشان دادن حالت بعدی مدار بعد از اعمال این حالات، یک به یک به بررسی این حالت ها می پردازیم. در صورتی که حالت ۱۰۱ را به مدار اعمال کنیم، با ورودی x=0 مقادیر \inline D_0، \inline D_1 و \inline D_2 بصورت ۰۰۱ مقابل خواهند بود. بنابراین در \inline s_5 با دیدن صفر در ورودی به حالت ۰۰۱ یا همان \inline s_1 خواهیم رفت.

در ادامه می توانید حالات بی اهمیت و حالت های بعدی آن ها را در دیاگرام حالت مشاهده نمایید. همچنین همانطور که مشخص است خروجی این حالات صفر می شود.

متن فیلم

نظر خود را ثبت کنید

ایمیل شما به عموم نشان داده نخواهد شد. فیلدهای اجباری با ستاره نشان داده شده است *