پرش به محتوا

منطق پویا (الکترونیک دیجیتال)

از ویکی‌پدیا، دانشنامهٔ آزاد

در طراحی مدارهای مجتمع، منطق پویا (به انگلیسی: dynamic logic) یا منطق دینامیک (یا گاهی منطق کِلاک‌دار (به انگلیسی: clocked logic)) یک روش طراحی در مدارهای منطق ترکیبی است، به‌ویژه آنهایی که در فناوری فلز-اکسید-نیم‌رسانا (MOS) پیاده‌سازی می‌شوند. با بهره‌برداری از ذخیره‌سازی موقت اطلاعات در ظرفیت‌خازنی‌های پراکنده و گیت، از منطق به اصطلاح ایستا متمایز می‌شود.[۱] در دهه ۱۹۷۰ محبوب بود و اخیراً شاهد تجدید حیات در طراحی الکترونیک دیجیتال پرسرعت بوده است.[نیازمند منبع]، به‌ویژه واحدهای پردازش مرکزی (CPU). مدارهای منطقی پویا معمولاً سریع‌تر از مدارهای ایستا هستند و به مساحت کمتری نیاز دارند، اما طراحی آنها دشوارتر است. منطق پویا میانگین نرخ انتقال ولتاژ بالاتری نسبت به منطق ایستا دارد،[۲] اما بارهای خازنی گذرا کوچکتر هستند[۳] بنابراین مصرف توان کلی منطق پویا ممکن است بسته به بده بستان‌های مختلف بیشتر یا کمتر باشد. هنگامی که به یک خانواده منطقی خاص اشاره می‌شود، صفت پویا معمولاً برای متمایز کردن روش طراحی، به عنوان مثال سیماس پویا[۴] یا طراحی SOI پویا کافی است.[۲]

منطق پویا علاوه بر استفاده از ذخیره‌سازی حالت پویا از طریق ولتاژ روی خازن‌ها، از منطق به اصطلاح ایستا متمایز می‌شود زیرا منطق پویا از سیگنال ساعت در اجرای منطق ترکیبی استفاده می‌کند. استفاده معمول از سیگنال ساعت برای همگام‌سازی گذارها در مدارهای منطقی ترتیبی است. برای اکثر پیاده‌سازی‌های منطق ترکیبی، حتی به سیگنال ساعت نیازی نیست. اصطلاحات ایستا/پویا که برای اشاره به مدارهای ترکیبی استفاده می‌شود مربوط به استفاده از همان صفت‌هایی است که برای تشخیص افزاره‌های حافظه استفاده می‌شود، به عنوان مثال رم ایستا از رم پویا، به این صورت که حافظه‌های رم پویا به صورت پویا به عنوان ولتاژ بر روی خازن‌ها هستند که باید به‌طور دوره ای تجدید شوند. اما در کاربرد نیز تفاوت‌هایی وجود دارد. پالس ساعت (کِلاک) را می‌توان در فاز مناسب در سامانه‌ای با منطق پویا و ذخیره ایستا متوقف کرد.[۵]

منطق ایستا درمقابل منطق پویا

[ویرایش]

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

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

منطق ایستا کمینه نرخ ساعت ندارد - ساعت (کِلاک) می‌تواند به‌طور نامحدود متوقف شود. اگرچه ممکن است به نظر برسد که انجام هیچ کاری برای مدت طولانی مفید نیست، اما به سه مزیت منجر می‌شود:

  • امکان توقف موقت یک سیستم در هر زمان، اشکال‌زدایی و آزمایش را بسیار آسان‌تر می‌کند و فنون‌هایی مانند تک گام‌زنی را فعال می‌کند.
  • توانایی راه‌اندازی یک سیستم با نرخ ساعت بسیار پایین به وسایل الکترونیکی کم‌مصرف اجازه می‌دهد تا مدت زمان بیشتری روی یک باتری معین کار کنند.
  • یک سیستم کاملاً ایستا می‌تواند فوراً دقیقاً از همان جایی که متوقف شده است از سر گرفته شود. شخص مجبور نیست منتظر راه‌اندازی یا از سرگیری سیستم باشد.[۶]

به‌طور خاص، اگرچه بسیاری از سی‌پی‌یوهای محبوب از منطق پویا استفاده می‌کنند،[نیازمند منبع] فقط هسته‌های ایستا - سی‌پی‌یوهایی که با فناوری کاملاً ثابت طراحی شده‌اند - به‌دلیل سخت‌کاری تابشی بالاتر در ماهواره‌های فضایی قابل استفاده هستند.[۷][نیازمند منبع بهتر]

