طراحی در سطح سیستم
System-Level Design
مقطع: کارشناسی | گرایش: – |
نوع درس: نظری | تعداد واحد: ۳ |
پیشنیاز: – | همنیاز: – |
هدف کلی
هدف از این درس، آموزش چگونگی افراز یک سیستم دیجیتال به بخشهای سختافزاری و نرمافزاری و نحوه تعامل این دو بخش با هم، آشنایی با برخی سکوهای طراحی در سطح سیستم مشتمل بر بخشهای نرمافزاری و سختافزاری، یادگیری روند اتوماتیک سنتز سطح بالای کدهای C ،C++ و SystemC به مدلهای سطح انتقال ثبات (در این راستا الگوریتمهای پیشرفته سنتز سطح بالا (HLS) و مفاهیم مهمی مانند loop pipelining، loop unrolling، IO scheduling و نگاشت آرایهها به حافظهها و چالشهای آن با جزئیات بحث خواهد شد)، و یادگیری روند طراحی سطح سیستم مبتنی بر Matlab/Simulink با کاربردهای مختلف است.
سرفصلها
- معرفی و مقدمه
- مروری بر فازهای مهم سنتز سطح بالا (HLS) و آنالیز گراف جریان داده (DFG)
- آشنایی با روش loop pipelining و تاثیر آن بر مدل RTL سنتزشده
- تعریف Throughput، Latency و Initiation Interval (II)
- مفهوم loop pipelining برای حلقههای معمولی و تودرتو
- آشنایی با مفهوم loop unrolling و تاثیر آن بر مدل RTL سنتزشده
- زمانبندی ورودی-خروجی (IO scheduling)
- معرفی روشهای مختلف IO scheduling
- مکانیزمهای Handshaking
- نگاشت آرایهها به حافظهها
- روش Interleaving و Widening برای بهبود عملکرد مدل RTL
- چالشهای این نگاشت در جهت بهینهسازی مدل RTL
- طراحی سطح سیستم مبتنی بر Matlab/Simulink
- چگونگی تعریف سیستم در Matlab/Simulink
- روند اتوماتیک تبدیل مدل Floating-point به Fixed-point
- چگونگی تولید مدل RTL و درستیسنجی آن (قابلیت Co-Simulation)
- آشنایی با قابلیتهای Sharing، Streaming، Loop Streaming و RAM Mapping
- آشنایی با قابلیتهای Oversampling و Clock-rate Pipelining
- طراحی توأم بخشهای سختافزاری و نرمافزاری و نحوه تعامل این دو بخش با هم
- آشنایی با Master-Slave Interface
- آشنایی با مفهوم Memory-mapped IO با هدف دسترسی به سختافزار
- آشنایی با مفهوم Hardware Abstraction Level (HAL) و APIهای مرتبط
- چگونگی نوشتن Device Driver
- آشنایی با مفهوم Custom Instruction در Soft Processor
- سنتز اتوماتیک معماری گذرگاه (Bus Architecture) با قابلیتهای Burst، Latency-Aware و Streaming
- چگونگی دسترسی به سختافزار از طریق HAL API و Device Driver
ارزیابی پیشنهادی
- تمرینهای نظری: ۳ نمره
- آزمونهای میانترم و پایانی: ۱۵ نمره
- آزمونکها: ۲ نمره
منابع پیشنهادی
- M. Fingeroff and T. Bollaert. High Level Synthesis: Blue Book. Mentor Graphics Corporation, 2010.
- Fixed-point Tools and HDL Coder Getting Started Guide. MathWorks, 2016.
- J. O. Hamblen, T. S. Hall, and M. D. Furman. Rapid Prototyping of Digital Systems. SOPC Edition, Springer, 2008.