مدارهای ترتیبی (Sequential Circuits) یکی از بنیادیترین بخشهای طراحی سیستمهای دیجیتال هستند که در آنها خروجی علاوه بر ورودیهای فعلی، به حالتهای قبلی سیستم نیز وابسته است. در میان این مدارها، لچ SR (Set-Reset Latch) به عنوان سادهترین عنصر حافظهای شناخته میشود. در این شبیهسازی، نوع خاصی از این مدار یعنی Clocked Set-Dominant SR-Latch بررسی میشود که در آن سیگنال کلاک نقش کنترلکننده فعالسازی رفتار مدار را ایفا میکند و در حالت همزمانی ورودیها، اولویت با حالت Set خواهد بود.
هدف از این شبیهسازی، تحلیل رفتار منطقی این لچ در شرایط مختلف ورودی و بررسی نحوه پیادهسازی آن با استفاده از بلوکهای منطقی در محیط Simscape Electrical و همچنین تحلیل نتایج در MATLAB است. این نوع مدلسازی به مهندسان اجازه میدهد تا قبل از پیادهسازی سختافزاری، رفتار سیستم را به صورت دقیق بررسی کنند.

مفهوم لچ SR و رفتار پایه آن
لچ SR شامل دو ورودی اصلی Set (S) و Reset (R) و دو خروجی Q و Q̅ است. در حالت پایه، زمانی که S برابر 1 و R برابر 0 باشد، خروجی Q در حالت منطقی 1 قرار میگیرد و سیستم در حالت Set قرار میگیرد. برعکس، زمانی که R برابر 1 و S برابر 0 باشد، خروجی ریست شده و Q برابر 0 خواهد شد. حالت بحرانی زمانی رخ میدهد که هر دو ورودی S و R همزمان برابر 1 شوند.
در طراحیهای مختلف، برای رفع ابهام حالت S=R=1، سیاستهای اولویتبندی تعریف میشود. در این شبیهسازی، از ساختار Set-Dominant استفاده شده است، به این معنی که اگر هر دو ورودی فعال باشند، خروجی به حالت Set خواهد رفت و Q برابر 1 باقی میماند.
افزودن سیگنال کلاک به لچ SR
در مدارهای دیجیتال پیشرفته، کنترل زمانبندی اهمیت زیادی دارد. به همین دلیل، سیگنال کلاک (Clock) به لچ اضافه میشود تا تنها در لحظات مشخص، تغییر حالت در خروجی رخ دهد. این ساختار باعث جلوگیری از تغییرات ناخواسته در مدار و افزایش پایداری سیستم میشود.
در Clocked SR-Latch، ورودیها تنها زمانی مؤثر هستند که کلاک در سطح فعال قرار داشته باشد. در غیر این صورت، خروجی در حالت قبلی خود باقی میماند. این ویژگی به ویژه در طراحی سیستمهای ترتیبی پیچیده مانند رجیسترها و حافظهها اهمیت دارد.
ساختار Set-Dominant در حضور کلاک
در این شبیهسازی، یک لچ SR کلاکدار با اولویت Set مدلسازی شده است. ساختار مدار شامل گیتهای منطقی AND برای ترکیب ورودیها با سیگنال کلاک است. بدین صورت که ورودیهای S و R ابتدا با کلاک AND میشوند و سپس به مدار لچ اصلی اعمال میگردند.
ویژگی مهم این طراحی آن است که در صورت فعال بودن همزمان S و R، مدار به صورت پیشفرض به حالت Set میرود. این رفتار از طریق طراحی منطقی گیتها و نحوه اتصال آنها تضمین میشود.
شرایط اولیه و مقداردهی اولیه مدار
در مدل Simscape Electrical، شرایط اولیه نقش مهمی در تعیین وضعیت شروع مدار دارند. در این شبیهسازی، مقدار اولیه خروجیها از طریق دستورات مقداردهی اولیه در سوئیچها و گیتهای منطقی تعیین میشود. این کار باعث میشود مدار در حالت پایدار اولیه قرار گیرد و رفتار گذرای آن به درستی قابل تحلیل باشد.
به طور معمول، مقدار اولیه Q برابر 0 یا 1 به صورت دلخواه تنظیم میشود، اما در تحلیلهای دقیقتر، مقدار اولیه بر اساس سناریوی کاربردی انتخاب میشود.
پیادهسازی در Simscape Electrical
برای پیادهسازی این مدار در محیط Simscape Electrical، از مجموعهای از بلوکهای منطقی شامل AND، OR و NOT استفاده میشود. همچنین، بلوکهای مربوط به سیگنال کلاک برای کنترل زمانبندی مدار به کار گرفته میشوند.
ساختار کلی مدل شامل دو مسیر اصلی برای Set و Reset است که هر دو از طریق گیت AND با سیگنال کلاک کنترل میشوند. سپس خروجی این گیتها وارد یک لچ متقاطع (Cross-Coupled Latch) میشود که رفتار حافظهای مدار را ایجاد میکند.
یکی از نکات مهم در این پیادهسازی، تنظیم دقیق تأخیرهای منطقی است تا از بروز ناپایداری یا نوسان در حالتهای بحرانی جلوگیری شود. Simscape این امکان را فراهم میکند که رفتار فیزیکی و منطقی مدار به صورت همزمان بررسی شود.

