مقدمه
در مدارهای منطقی ترتیبی (Sequential Logic Circuits)، حافظه و نگهداری وضعیت یکی از مهمترین مفاهیم بنیادی به شمار میرود. یکی از سادهترین و در عین حال کاربردیترین عناصر حافظهای، لچ SR (Set-Reset Latch) است. این مدار قادر است یک بیت اطلاعات را ذخیره کرده و بر اساس ورودیهای Set (S) و Reset (R) وضعیت خروجی خود را تغییر دهد.
در این شبیهسازی، نوع خاصی از لچ SR مورد بررسی قرار گرفته است که به آن «لچ SR با اولویت Reset و تحریکشونده با کلاک» گفته میشود. در این ساختار، علاوه بر ورودیهای S و R، یک سیگنال کلاک نیز برای کنترل زمان تغییر وضعیت استفاده میشود. همچنین در طراحی این مدار، اولویت با Reset است؛ به این معنا که در صورت فعال بودن همزمان هر دو ورودی، خروجی در وضعیت Reset قرار خواهد گرفت.
هدف این شبیهسازی، مدلسازی رفتار این مدار با استفاده از بلوکهای منطقی در محیط Simscape Electrical و بررسی رفتار زمانی خروجیها در شرایط مختلف ورودی است.

ساختار کلی لچ SR با اولویت Reset
لچ SR از دو ورودی اصلی S و R و دو خروجی مکمل Q و ~Q تشکیل شده است. در حالت ایدهآل، روابط منطقی آن به صورت زیر تعریف میشود:
- اگر S=1 و R=0 → خروجی Q=1 (Set)
- اگر S=0 و R=1 → خروجی Q=0 (Reset)
- اگر S=0 و R=0 → خروجی بدون تغییر باقی میماند (Hold)
- اگر S=1 و R=1 → در این مدل، اولویت با Reset است و Q=0 خواهد شد
در نسخه کلاکدار این مدار، ورودیها تنها در لبههای مشخص یا در زمان فعال بودن سیگنال کلاک اجازه تغییر وضعیت دارند. این ویژگی باعث کاهش خطاهای ناشی از تغییرات ناخواسته ورودیها در زمانهای غیرمجاز میشود.
پیادهسازی در Simscape Electrical
در محیط Simscape Electrical، این مدار معمولاً با استفاده از ترکیب بلوکهای منطقی مانند AND، OR و Switch پیادهسازی میشود. در این شبیهسازی خاص، برای کنترل ورودیها از گیتهای AND استفاده شده است تا سیگنالهای S و R تنها در حضور کلاک فعال شوند.
همچنین برای تعیین شرایط اولیه مدار، از قابلیت initialization commands در سوئیچها استفاده شده است. این قابلیت امکان میدهد وضعیت اولیه گیتها و مسیرهای منطقی پیش از شروع شبیهسازی مشخص شود.
ساختار کلی شامل موارد زیر است:
– دو ورودی S و R
– یک سیگنال کلاک (Clock Pulse)
– دو گیت AND برای کنترل فعالسازی ورودیها
– مدار بازخوردی برای حفظ وضعیت (Latch structure)
– خروجیهای Q و ~Q
نقش کلاک در عملکرد مدار
کلاک در این نوع مدار نقش تعیینکنندهای دارد. در واقع، لچ SR ساده به طور سطح-حساس (Level Sensitive) عمل میکند، اما با افزودن کلاک، رفتار مدار کنترلشدهتر و قابل پیشبینیتر میشود.
زمانی که کلاک در وضعیت فعال قرار دارد، ورودیهای S و R میتوانند بر خروجی تأثیر بگذارند. در غیر این صورت، مدار در وضعیت نگهدارنده (Hold) باقی میماند و خروجی تغییر نمیکند.
این ویژگی در طراحی سیستمهای دیجیتال پیچیده بسیار مهم است، زیرا از تغییرات ناخواسته در زمانهای نامناسب جلوگیری میکند.
اولویت Reset در طراحی مدار
در بسیاری از کاربردهای صنعتی و دیجیتال، اولویت دادن به Reset اهمیت ویژهای دارد. دلیل این امر آن است که در شرایط خطا یا راهاندازی مجدد سیستم، لازم است مدار بتواند به سرعت به یک وضعیت پایدار و شناختهشده (معمولاً صفر منطقی) بازگردد.
در این شبیهسازی، اگر هر دو ورودی S و R به طور همزمان فعال باشند، مدار به صورت پیشفرض در وضعیت Reset قرار میگیرد. این رفتار از طریق طراحی منطقی گیتها و مسیرهای بازخوردی اعمال شده است.
شرایط اولیه و مقداردهی در شروع شبیهسازی
یکی از نکات مهم در شبیهسازی مدارهای ترتیبی، تعیین شرایط اولیه است. در این مدل، از initialization commands در سوئیچها استفاده شده است تا وضعیت اولیه گیتها و خروجیها مشخص باشد.
این مرحله اهمیت زیادی دارد، زیرا در مدارهای دارای حافظه، وضعیت اولیه میتواند بر کل رفتار زمانی سیستم تأثیر بگذارد. به عنوان مثال، اگر مقدار اولیه Q برابر 1 یا 0 تعیین شود، مسیر تغییرات بعدی نیز متفاوت خواهد بود.

