دوره آموزش FPGA کاربردی

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

برگزارکننده:  دانشگاه کرنل  دانشگاه کرنل
مدرس دوره:
سطح: مقدماتی
 رایگان
  
زمان مورد نیاز برای گذارندن دوره:  26 جلسه
مجموع محتوای آموزشی:  21 ساعت ویدئو
 (قابل دانلود می‌باشد)

آنچه در این دوره می‌آموزیم:

 آموزش FPGA

 آموزش FPGA کاربردی

 آموزش FPGA پروژه محور

 آشنایی کامل با FPGA

سرفصل‌های دوره دوره آموزش FPGA کاربردی

فیلم های آموزشی
  جلسه 1 - مقدمه
"55:13  
  جلسه 2 - RAM بر روی بورد DE2 و Cyclone
"55:13  
  جلسه 3 - VGA در بورد DE2
"56:03  
  جلسه 4
"53:58  
  جلسه 5 - فیلتر صدا
"47:54  
  جلسه 6 - Stach Mach و Compiler
"49:05  
  جلسه 7 - ADC و DAC در بورد DE2
"44:49  
  جلسه 8 - فیلتر دیجیتال
"38:28  
  جلسه 9 - Digital filtering
"47:44  
  جلسه 10 - موج 2 بعدی در FPGA - قسمت 1
"50:51  
  جلسه 11 - موج 2 بعدی در FPGA - قسمت 2
"45:19  
  جلسه 12 - موج 2 بعدی در FPGA - قسمت 3
"42:13  
  جلسه 13 - سری فرکتالی مندلبرات در FPGA
"47:23  
  جلسه 14 - موج 2 بعدی در NIOS
"46:40  
  جلسه 15 - SOPC و Nios2
"50:43  
  جلسه 16 - نرم افزار NIOS2 - قسمت 1
"48:28  
  جلسه 17 - نرم افزار NIOS2 - قسمت 2
"44:55  
  جلسه 18 - توضیحی در مورد پروژه درس
"44:20  
  جلسه 19 - Floating Point - قسمت 1
"50:45  
  جلسه 20 -Floating Point - قسمت 2
"48:53  
  جلسه 21 - Multi_Nios
"48:30  
  جلسه 22 - پردازش تصویر
"27:15  
  جلسه 23 - تشخیص Edge
"49:23  
  جلسه 24 - تشخیص چهره
"43:18  
  جلسه 25 - Mandelbrot and sound localization
"51:04  
  جلسه 26--Sound Synthesis and Localization
"42:14  

درباره دوره

FPGA مخفف Field Programmable Gate Array است که معنای عام فارسی آن آرایه گیت قابل برنامه‌ریزی است. به زبانی ساده‌تر می‌توان گفت که FPGA مدار مجتمع طراحی‌شده برای پیکربندی یا برنامه‌ریزی پس از قرار گرفتن در مدار برای قطعات دیجیتال است تا امکان به‌روزرسانی یا تغییر عملکرد آن‌ها را فراهم کند. این دوره آموزش FPGA کاربردی مربوط به این مدار مجتمع و آموزش جنبه‌های مختلف آن خواهد بود که در 26 جلسه آموزشی به صورت رایگان برای کاربران در پلت فرم مکتب خونه قرار داده شده است.

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

FPGA چیست؟

Field Programmable Gate Array یا FPGA یک دستگاه منطقی قابل برنامه‌ریزی (یک نوع مدار مجتمع) است که با استفاده از این مدار مجتمع می‌توان مدارات پیچیده‌تری مانند میکرو کنترلر، پروسسور تصویر و صدا، بخشی از گیرنده مدارات و سیستم‌های مخابراتی و غیره را با قیمت نسبی کم طراحی کرد. امروزه بیشتر شرکت‌های تولید قطعات مانند سیسوگ از فنّاوری FPGA در مدارات خود استفاده می‌کنند.

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

کاربردهای FPGA

FPGA در بسیاری از برنامه‌ها استفاده می‌شود. با توجه به هزینه‌ای که دارند، اف پی جی ها در محصولات ارزان قیمت با مصرف بالا استفاده نمی‌شوند، اما در عوض FPGA- ها در صنایع و حوزه‌های مختلفی کاربرد پیدا می‌کنند که ممکن است به مدارهای منطقی پیچیده نیاز باشد. یا در شرایطی که پیش بینی شود که در آینده تغییراتی برای این مدارها لازم باشد از FPGA استفاده خواهد شد. برنامه‌های کاربردی FPGA طیف وسیعی از حوزه‌ها را از تجهیزات ویدئویی و تصویربرداری گرفته تا مدارات هوافضا و کاربردهای نظامی و همچنین الکترونیک برای پردازش‌های تخصصی و موارد دیگر را پوشش می‌دهد.

