در حال ایجاد حساب کاربری

آموزش های تخصصی ، جایگاهی برای انتخاب بهترین رویدادهای علمی ، آموزشی

رویداد پردازش سیگنال و تصویر در متلب و پیاده سازی الگوریتمهای آنها در FPGA به زبان VHDL

آموزشی - کارگاه
مشاهده پوستر ثبت نام / ورود
بخش برق-مرکز آموزش مهارتهای مهندسی
توضیحات

معرفی دوره:

امروزه در پروژه های بسیاری نیاز به انجام پردازش ها و محاسبات سنگین و پیچیده مشاهده می شود که به دلایلی نظیر سرعت، دقت، کارایی و … استفاده از Processor و Microcontroller های عادی، برای انجام آن ها، لزوما انتخاب مناسبی نیست و باید به دنبال ابزار بهتری بود.

FPGA ها تراشه هایی قابل برنامه ریزی هستند که ابزاری قدرتمند در انجام کارهایی نظیر: طراحی و پیاده سازی سیستم های پردازش موازی، سیگنال و تصویر، سیستم های مخابراتی، کامپیوتری، محاسباتی، هوش مصنوعی و … همچنین Prototype قبل از طراحی ASIC هستند.

FPGA یک سخت افزار خام است که شما می­توانید هر سخت افزاری را بر روی آن قرار دهید (دانلود کنید)، بطوریکه از آن لحظه به بعد کار همان سخت افزار را انجام میدهد. این سخت افزار میتواند یک گیت NAND مانند IC۷۴۰۰ باشد تا یک میکروکنترلر (مثلا AVR). اما در عمل سخت افزارهایی که IC آنها وجود ندارد را بر روی FPGA پیاده سازی میکنند. در واقع FPGA یک بستری برای پیاده سازی مدارات ASIC(Application Specific Integrated Circuit) (مدارات خاص منظوره) است که بیشتر در صنایع نظامی، پزشکی، فیلترهای دیجیتال، سیستم های انتقال دیتاهای دیجیتال، سیستم های مخابراتی و سیستم های مختلف کنترلی در مواردی که سرعت پردازشی بالا، هزینه پایین، تعداد کم و زمان طراحی و توسعه کم مورد نیاز است استفاده میگردد. در صورتیکه هزینه مهم نباشد یا تعداد زیاد برای تولید مد نظر باشد دیگر از FPGA استفاده نمیشود و IC جدیدی برای آن منظور طراحی میگردد.

در طراحی FPGA به این علت که کل سخت افزار را طراح طراحی میکند میتواند برای رسیدن به محدودیتهای توان یا زمان به راحتی و هرجا که نیاز باشد از pipeline (خط لوله) یا parallel processing (پردازش موازی) استفاده نماید. همچنین میتواند از هر معماری سخت افزاری که مدنظرش باشد برای پیاده سازی سخت افزار استفاده نماید. این مورد مزیت بالایی نسبت به استفاده از IC های آماده با کارایی ثابت و از پیش مشخص میباشد. بعنوان مثال کارها و پردازشهایی را که میتوان با FPGA انجام داد را حتی با قویترین میکروکنترلرهای موجود نیز نمیتوان انجام داد. زیرا این میکروکنترلرهای کاراییشان ثابت و سیمبندی شده است، مثلا باس دیتا ۶۴ بیت ثابت، اما در FPGA درصورت نیاز میتوان باس داده ۱۰۲۴ بیتی را نیز داشته و حتی میتوان روی همه این بیتها بصورت موازی پردازش انجام داد. در بحث موازی سازی نیز قدرت FPGA میتواند بسیار بیشتر از کارتهای گرافیک کامپیوتری باشد زیرا در FPGA تعداد واحدهای پردازشگر موازی را خود طراح تعیین میکند در حالیکه در کارتهای گرافیک این تعداد ثابت هستند.

امروزه با رشد الگوریتمهای پردازش تصویر، پردازش سیگنال، الگوریتمهای هوش مصنوعی مانند شبکه های عصبی، یادگیری عمیق و ماینینگ (استخراج) ارز دیجیتال تمایل به سمت پیاده سازی سخت افزارهای مورد نظر بر روی FPGA افزایش یافته است.