تحلیل رفتار خروجیها در شبیهسازی
نتایج شبیهسازی نشان میدهد که خروجی Q به طور مستقیم تحت تأثیر تغییرات سیگنال کلاک و ورودیهای S و R قرار دارد. در حالتهایی که هر دو ورودی در سطح بالا قرار دارند، طبق طراحی مدار، خروجی Q به سمت صفر میل میکند که نشاندهنده اولویت Reset است.
در مقابل، خروجی مکمل ~Q تقریباً همیشه در وضعیت مخالف Q قرار دارد و در بسیاری از حالتها در سطح پایین باقی میماند. این رفتار مکمل بودن خروجیها یکی از ویژگیهای اصلی لچهای SR استاندارد است.
همچنین مشاهده میشود که خروجی Q تنها در زمانهایی تغییر میکند که کلاک فعال بوده و تغییر در ورودیها مجاز است. این موضوع نشاندهنده نقش کلیدی کلاک در کنترل رفتار زمانی مدار است.
بررسی حالتهای مختلف ورودی
در این شبیهسازی، چهار حالت اصلی برای ورودیها قابل بررسی است:
حالت اول: Set فعال
در این حالت، S=1 و R=0 است. با فعال بودن کلاک، خروجی Q به 1 تغییر میکند و مدار در وضعیت Set قرار میگیرد.
حالت دوم: Reset فعال
در این حالت، S=0 و R=1 است. خروجی Q به 0 تغییر کرده و مدار ریست میشود.
حالت سوم: حالت نگهدارنده
در این وضعیت، S=0 و R=0 است. مدار هیچ تغییری در خروجی ایجاد نمیکند و وضعیت قبلی حفظ میشود.
حالت چهارم: وضعیت بحرانی S=1 و R=1
در این حالت خاص، به دلیل طراحی Reset-dominant، خروجی Q به طور قطعی 0 خواهد شد. این انتخاب طراحی از بروز وضعیتهای نامعین جلوگیری میکند.
نقش بازخورد در عملکرد لچ
یکی از ویژگیهای مهم لچ SR وجود مسیرهای بازخوردی (Feedback) است. این مسیرها باعث میشوند که خروجی بتواند وضعیت خود را حفظ کند حتی زمانی که ورودیها تغییر کردهاند. در واقع، حافظه داخلی مدار از طریق همین بازخوردها ایجاد میشود.
در شبیهسازی انجامشده، این بازخوردها به کمک گیتهای منطقی و مسیرهای متصل بین خروجی و ورودی پیادهسازی شدهاند.
جمعبندی
لچ SR با اولویت Reset و کنترلشده با کلاک یکی از ساختارهای مهم در طراحی مدارهای دیجیتال ترتیبی است. این مدار با استفاده از ترکیب سادهای از گیتهای منطقی میتواند رفتار حافظهای قابل اعتمادی ارائه دهد. اضافه شدن سیگنال کلاک باعث افزایش دقت کنترل زمانی و کاهش خطاهای ناشی از تغییرات ناخواسته ورودیها میشود.
در این شبیهسازی، مشاهده شد که خروجی Q به صورت دقیق از قوانین منطقی پیروی کرده و در شرایط بحرانی، اولویت با Reset اعمال میشود. همچنین خروجی مکمل ~Q همواره رفتار مخالف Q را نشان میدهد که تأییدکننده عملکرد صحیح مدار است.
استفاده از Simscape Electrical برای مدلسازی چنین مدارهایی امکان تحلیل دقیق رفتار زمانی و بررسی اثر شرایط اولیه را فراهم میکند. این موضوع در طراحی سیستمهای دیجیتال پیچیده و مدارهای مبتنی بر حافظه اهمیت بسیار زیادی دارد.
همه چیز، یکجا، آماده دانلود!
لینک دانلود ویژه اعضا سایت







نقش initialization commands در شبیهسازی این لچ در Matlab/Simscape چیست و چه تأثیری روی نتایج دارد؟
این تنظیمات مقدار اولیه گرهها و مسیرهای بازخوردی را تعیین میکنند و مشخص میکنند مدار با چه وضعیت اولیهای وارد تحلیل زمانی شود؛ در نتیجه رفتار گذرا و مقدار نهایی Q را تحت تأثیر مستقیم قرار میدهند.
در حالت S=1 و R=1 چرا در شبیهسازی خروجی همیشه به Reset میرود؟
به دلیل طراحی Reset-dominant، مسیر منطقی R نسبت به S اولویت دارد و در بلوکهای Simscape خروجی Q به صورت سختافزاری روی صفر تثبیت میشود تا از حالت نامعین جلوگیری شود.
در شبیهسازی لچ SR در Matlab/Simscape چرا خروجی Q فقط در لحظه فعال بودن کلاک تغییر میکند؟
چون گیتهای AND ورودیها را با سیگنال کلاک ماسک میکنند و مدار فقط در زمان فعال بودن کلاک اجازه عبور S و R را میدهد؛ در غیر این صورت حالت Hold حفظ میشود.