ماهیت قابل تنظیم مجدد FPGA به این معنی است که می‌توان از آن در تعداد زیادی از برنامه‌های مختلف استفاده کرد که دوتا از بارزترین این کاربردهای FPGA شامل موارد زیر هستند:

  • نمونه‌سازی ASIC: ASIC- ها یا مدارهای مجتمع با کاربرد خاص اغلب در تولید با حجم بالا استفاده می‌شوند، اما توسعه آن‌ها بسیار پرهزینه است و انجام تغییرات بسیار گران و زمان بر و در واقع عملکرد آن ثابت خواهد بود. همچنین از آنجاکه تراشه‌های ASIC معمولاً بسیار پیچیده هستند اغلب اوقات در داخل آن‌ها از FPGA استفاده خواهد شد که این کار باعث می‌شود علاوه بر ساده‌سازی طراحی، عملکرد مدار کاملاً پویا و قابل تغییر باشد.
  • تجهیزات تعریف‌شده نرم‌افزاری: با توجه به اینکه تجهیزات در حال حاضر بیشتر به سمت نرم‌افزاری می‌روند، این امکان وجود دارد که با استفاده از FPGA بتوان تجهیزات نرم‌افزاری دقیقی را با آن ساخت که در دوره آموزش FPGA کاربردی به این جنبه از کاربرد FPGA پرداخته شده است.

معرفی دوره آموزش FPGA کاربردی

دوره آموزش FPGA کاربردی یکی از بهترین دوره‌های آموزشی برای آموزش مفاهیم FPGA کاربردی به‌حساب می‌آید که هم اکنون در پلت فرم مکتب خونه برای کاربران قرار داده شده است. این دوره آموزش دوره آموزش FPGA کاربردی شامل 26 جلسه آموزشی – کاربردی خواهد بود که به صورت تخصصی و عملی به مفاهیم حول FPGA میپردازد.

این دوره با هدف آشنایی متقاضیان با FPGA و طراحی مدارهای پویا با زبان انگلیسی از صفر تاصد ارائه شده است و می‌تواند نقطه‌ شروع خوبی برای ورود به بازار کار FPGA باشد.

پیش‌نیازهای دوره کاربردی آموزش FPGA

از آنجاکه این دوره به زبان انگلیسی ضبط و ارائه شده است برای درک مفاهیم این دوره آموزش کاربردی اف پی جی آی به صورت کامل لازم خواهد بود که کاربران به زبان انگلیسی تسلط نسبی داشته باشند و بتوانند مفاهیم بیان شده را درک کنند. همچنین از پیش‌نیازهای دوره آموزش FPGA کاربردی آشنایی به زبان‌های توصیف سخت‌افزار مانند: VHDL و Verilog.
است. لازم به ذكر است که دوره‌های آموزشی این دو زبان توصیف سخت‌افزار نیز در پلتفرم مکتب خونه قرار داده ‌شده‌اند.

درباره استاد

maktabkhooneh-teacher بوروس لند

یکی از محبوب ترین اساتید دانشگاه کرنل، بورس لند، او حدود 40 سال در این دانشگاه مشغول درس دادن و درس خواندن است. زمینه علاقه‌ی ابتدایی او هوش مصنوعی، بیولوژی و سیستم‌های عصبی مصنوعی و طبیعی بود. بعدها او به سمت مهندسی برق کشیده شد و هم اکنون در بایوالکترونیک مشغول فعالیت است. کلاس‌های او به دلیل کار عملی حرفه‌ای فراوان همواره مورد استقبال دانشجویان بوده است.

مشاهده پروفایل و دوره‌‌های استاد

نظرات کاربران

تا کنون نظری برای این دوره ثبت نشده است. برای ثبت نظر باید ابتدا در دوره ثبت نام کرده و دانشجوی دوره باشید.

دوره‌های پیشنهادی

سوالات پرتکرار

آیا ممکن است که درسی ناقص ضبط شده باشد؟
ما همواره تلاش کرده­‌ایم که دروس را به طور کامل ضبط نماییم و در اختیار شما دوستان قرار دهیم. اما گاهی برخی ناهماهنگی ها سبب می شود که یک یا تعدادی از جلسات یک درس ضبط نشود. توضیح این گونه نواقص در توضیح درس­ ها آمده است.