امروزه برای کسانیکه تمایل دارند در حوزه دیجیتال مشغول به کار و فعالیت شوند یادگیری یکی زبانهای توصیف سخت افزار (VHDL یا Verilog) اجتناب ناپذیر است. خصوصا در بازار امروز که روز به روز سرعت تبادل و انتقال داده ها افزایش یافته، تعداد دستگاه های ثبت داده از قبیل دوربینها و سنسورها بشدت افزایش یافته و همچنین ظرفیت دستگاه های ذخیره سازی داده در حال افزایش است و بحثهای مربوط به big data مطرح شده اند الگوریتمهای جدید و سفارشهای جدید و کاربردهای جدیدی را از طراحان سخت افزار خواستار هستند. بنابراین با توجه به تعداد کم متخصصین FPGA یادگیری دانش طراحی سخت افزار مبتنی بر FPGA میتواند یک زمینه کاری مناسب برای علاقمندان به حوزه سخت افزار باشد.

سرفصلهایی که ما برای دوره پردازش سیگنال و تصویر با FPGA درنظر گرفته ایم، بر اساس آموزش زبان توصیف سخت افزار VHDL میباشد و سعی کرده ایم تا همه جزئیات این زبان توصیف سخت افزار را در قالب پروژه و مثال هایی جذاب و کاربردی بیان نموده و مرورکنیم. همچنین شرکت کنندگان میتوانند این سخت افزارهای طراحی شده را در کلاس بر روی FPGA دانلود (پروگرام) کرده و خروجی را بطور عملی مشاهده نمایند. به همین منظور بردهای آموزشی ای تهیه شده است تا دانشجویان بتوانند تمرینها و مثالهای کلاسی را عملا بر روی FPGA پیاده سازی نمایند.

در نهایت لازم به ذکر است که این دوره به گونه ای طراحی شده است که بعد از اتمام آن شرکت کنندگان در کارگاه میتوانند با اعتماد به نفس کافی وارد بازار کار شوند زیرا سعی شده است که به بسیاری از مفاهیم مربوط به طراحی سخت افزار با FPGA در کلاس اشاره نماییم بطوریکه کارآموز مهارت لازم برای انجام پروژه‌های پیشرفته مرتبط را بدست اورده و بعدا میتواند در مواجهه با پروژه های واقعی به راحتی با اندک تلاشی اطلاعات تکمیلی را در شاخه کاری موردنظر بدست بیاورد. در انتهای دوره آموزشی دانش‌پذیر قادر به طراحی یک سیستم دیجیتال بر روی FPGA خواهد بود.

شرکت در این دوره برای افرادی که علاقه مند به فعالیت در حوزه های دیجیتال و طراحی سخت افزارهای دیجیتالی هستند سودمند خواهد بود و چشم انداز تازه ایی را برای علاقه مندان به فعالیت در حوزه های پیشرفته تر همچون پردازش سیگنال ( signal processing )، رباتیک، محاسبات حجیم (high performance computing) Embedded System و ... پیش روی علاقه مندان خواهد گشود و بالطبع نوید بخش دور نمایی بهتر و موفقتر در آینده علمی و شغلی آنان خواهد بود.

ما در این دوره از روش آموزش در قالب مثال استفاده میکنیم.

یعنی طرح درس را بگونه ای انجام داده ایم که همه مفاهیم را در قالب مثال بیان کنیم.

این کار باعث میشود تا مطالب هر جلسه در جلسه بعد نیز مرور شود.



مورد دیگری که قابل ذکر است روش تدریس بصورت کد نویسی در کلاس است، یعنی ما مثالها را از قبل در قالب کد بصورت آماده ذخیره نمیکنیم و در کلاس بصورت مستقیم هر مثال را از اول طراحی کرده و سپس توصیف سخت افزاری آن را مینویسیم.

این موضوع باعث میشود تا دانشجویان با نحوه صحیح طراحی در عمل و در هنگام مواجهه با مسائل دنیای واقعی بدانند که چطور به مساله ورود نمایند.

همچنین برای حل هر مثال بصورت گام به گام پیش میرویم و خطاهای عمدی موجود در کد را به مرور در کلاس مرتفع میکنیم. به این ترتیب دانشجو با انواع پیغامهای خطا و نحوه رفع هر یک آشنا میشود.

