طراحی کامپیوتری سیستمهای دیجیتال: دروازهای به دنیای سختافزار و FPGA (بهشتی – 23 جلسه)
آیا به طراحی سختافزار علاقه دارید و میخواهید مدارهای پیچیده را خودتان بسازید؟ آیا میخواهید بدانید چگونه میتوان یک سیستم کامل کامپیوتری را روی یک تراشه پیادهسازی کرد؟ این دوره آموزشی طراحی کامپیوتری سیستمهای دیجیتال، ضبط شده در دانشگاه بهشتی و شامل 23 جلسه، دقیقا همان چیزی است که به آن نیاز دارید!
چرا باید طراحی کامپیوتری سیستمهای دیجیتال را یاد بگیریم؟
طراحی کامپیوتری سیستمهای دیجیتال یکی از دروس اصلی رشتههای مهندسی کامپیوتر و برق است که به شما امکان میدهد:
مدارهای پیچیده را با استفاده از زبانهای توصیف سختافزار ایجاد و شبیهسازی کنید.
مدارها را با ابزارهای سنتز به مدارهای قابل پیادهسازی روی FPGA و ASIC تبدیل کنید.
با FPGAها (آرایههای منطقی برنامهپذیر) آشنا شوید و نحوه ایجاد یک سیستم کامل کامپیوتری روی یک تراشه (SoC) را یاد بگیرید.
FPGA چیست و چرا اینقدر مهم است؟
FPGAها سختافزارهای قابل برنامهریزی هستند که به سرعت در حال رشد هستند. این تراشهها امکان ایجاد یک سیستم کامل کامپیوتری روی یک تراشه (SoC) را فراهم میکنند که شامل پردازندهها، حافظهها، ماژولهای ورودی/خروجی، عناصر محاسباتی، و از همه مهمتر عناصر سختافزاری قابل برنامهریزی هستند. به همین دلیل، تمرکز این دوره آموزشی بر آشنایی با FPGAها و نحوه توصیف سختافزارها برای پیادهسازی روی آنها است.
در این دوره چه مباحثی آموزش داده میشود؟
در این دوره آموزشی، شما با موارد زیر آشنا میشوید:
مقدمات ایجاد کامپیوترها و تراشههای اولیه: در این بخش، شما با تاریخچه و تکامل کامپیوترها و تراشهها آشنا میشوید.
روشهای مرسوم پیادهسازی مدارهای دیجیتال: در این بخش، شما با روشهای مختلف پیادهسازی مدارهای دیجیتال مانند گیتهای منطقی، فلیپ فلاپها، و شمارندهها آشنا میشوید.
تراشههای با قابلیت برنامهریزی (PLD و FPGA): در این بخش، شما با تراشههای PLD و FPGA و نحوه ایجاد قابلیت برنامهریزی روی سختافزار آشنا میشوید.
زبان VHDL: در این بخش، شما با زبان VHDL به عنوان یک زبان توصیف سختافزار آشنا میشوید و نحوه توصیف مدارهای منطقی ساده و پیچیده را با استفاده از این زبان یاد میگیرید.
ماشینهای حالت: در این بخش، شما با ماشینهای حالت و نحوه پیادهسازی آنها آشنا میشوید.
طراحی FSMD (بخشهای داده و کنترلی): در این بخش، شما با متد طراحی FSMD آشنا میشوید و نحوه توصیف سیستمهای بزرگتر را یاد میگیرید.
حافظهها: در این بخش، شما با حافظهها و نحوه استفاده از آنها در سیستمهای دیجیتال آشنا میشوید.
سنتز: در این بخش، شما با فرآیند سنتز کدهای VHDL و نحوه برنامهریزی FPGA برای انجام کار خواسته شده آشنا میشوید.
پیشنیازهای این دوره چیست؟
برای درک بهتر مطالب این دوره، آشنایی کامل با مدار منطقی و معماری کامپیوتر ضروری است. پیشنهاد میشود حتماً مباحث درس مدارهای منطقی را مرور کنید تا درک مفاهیم پایه این درس سادهتر شود.
آیا این دوره برای من مناسب است؟
این دوره آموزشی برای تمام مهندسین کامپیوتر و برق که به طراحی سختافزار و FPGAها علاقهمند هستند، مناسب است. اگر میخواهید مهارتهای خود را در این زمینه افزایش دهید و وارد دنیای جذاب طراحی سختافزار شوید، این دوره را از دست ندهید.
پرسشهای متداول شما در مورد طراحی کامپیوتری سیستمهای دیجیتال:
1. چگونه میتوانم مدارهای پیچیده را با VHDL طراحی کنم؟ با استفاده از دستورات پایه VHDL و ترکیب آنها با دستورات شرطی، حلقه و عناصر حافظه، میتوانید مدارهای پیچیده را طراحی کنید.
2. چرا FPGAها در طراحی سیستمهای دیجیتال مهم هستند؟ FPGAها امکان پیادهسازی مدارهای دیجیتال به صورت انعطافپذیر و قابل برنامهریزی را فراهم میکنند.
3. چه تفاوتی بین FPGA و ASIC وجود دارد؟ FPGAها قابل برنامهریزی هستند، در حالی که ASICها برای یک کاربرد خاص طراحی و ساخته میشوند.
4. آیا برای یادگیری VHDL نیاز به دانش برنامهنویسی دارم؟ داشتن دانش برنامهنویسی میتواند به یادگیری VHDL کمک کند، اما ضروری نیست.
5. چگونه میتوانم FPGA را برای انجام کار خواسته شده برنامهریزی کنم؟ با استفاده از ابزارهای سنتز و پیادهسازی، میتوانید کدهای VHDL را به فایلهای قابل برنامهریزی برای FPGA تبدیل کنید.
6. آیا میتوانم با استفاده از FPGA یک پردازنده سفارشی طراحی کنم؟ بله، با استفاده از FPGA میتوانید یک پردازنده سفارشی طراحی و پیادهسازی کنید.
7. چرا ماشینهای حالت در طراحی سیستمهای دیجیتال مهم هستند؟ ماشینهای حالت به شما کمک میکنند تا سیستمهای دیجیتال را به صورت ساختیافته و منظم طراحی کنید.
8. چگونه میتوانم یک سیستم کامل کامپیوتری روی یک تراشه (SoC) پیادهسازی کنم؟ با استفاده از FPGA و زبان VHDL، میتوانید یک سیستم کامل کامپیوتری شامل پردازنده، حافظه و ماژولهای ورودی/خروجی را روی یک تراشه پیادهسازی کنید.
9. چه ابزارهایی برای طراحی و شبیهسازی مدارهای دیجیتال با VHDL وجود دارد؟ ابزارهای مختلفی مانند Xilinx Vivado و Intel Quartus Prime برای طراحی و شبیهسازی مدارهای دیجیتال با VHDL وجود دارند.
10. چگونه میتوانم با طراحی FSMD سیستمهای بزرگتر را توصیف کنم؟ با ترکیب ماشین حالت و بخشهای پردازش داده، میتوانید سیستمهای بزرگتر را به صورت ساختیافته و منظم توصیف کنید.
11. چه کاربردهایی برای FPGAها در صنعت وجود دارد؟ FPGAها در صنایع مختلف مانند مخابرات، پزشکی، خودرو و هوافضا کاربردهای گستردهای دارند.
12. چگونه میتوانم مهارتهای خود را در زمینه طراحی FPGA بهبود بخشم؟ با تمرین مداوم، مطالعه منابع آموزشی و شرکت در پروژههای عملی میتوانید مهارتهای خود را در زمینه طراحی FPGA بهبود بخشید.
13. آیا این دوره آموزشی به من کمک میکند تا در بازار کار موفق شوم؟ بله، با یادگیری مباحث این دوره و کسب مهارتهای لازم، میتوانید در بازار کار به عنوان یک طراح سختافزار FPGA موفق شوید.
14. بعد از گذراندن این دوره، چه دورههای تکمیلی را پیشنهاد میکنید؟ دورههای تکمیلی در زمینه معماری کامپیوتر پیشرفته، طراحی سیستمهای نهفته (Embedded Systems) و پردازش سیگنال با FPGA میتواند به شما کمک کند تا مهارتهای خود را ارتقا دهید.
15. چگونه میتوانم با دکتر جهانیان در ارتباط باشم؟ با جستجو در وبسایت دانشگاه شهید بهشتی و یا شبکههای اجتماعی میتوانید اطلاعات تماس دکتر جهانیان را پیدا کنید.
دکتر جهانیان، دانشیار دانشکده مهندسی و علوم کامپیوتر دانشگاه شهید بهشتی، با مدرک دکتری معماری کامپیوتر از دانشگاه امیرکبیر، این دوره را تدریس میکنند. ایشان محقق برتر مرکز تحقیقات مخابرات ایران در سال 76 و رتبه نخست مسابقات امنیت سختافزار در سال 93 بودهاند. این نشان از تخصص و تجربه بالای ایشان در این زمینه دارد.
نقد و بررسیها
هنوز بررسیای ثبت نشده است.