طراحی الکترونیکی در سطح سیستم
Electronic System Level Design
شماره درس: ۴۰۸۴۳.۲ | تعداد واحد: ۳ |
مقطع: کارشناسی ارشد | نوع درس: نظری |
پیشنیاز: – | همنیاز: – |
اهداف درس
در این درس دانشجویان با چگونگی طراحی در سطح سیستم برای سیستمهای نهفته آشنا میشوند و با برخی از مفاهیم مهم همچون زبان System C و چگونگی مدلسازی با آن، روش سیستماتیک برای تبدیل برنامههای نرمافزاری به سختافزار، پیادهسازی سیستمها به شکل سختافزار/نرمافزار و روشهای سنتز و درستی سنجی در سطح سیستم آشنا میشوند.
ریز مواد
- مقدمه
- روند رشد متدولوژیهای طراحی سختافزار و نرمافزار سیستمهای نهفته تا رسیدن به طراحی الکترونیک در سطح سیستم
- مروری بر سیر تکاملی روشها و ابزار طراحی سختافزار
- انگیزههای حرکت به سوی طراحی ESL
- دستهبندی مباحث مطرح در طراحی ESL
- توصیف (Specification)، سنتز، درستیسنجی (Validation)
- تحلیل پیش از بخشبندی (Partitioning)، بخشبندی، تحلیل پس از بخشبندی، پیادهسازی سختافزار، پیادهسازی نرمافزار، درستیسنجی پس از بخشبندی
- زبان سیستمسی و نحوه مدلسازی سختافزار با این زبان
- ماجول، پورت، پروسس، نوعهای دادهای، روشهای پیادهسازی مدارهای ترکیبی و ترتیبی، روشهای پیادهسازی ماشین حالت، سنتز مدلهای سیستمسی
- یک روش سیستماتیک تبدیل برنامههای نرمافزاری به پیادهسازی سختافزاری
- آشنایی با مدل Finite State Machine with Datapath (FSMD) و اهمیت آن
- دستهبندی عمومی دستورات زبانهای نرمافزاری
- پیادهسازی هر Basic Block با استفاده از مدل FSMD
- روشی عمومی برای پیادهسازی یک برنامه با استفاده مدل FSMD
- معرفی موضوع سنتز رفتاری (Behavioral Synthesis یا سنتز سطح بالا: High Level Synthesis)
- دستهبندی مباحث مطرح در سنتز سطح بالا: تخصیص منابع (Allocation)، زمانبندی (Scheduling)، انتساب منابع (Binding).
- مرور روشها و الگوریتمهای معروف در سه مبحث پیشگفته
- اهمیت و روشهای تبادل اطلاعات (Communication) بین اجزا در پیادهسازی سیستمها بصورت سختافزار-نرمافزار
- مثالی از پیادهسازی رمزنگار AES بصورت نرمافزاری و سپس تبدیل به سختافزار و مقایسه میزان افت کارآیی به دلیل حجم Communication
- مرور روشهای تبادل اطلاعات بین سختافزار و نرمافزار، و نیز بین نرمافزار و نرمافزار در تک پردازندهها و چندپردازندهها
- مدلسازی در سطح تراکنشها (TLM: Transaction Level Modeling)
- اهمیت جدا کردن محاسبات از مبادله اطلاعات
- موضوع کانال (Channel)، ویژگیها و اهمیت آن
- مدلهای TLM گاجسکی، اجزای آنها، و روند استفاده از آنها در یک طراحی بالا به پایین در سطح سیستم
- امکانات زبان سیستمسی برای تعریف کانال و نحوه استفاده از آن برای مدلسازی TLM
- روشهای سنتز و بهینه سازی در سطح سیستم
- مروری بر فاکتورهای اصلی: کارآیی، مساحت، مصرف توان
- الگوریتمهای همسنتز (Co-synthesis)
- روشها و بسترهای نوین پیادهسازی سیستمهای دیجیتال
- مرور روند پیشرفت فنآوری ساخت نیمههادیها تا System-on-Chip (SoC)
- مرور روند پیشرفت FPGAها تا Programmable SoCهای امروزی
- چالشها و فرصتهای ناشی از پیشرفتهای فوق
- آموزش طراحی با ابزارهای موجود برای طراحی با Programmable SoCها
- روشهای درستیسنجی در سطح سیستم
- روشهای مختلف همشبیهسازی سختافزار-نرمافزار
- مقدمهای بر روشهای وارسی صوری (Formal Verification) سیستمهای سختافزار-نرمافزاری
- روشهای بهینه سازی سیستم در سطح نرمافزار
- موضوع نوسان فرایند ساخت (Process Variation) و اهمیت و نقش آن
- الگوریتم مدیریت توان برخط برای بهینهسازی مصرف توان و کارآیی تراشههای چندپردازنده با درنظر گرفتن نوسان فرآیند ساخت
- بهینهسازی بازده توان با استفاده از زمانبندی پردازهها در تراشههای چندپردازنده با درنظر گرفتن نوسان فرآیند ساخت
- روشهای تخصیص کد و دادهها به حافظه و تاثیر آن
ارزیابی
- تمرینهای نظری: ۳ نمره
- آزمونهای میانترم و پایانی: ۱۵ نمره
- آزمونکها: ۲ نمره
مراجع
- Brian Bailey, Grant Martin, Andrew Piziali. Electronic System Level Design and Verification. Morgan Kaufmann Publishers, Series in Systems on Silicon, 2007.
- W. Wolf. Computers as Components: Principles of Embedded Computing System Design. Morgan Kaufmann Publishers, 2001.
- J. Staunstrup, W. Wolf. Hardware/Software Codesign: Principles and Practice. Kluwer Academic Publishers, 1997.
- G. DeMicheli. Hardware/Software Codesign. Kluwer Academic Publishers, 1996.
- F. Balarin et al. Hardware/Software Codesign: The POLIS Approach. Kluwer Academic Publishers, 1997.