چجوری با ترفندهای جدید، شبیه‌سازی ترانزیستورهای مدار مجتمع رو سریع‌تر کنیم؟!

Fall Back

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

ولی یه مشکل بزرگ داریم! این شبیه‌سازی‌ها خیلی هزینه‌بر و زمان‌بر هستن. چون تراشه‌ها انقدر پیچیده و پر از جزئیات شدن که اگه بخوایم همه‌ش رو دونه‌دونه و دقیق بررسی کنیم، واقعا ممکنه ساعت‌ها یا حتی روزها طول بکشه.

حالا توی این مقاله، یه ایده‌ی باحال ارائه شده واسه سریع‌تر کردن این شبیه‌سازی. تمرکز مقاله روی یه مدل خاص تو مدارهاست، به اسم RC Long-Chain Structures – یعنی ساختارهای زنجیره‌ای از مقاومت و خازن (Resistor-Capacitor) که به‌صورت پشت سرهم بستن. این ساختارها توی مدارات معمولاً زیاد پخش هستن و شاید باورتون نشه، به طور میانگین ۶.۳۴٪ کل گره‌های مدار از همین نوع دود. حتی تو بعضی مدارها تا ۱۲٪ هم میرسه!

نویسنده‌ها اومدن سه روش هوشمندانه برای ساده‌سازی (reduction) این بخش‌های خاص ارائه دادن. یعنی چی؟ یعنی اونا فهمیدن که اون زنجیره‌های RC – که یه جور مدار الکتریکی برای کنترل زمان‌های سیگنال تو مدار هستن – رو میشه طوری ساده کرد که تاثیرش خیلی کم، ولی سودش در سرعت شبیه‌سازی زیاد باشه!

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

تو تست‌هایی که انجام دادن، دیدن که این روش‌ها تونستن به طور متوسط ۸.۸٪ عملکرد سریع‌تر تو شبیه‌سازی مدارها بدن؛ یعنی هرکاری که قبلا می‌کردن با سرعت بیشتری انجام شده. حتی تو بعضی موارد تا ۲۲٪ هم شبیه‌سازی سریع‌تر شده! تازه جالب‌تر اینکه دقت نتایج هم تقریباً سر جاش مونده و خطا فقط حدود ۰.۷٪ بوده، که واقعا عدد ناچیزی محسوب میشه.

حواستون باشه مدارهایی که با این روش تست کردن فقط ساده نبودن؛ کلی ماژول کاربردی داشتن، از جمله ALU (واحد محاسبه و منطق، یعنی مغز پردازشی CPU)، جمع‌کننده‌ها، ضرب‌کننده‌ها، مدارات چک‌کننده خطا مثل SEC/DED (Single-Error Correction/Double-Error Detection یعنی نوعی ماژول برای شناسایی و اصلاح خطا)، و کنترلرهای وقفه (Interrupt Controllers یعنی مداراتی که کارشون مدیریت وقفه‌های چندوظیفه‌ای هست).

خلاصه اینکه اگه مهندس مدار هستید یا به این فضا علاقه دارید، این جزو اون مقاله‌هاییه که ارزش داره حتماً یه نگاه بندازید. چون هم اطلاعات جدید می‌ده هم می‌تونه کلی تو زمان شبیه‌سازی صرفه‌جویی کنه. اونم با کم‌ترین خطا! چه بهتر از این؟

منبع: +