سوالات پرتکرار

اگر لینک دانلود یا پخش ویدئو مشکل داشت چه باید کرد؟
در صورتی که با هر گونه مشکلی رو به رو شدید می توانید از طریق صفحه ارتباط با ما به ما اطلاع دهید تا ما سریعا مشکل را پیگیری و برطرف نماییم.

سوالات پرتکرار

آیا امکان دریافت فیلم های یک درس به صورت سی دی یا دی وی دی وجود دارد؟
در حال حاضر امکان ارسال دروس به صورت سی دی یا دی وی دی وجود ندارد.

اصول FPGA

مزیت بزرگ و اصلی FPGA این است که در آن تراشه کاملاً قابل برنامه‌ریزی بوده و می‌توان آن را دوباره برنامه‌ریزی کرد. به این ترتیب تراشه ما به یک مدار منطقی بزرگ تبدیل می‌شود که می‌توان آن را بر اساس یک طراحی پیکربندی کرد و در صورت نیاز به تغییرات می‌توان آن را با یک به‌روزرسانی دوباره برنامه‌ریزی کرد.

بنابراین اگر مدار یا برد ساخته شده‌ای و حاوی یک FPGA به‌عنوان بخشی از مدار باشد، در طول فرآیند تولید برنامه‌ریزی می‌شود و بعداً می‌تواند دوباره برنامه‌ریزی شود تا هر گونه تغییر را روی آن اعمال کرد. در دوره آموزش FPGA کاربردی اصول FPGA و نحوه کار با آن به صورت کامل پوشش داده شده است و کاربران نگرانی خاصی از این بابت ندارند.

اگرچه FPGA مزایای زیادی دارد، اما طبیعتاً معایبی نیز دارد. آن‌ها نسبت به ASIC- های معادل (مدار مجتمع ویژه برنامه) یا سایر IC های معادل کندتر و علاوه بر این در برخی از شرایط گران‌تر هستند. این بدان معنا است که انتخاب استفاده از طراحی مبتنی بر FPGA باید در اوایل چرخه طراحی انجام شود و به مواردی مانند اینکه آیا تراشه نیاز به برنامه‌ریزی مجدد دارد یا خیر، آیا می‌توان عملکردی معادل را در جای دیگری به دست آورد یا خیر و بسیاری از موارد دیگر بستگی دارد.

قطعات داخلی FPGA

معماری داخلی FPGA کلید انعطاف‌پذیری و در نتیجه موفقیت آن خواهد بود. اساساً یک FPGA از دو عنصر اساسی تشکیل‌شده است:

  • بلوک‌های منطقی: بلوک منطقی در یک FPGA می‌تواند به روش‌های مختلفی پیاده سازی شود. پیاده سازی واقعی به سازنده و همچنین سری FPGA مورد استفاده بستگی دارد.
  • مسیریابی داخلی FPGA: کانال‌های مسیریابی در FPGA شامل سیم‌هایی هستند که می‌توانند با استفاده از سوئیچ‌های قابل تنظیم الکتریکی به یکدیگر متصل شوند. به این ترتیب می‌توان نقاط مختلف تراشه را به هم پیوند داد و در نتیجه بلوک‌های منطق مشترک مختلف را به هر طریقی که لازم است به هم متصل کرد.
    توسعه سیستم‌عامل FPGA

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