همچنین بعد از انجام هر مثال تمرینی به دانشجویان داده میشود تا با تغییر مختصری در کد نوشته شده بتوانند طراحی جدید را انجام داده و بصورت عملی بر روی بردهای موجود در کارگاه پیاده سازی نمایند.

زمان برگزاری: جمعه ها ساعت ۸ الی ۱۴
سرفصل های دوره:

جلسه اول:

بحثهای مربوط به fixed-point و floating-point در متلب

بحثهای مربوط به کوانتیزیشن و خطای کوانتیزیشن

بحثهای مربوط به مبدلهای ADC و DAC

خواندن ADC و ذخیره داده های نمونه برداری شده ADC

آموزش سیمولینک مقدماتی

معرفی واحدهای DSP۴۸ در FPGA

ایجاد یک شکل موج سینوسی و نمونه برداری از آن در MATLAB

انواع روشهای ایجاد یک شکل موج سینوسی در FPGA

پیاده سازی مدولاتور AM در سیمولینک و FPGA مقایسه نتایج



جلسه دوم:

پیاده سازی Moving Average Filter

پیاده سازی فیلتر FIR با معماری های مختلف در سیمولینک و FPGA و صحت سنجی نتایج

پیاده سازی فیلتر بصورت Hard Wired



جلسه سوم:

پیاده سازی فیلتر IIR با معماری های مختلف در سیمولینک و FPGA و صحت سنجی نتایج

پیاده سازی فیلتر بصورت Hard Wired

تکنیک‌های افزایش راندمان و سرعت (موازی‌سازی، خط‌لوله، …)

بحثهای تحلیل توان و سرعت و منابع در FPGA



جلسه چهارم:

حافظه های توزیع شده و بلوکی در FPGA

طریقه تست مدار با chip scope

معرفی نحوه پیاده سازی الگوریتمها بصورت موازی در FPGA

پیاده سازی بخشی از گیرنده رادار SSR



جلسه پنجم:

معرفی پردازش تصویر در متلب

باز کردن تصویر، تغییر اندازه دادن تصویر، چرخش تصویر، ذخیره تصویر، برش تصویر

اعمال انواع فیلترهای مختلف بر روی تصویر

اضافه کردن نویز به تصویر، نویز زدایی از تصویر

آشکارسازی لبه های تصویر، تقویت لبه های تصویر

معرفی نحوه خواندن تصویر در FPGA

معرفی نحوه پیاده سازی چند نوع فیلتر مختلف بر روی FPGA

معرفی نحوه ذخیره تصویر پردازش شده



جلسه ششم:

راه اندازی DAC جهت ایجاد یک شکل موج سینوسی

آشنایی با IP Core ROM

راه اندازی ADC

آشنایی با IP Core RAM و پیاده سازی DPRAM

آشنایی با IP Core RAM و پیاده سازی SPRAM

پیاده سازی ماژول ارتباط با SRAM خارجی

پیاده سازی واسط ارتباط VGA

ارسال و دریافت دیتا با استفاده از ماژولهای HM/TR

آموزش و راه اندازی ماژول آلتراسونیک



جلسه هفتم:

آشنایی با پردازنده Embedded و میکروبلیز.

طراحی و پیاده سازی چند پروژه ساده با استفاده از میکروکنترلر میکروبلیز



جلسه هشتم:

آشنایی با HDL Coder محیط سیمولینک متلب و انجام چند پروژه

آشنایی با Vivadoo و طراحی بلوکی در محیط آن

اطلاعات موردنیاز
دانشکده
مرکز آموزش مهارت های مهندسی
رشته های تحصیلی
مهندسی برق, مهندسی کامپیوتر, فیزیک, مهندسی هوا و فضا, مهندسی مکانیک
موارد تکمیلی
گواهینامه
دارد
سطح گستردگی رویداد
بین المللی
مکان برگزاری رویداد
داخل دانشگاه - تهران، خیابان آزادی، دانشگاه صنعتی شریف، کارگاه برق
مدرس دوره
دکتر محمد جوادیان
  • شروع و اتمام رویداد
  • ۱۴۰۰/۰۲/۱۰ - ۱۴۰۰/۰۷/۱۲
  • شروع و اتمام ثبت نام
  • ۱۳۹۹/۰۸/۰۵ - ۱۴۰۰/۰۲/۰۹
  • شروع و اتمام دوره
  • 08:00 - 14:00
  • مدت زمان رویداد
  • 36