زمانی که منطق پویا به درستی طراحی شود، می‌تواند دو برابر سریع‌تر از منطق ایستا باشد. فقط از ترانزیستورهای سریع‌تر اِنماس استفاده می‌کند که بهینه‌سازی اندازه ترانزیستور را بهبود می‌بخشد. منطق ایستا کندتر است زیرا دو برابر بار خازنی دارد، آستانه‌های بالاتری دارد و از ترانزیستورهای کند PMOS برای این منطق استفاده می‌کند. کار با منطق پویا ممکن است سخت‌تر باشد، اما ممکن است تنها انتخاب زمانی باشد که سرعت پردازش افزایش یافته باشد. این روزها اکثر وسایل الکترونیکی که با بیش از ۲ گیگاهرتز کار می‌کنند نیاز به منطق پویا دارند،[چه زمانی؟] اگرچه برخی از تولیدکنندگان مانند اینتل تراشه‌هایی را با استفاده از منطق کاملاً ایستا برای کاهش مصرف انرژی طراحی کرده‌اند.[۸] "توجه داشته باشید که کاهش مصرف برق نه تنها زمان کار با منابع انرژی محدود مانند باتری‌ها یا آرایه‌های خورشیدی (مانند فضاپیماها) را افزایش می‌دهد، بلکه الزامات طراحی حرارتی را نیز کاهش می‌دهد. این امر اندازه گرماگیرهای مورد نیاز، فن‌ها و غیره را به حداقل می‌رساند و در نتیجه، وزن و هزینه سیستم را کاهش می‌دهد.

مثال منطق ایستا

[ویرایش]

به عنوان مثال، اجرای منطق ایستا یک گیت NAND با سیماس را در نظر بگیرید:

این مدار تابع منطقی را پیاده‌سازی می‌کند

اگر A و B هر دو بالا باشند، خروجی پایین کشیده می‌شود. اگر A یا B پایین باشد، خروجی بالا کشیده می‌شود. در همه حال، خروجی یا پایین یا بالا کشیده می‌شود.

مثال منطق پویا

[ویرایش]

اکنون یک پیاده‌سازی منطق پویا از همان تابع منطقی را در نظر بگیرید:

مدار منطق پویا به دو فاز نیاز دارد. فاز اول، زمانی که کلاک پایین ("۰") است، مرحله آغاز یا مرحله پیش‌شارژ و فاز دوم، زمانی که کلاک بالا ("۱") است، مرحله ارزیابی نامیده می‌شود. در مرحله آغاز، خروجی بدون قید و شرط بالا می‌رود (بدون توجه به مقادیر ورودی‌های A و B). خازنی که نشان دهنده ظرفیت بار این دروازه است، شارژ می‌شود. از آنجایی که ترانزیستور پایین خاموش است، خروجی برای راه‌اندازی به پایین در این فاز غیرممکن است.

در مرحله ارزیابی، ساعت بالا است. اگر A و B نیز بالا باشند، خروجی پایین کشیده می‌شود. در غیر این صورت، خروجی بالا می‌ماند (به دلیل ظرفیت بار).

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

همچنین، زمانی که A و B هر دو بالا باشند، به طوری که خروجی پایین باشد، مدار برای هر سیکل کلاک یک بار خازن از Vdd به زمین پمپ می‌کند، ابتدا خازن را در هر سیکل ساعت شارژ و سپس تخلیه می‌کند. این باعث می‌شود مدار (با خروجی آن به یک امپدانس زیاد متصل شود) کارایی کمتری نسبت به نسخه ایستا (که از نظر تئوری نباید هیچ جریانی را به جز از خروجی عبور دهد) کمتر می‌کند و هنگامی که ورودی‌های A و B ثابت و هر دو بالا هستند، گیت پویا NAND تا زمانی که به درستی کار کند، از توان متناسب با نرخ ساعت استفاده می‌کند. با پایین نگه‌داشتن ظرفیت‌خازنی بار می‌توان اتلاف توان را به حداقل رساند. این به نوبه خود، حداکثر زمان چرخه را کاهش می‌دهد و به حداقل فرکانس پالس ساعت بالاتر نیاز دارد. فرکانس بالاتر پس از آن مصرف برق را با رابطه ذکر شده افزایش می‌دهد؛ بنابراین، کاهش مصرف برق بیکاری (زمانی که هر دو ورودی بالا هستند) به زیر یک حد معین ناشی از تعادل بین سرعت پالس ساعت و ظرفیت‌خازنی بار غیرممکن است.

یک پیاده‌سازی محبوب، منطق دومینو است.

جستارهای وابسته

[ویرایش]

منابع

[ویرایش]
  1. Lars Wanhammar (1999). DSP integrated circuits. Academic Press. p. 37. ISBN 978-0-12-734530-7.
  2. ۲٫۰ ۲٫۱ Andrew Marshall; Sreedhar Natarajan (2002). SOI design: analog, memory and digital techniques. Springer. p. 125. ISBN 978-0-7923-7640-8.
  3. A. Albert Raj, T. Latha (21 October 2008). VLSI Design. PHI Learning Pvt. Ltd. p. 167. ISBN 978-81-203-3431-1.
  4. Bruce Jacob; Spencer Ng; David Wang (2007). Memory systems: cache, DRAM, disk. Morgan Kaufmann. p. 270. ISBN 978-0-12-379751-3.
  5. David Harris (2001). Skew-tolerant circuit design. Morgan Kaufmann. p. 38. ISBN 978-1-55860-636-4.
  6. Richard Murray. "PocketBook II hardware".
  7. Gülzow, Peter. "No RISC, No Fun!". AMSAT-DL. Archived from the original on 13 April 2013. Retrieved 15 September 2021.
  8. "The Dark Knight: Intel's Core i7".

مراجع عمومی

پیوند به بیرون

[ویرایش]

الگو:Logic Families