HDL - های رایج عبارت‌اند از VHDL که در آن VHDL مخفف VHSIC Hardware Description Language) و  (وریلوگ | -  Verilogبا قابلیت شبیه سازی و کدنویسی مدارات است. هنگامی که این کار تکمیل شد و فرایند طراحی FPGA با استفاده از این زبان‌های توصیف سخت‌افزار انجام گرفت، مرحله بعدی در فرآیند طراحی FPGA، تولید یک NETLIST (نت لیست) برای خانواده خاص FPGA است که استفاده می‌شود. این نت لیست اتصال مورد نیاز در FPGA را توصیف می‌کند و با استفاده از یک ابزار اتوماسیون طراحی الکترونیک ایجاد می‌شود.

سپس با استفاده از فرآیندی به نام مکان و مسیر (place-and-route) که معمولاً توسط نرم‌افزار مکان و مسیر اختصاصی شرکت FPGA انجام می‌شود، می‌توان نت لیست را به معماری واقعی FPGA متصل کرد. در طراحی مدار از یک نت لیست برای توصیف ارتباط بین اجزای مدار استفاده می شود. به طور کلی، این یک فایل متنی است که از یک سینتکس نشانه گذاری (نحو کد نویسی) نسبتاً ساده پیروی می کند. در نهایت طراحی با استفاده از رویکرد FPGA انجام می‌شود و می‌توان از آن در برد مدار الکترونیکی که برای آن در نظر گرفته شده است استفاده کرد.

نکته مهم در مورد برنامه‌نویسی FPGA:

FPGA - ها برای تنظیم و پیکربندی منطق درون یک تراشه نیاز به فریم ویو (firmwave) دارند. این فریم ویو را می‌توان به روش‌های مختلفی توسعه داد و چندین پلتفرم نرم‌افزاری مختلف وجود دارد که می‌توان از آن‌ها برای این هدف استفاده کرد.

رویکردهای برنامه‌نویسی FPGA

راه‌های مختلفی برای توسعه کد برای برنامه‌ریزی یک FPGA وجود دارد. ابتدای پیداش آن‌ها، FPGA ها به صورت دستی برنامه‌ریزی می‌شدند. امروزه برای این هدف به یک برنامه نرم‌افزاری مورد نیاز است. چندین گزینه برای توسعه دهندگان FPGA وجود دارد که شامل موارد زیر خواهد بود:

  • VHDL: VHDL مخفف VHSIC Hardware Description Language است که خود VHSIC مخفف Very High Speed ​​Integrated Circuit  به حساب می آید. این زبان برنامه‌نویسی FPGA توسط وزارت دفاع ایالات متحده آمریکا برای مستندسازی رفتار ASIC ها یا مدارهای مجتمع خاص برنامه توسعه داده شده است. بر اساس زبان برنامه‌نویسی Ada، VHDL یک زبان متنی است که سال‌ها در برنامه‌نویسی FPGA بسیار موفق و محبوب بوده است.
  • Verilog: Verilog اولین شکل از زبان توصیف سخت‌افزار بود که توسعه یافت و هم اکنون این زبان به‌عنوان IEEE 1364 استاندارد شده است.
  • LabVIEW FPGA: LabVIEW FPGA از رابط گرافیکی اصلی LabVIEW استفاده می‌کند و از ابزارهای اضافی برای فعال سازی ارائه عملکرد مورد نیاز برای برنامه‌نویسی FPGA استفاده می‌کند.

زبان‌های توصیف سخت‌افزار با زبان‌های برنامه‌نویسی معمولی تفاوت دارند زیرا می‌توانند پارامترهایی از جمله تأخیر انتشار و همچنین قدرت سیگنال را در خود جای دهند.

همچنین لازم به ذکر است که Xilinx برترین فروشنده FPGA از نظر درآمد و پیشرو در صنعت در ارائه منابع برای مهندسین نرم افزار برای ایجاد برنامه های کاربردی FPGA است. با استفاده از نرم افزار Xilinx برای FPGA ها، می توانید توابع را در C، C++‎‎‎ و OpenCL برنامه ریزی کنید و آنها را روی سخت افزار ادغام کنید.

یکی از معروفترین نرم افزارهای این شرکت Xilinx IS است. Xilinx ISE یک ابزار نرم‌افزاری از شرکت Xilinx برای سنتز و تجزیه و تحلیل طرح‌های HDL است که در درجه اول توسعه سیستم عامل تعبیه شده برای خانواده‌های محصولات Xilinx FPGA و مدارهای مجتمع CPLD را هدف قرار می‌دهد.

تست FPGA

با توجه به پیچیدگی FPGA- ها، انجام آزمایش‌های دقیق طراحی FPGA یک امر بسیار ضروری است. این آزمایش معمولاً در هر مرحله از فرآیند توسعه FPGA انجام می‌شود. در دوره آموزش FPGA کاربردی به صورت پیشرفته این آزمایش‌ها مورد پوشش واقع شده‌اند. این آزمایش‌ها شامل شبیه‌سازی عملکردی و سایر روش‌های راستی‌آزمایی مدار هستند.

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

صفحات پربازدید
poster
  
برگزار کننده:  دانشگاه کرنل
  
زمان مورد نیاز برای گذارندن دوره:  26 جلسه
مجموع محتوای آموزشی:  21 ساعت ویدئو
 (قابل دانلود می‌باشد)