تحلیل رفتار زمانی مدار
پس از اجرای شبیهسازی، نمودارهای خروجی نشان میدهند که چگونه Q و Q̅ نسبت به ورودیها و سیگنال کلاک واکنش نشان میدهند. در حالتی که هر دو ورودی S و R برابر 1 هستند و کلاک فعال است، خروجی Q در حالت Set قرار میگیرد و مقدار آن برابر 1 میشود.
این رفتار نشاندهنده خاصیت Set-Dominant بودن مدار است. همچنین مشاهده میشود که Q̅ در این حالت برابر 0 باقی میماند که مکمل منطقی Q است. در حالتهایی که کلاک غیرفعال است، خروجیها تغییر نمیکنند و مدار در وضعیت قبلی خود باقی میماند.
بررسی حالتهای مختلف ورودی
برای تحلیل کامل مدار، چهار حالت اصلی برای ورودیهای S و R در نظر گرفته میشود:
در حالت اول، S=0 و R=0 است که در این وضعیت هیچ تغییری در خروجی رخ نمیدهد. در حالت دوم، S=1 و R=0 است که منجر به Set شدن خروجی میشود. در حالت سوم، S=0 و R=1 است که خروجی را Reset میکند. در حالت چهارم، هر دو ورودی برابر 1 هستند که در اینجا به دلیل خاصیت Set-Dominant، خروجی در حالت Set باقی میماند.
اهمیت شبیهسازی در MATLAB و Simulink
استفاده از MATLAB و Simulink در طراحی مدارهای دیجیتال امکان تحلیل دقیق رفتار سیستم را قبل از پیادهسازی سختافزاری فراهم میکند. در این شبیهسازی، ابزار Simscape Electrical به عنوان یک محیط فیزیکی-منطقی عمل میکند و امکان مشاهده رفتار واقعی مدار را فراهم میسازد.
همچنین، با استفاده از قابلیت Simscape Logging، میتوان دادههای خروجی را استخراج کرده و در MATLAB برای تحلیلهای آماری و نموداری استفاده کرد. این موضوع به مهندسان کمک میکند تا عملکرد مدار را در شرایط مختلف بررسی و بهینهسازی کنند.
نتیجهگیری
مدار Clocked Set-Dominant SR-Latch یکی از مهمترین ساختارهای حافظهای در طراحی دیجیتال است که ترکیب سادهای از گیتهای منطقی و سیگنال کلاک را برای ایجاد رفتار پایدار حافظهای ارائه میدهد. خاصیت Set-Dominant بودن آن باعث میشود در شرایط بحرانی، اولویت با حالت Set باشد و از بروز وضعیت نامشخص جلوگیری شود.
شبیهسازی این مدار در MATLAB و Simscape Electrical نشان میدهد که چگونه میتوان رفتار پیچیده مدارهای ترتیبی را با استفاده از مدلهای گرافیکی و منطقی تحلیل کرد. این رویکرد نه تنها در آموزش مفاهیم دیجیتال بسیار مؤثر است، بلکه در طراحی صنعتی نیز کاربرد گستردهای دارد.
در نهایت، این شبیهسازی نشان میدهد که ترکیب ابزارهای نرمافزاری مانند MATLAB با مفاهیم تئوری مدارهای دیجیتال، امکان تحلیل دقیق، سریع و قابل اعتماد سیستمهای پیچیده را فراهم میسازد.
همه چیز، یکجا، آماده دانلود!
لینک دانلود ویژه اعضا سایت







دادههای Simscape Logging در MATLAB چه کاربردی دارند؟
برای تحلیل زمانی، رسم نمودارها و بررسی رفتار دینامیکی مدار در محیط MATLAB استفاده میشوند.
خروجی Q و Q̅ در Simulink چگونه همزمان پایدار میمانند؟
با استفاده از فیدبک متقاطع در ساختار لچ، یکی از خروجیها مکمل دیگری میشود و پایداری حفظ میگردد.
چرا در حالت S=R=1 خروجی Set اولویت دارد؟
به دلیل طراحی Set-Dominant، مدار طوری تنظیم شده که در حالت همزمانی ورودیها، خروجی به حالت Set (Q=1) برود.
نقش سیگنال کلاک در شبیهسازی این لچ چیست؟
کلاک تعیین میکند ورودیها فقط در زمان فعال شدن روی خروجی اثر بگذارند و از تغییرات ناخواسته جلوگیری میکند.
در شبیهسازی SR-Latch در MATLAB چرا از Simscape استفاده میشود؟
چون رفتار فیزیکی و دینامیکی مدار را دقیقتر از بلوکهای منطقی ساده مدل میکند.