You are not allowed to perform this action
طراحی سیستمهای دیجیتال
Digital Systems Design
مقطع: کارشناسی | گرایش: معماری کامپیوتر |
نوع درس: نظری | تعداد واحد: ۳ |
پیشنیاز: ساختار و زبان کامپیوتر | همنیاز: – |
هدف کلی
هدف این درس آشنایی با زیرمجموعه قابل سنتز یک زبان توصیف سختافزار (System Verilog/Verilog یا VHDL)، آشنایی با ساختار داخلی مدارهای برنامهپذیر، آشنایی با نحوهی پیادهسازی مدارهای دیجیتال در FPGA و CPLD، سنتز و آنالیز زمانی مدارهای دیجیتال و مفاهیم پایه و الگوریتمهای مقدماتی سنتز سطح بالا (HLS) است.
سرفصلها
- طراحی یک سیستم دیجیتال
- نمودار ASM
- نمودار FSMD
- تقسیم سیستم به واحدهای مسیر داده و کنترل
- معرفی مدل RTL و نحوه آنالیز یک سیستم دیجیتال
- مروری بر زبان توصیف سختافزار Verilog
- مفهوم همروندی
- تفاوت توصیفهای ساختاری و رفتاری
- مروری بر توصیف ساختاری المانهای ترتیبی مانند رجیسترها، شیفت رجیسترها و شمارندههای با قابلیت بارگذاری موازی و سیگنالهای Set و Reset سنکرون یا آسنکرون
- مزایا و معایب تخصیص انسدادی و غیرانسدادی
- نوشتن یک Test-Bench ساده
- مفاهیم پیشرفته و زیر مجموعه قابل سنتز زبان توصیف سختافزار Verilog
- نحوه توصیف رفتاری المانهای ترکیبی و ترتیبی (انواع فلیپفلاپها، شیفت رجیسترها، شمارندهها و …)
- چگونگی استفاده از المانهای ترکیبی و ترتیبی و اتصال آنها در جهت پیادهسازی یک سیستم دیجیتال کامل
- نحوه کار با ابزار سنتز با هدف بهینهسازی مساحت، سرعت یا توان مصرفی مدارهای دیجیتال
- چگونگی آنالیز خروجیهای ابزار سنتز
- معرفی Assertionها در راستای نوشتن Test-Benchهای بهتر
- آنالیز زمانی مدارهای دیجیتال
- مروری بر پارامترهای زمانی گیتها و فلیپفلاپها (tr، tf، tsetup، thold و tclk2q)
- نحوه محاسبه مسیر بحرانی در مدارهای ترکیبی و ترتیبی
- معرفی روشهای آنالیز زمانی استاتیک و دینامیک
- آشنایی با مفهوم Clock Skew
- نحوه محاسبه بیشترین فرکانس کاری مدار
- آشنایی مقدماتی با روشهای بهینهسازی زمانی سیستمهای دیجیتال
- ساختار CPLDها و FPGAها
- معماری CPLDها و FPGAها
- نحوه پیادهسازی مبتنی بر MUX و LUT
- آشنایی با فناوریهای مختلف برنامهریزی
- Mega Wizard Functionها (ماجولهای معرفی شده در کتابخانه LPM)
- نحوه بکارگیری Memory Blockها در FPGA
- چگونگی پیکربندی حافظهها (Single Port، Dual Port و …)
- چگونگی مقداردهی اولیه به حافظهها
- سنتز سطح بالا (HLS)
- آشنایی با الگوریتمهای زمانبندی
- آشنایی با الگوریتمهای Binding
- آشنایی با الگوریتمهای اشتراک منابع
- چگونگی تقسیم توصیف سطح بالا به واحدهای مسیر داده و کنترل با اعمال الگوریتمهای بالا
- انجام جستجوی فضای طراحی
ارزیابی پیشنهادی
- تمرینهای نظری: ۳ نمره
- آزمونهای میانترم و پایانی: ۱۵ نمره
- آزمونکها: ۲ نمره
منابع پیشنهادی
- V. Taraate. Digital Logic Design Using Verilog: Coding and RTL Synthesis. 2nd edition, Springer, 2022.
- S. Baranov. High Level Synthesis of Digital Systems. 2018.
- G. De Micheli, Synthesis and Optimization of Digital Circuits McGraw Hill, 1994.