آشنایی مختصر با دوره FPGA مقدماتی

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

تحلیل بازار کار

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

معمولادر صنایع و شرکت هایی که به تولید محصولات برق و الکترونیک می پردازند، هزینه تمام شده محصول اولویت بیشتری نسبت به سرعت و کارایی دارد بنابراین از میکروکنترلرهای رایجی چون AVR ، ARM و PIC استفاده می شود. اما در کاربردهای نظامی همچون مخابرات، هوا فضا و ... این سرعت و کارایی سیستم است که حرف اول را می زند و هزینه اهمیت چندانی ندارد. بنابراین این صنایع عمدتا از پردازنده های FPGA استفاده می کنند. پس مسلما این صنایع نیازمند متخصصین با دانش کافی در حوزه FPGA جهت انجام پروژه های مختلف خواهند بود.

 

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

توانایی دانشجو پس از پایان دوره FPGA مقدماتی

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

شیوه برگزاری کلاس

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

      ·         آشنايي با مدارات منطقي قابل برنامه ريزي

      ·         آشنايي با FPGA هاي شركت XILINX

      ·         آشنايي با نرم افزار ISE :

o        نحوه ايجاد پروژه در محيط نرم افزار

o        تنظيمات قطعه و فايل هاي موجود در پروژه

o        آشنايي با شبیه سازی پروژه در محيط ISim و ModelSim

      ·          نحوه پياده سازي پروژه در محيط شماتيك

      ·         آموزش زبان توصيف سخت افزاري (VHDL)

o        آشنايي با قالب كلي زبان هاي توصيف سخت افزاري و تفاوت آنها با ساير زبان هاي برنامه نويسي

o        تعريف پورت هاي ورودي ، خروجي و دوطرفه

o        آشنايي با انواع سيگنالها و متغيرها و نحوه تعريف آنها

o        استفاده از فرامين شرطي و كنترلي

o        داده های برداری در VHDL   

o        استفاده از كد VHDL به عنوان يك component در برنامه نويسي

      ·         پیاده سازی مدارات ترکیبی وترتیبی

 

      ·         آموزش استفاده از IPCORE ها و انجام پروژه های ترکیبی

عناوین پروژه ها و تمرین های کلاس FPGA مقدماتی:
 

·         شمارنده با قابلیت نمایش بر روی 7-segment

·         ایجاد پالس PWM

·         برقراری ارتباط سریال با کامپیوتر

·         راه اندازی پروتکل ارتباطی USART

·         راه اندازی پروتکل ارتباطی SPI

·         راه اندازی مبدل آنالوگ به دیجیتال ADC

·         راه اندازی مبدل دیجیتال به آنالوگ

·         راه اندازی LCD کاراکتری

·         راه اندازی حافظه های خارجی FLASH و SRAM

·         برقراری ارتباط با پورت VGA 

·         برقراری ارتباط با پورت PS2

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

ساختار داخلی این پردازنده ها با میکروکنترلرهای AVR و ARM کاملا متفاوت است و باتوجه به اینکه اکثر دانشجویان مهندسی برق در دانشگاه با میکروکنترلرها آشنا می شوند، ممکن است در ابتدای کار با FPGA ، بدلیل عدم ارتباط با ساختار این تراشه به کندی پیش بروند که امری کاملا طبیعی است.

 

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

در حال بروز رسانی

.برای شرکت در دوره FPGA چه پیش نیازی باید داشته باشم ؟

برای یادگیری طراحی مدارهای دیجیتال مبتنی بر FPGA نیاز به دانش اصول مدارهای دیجیتال و یا مدارمنطقی می باشد. دانش برنامه نویسی نیز از ضروریات شرکت در این دوره هست چرا که در این الگوریتم برنامه نویسی آموزش داده نمی شود و صرفا دستورات کاربردی مبتنی بر زبان برنامه نویسی vhdl آموزش داده می شود .

هم چنین کار با مدارهای الکترونیک دیجیتال در هر حوزه ای از جمله میکروکنترلر نیز می تواند به فراگیران این مهارت کمک کند .

.آیا برای یادگیری FPGA نیاز به توانمندی برنامه نویسی میکروکنترلر می باشد ؟

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

.چه خانواده ای از FPGA تدریس میشه و آیا فرقی داره ؟

در ایران خانواده های Xilinx و Altera بسیار محبوب هستن و در صنایع نظامی و شرکت های مختلف الکترونیکی از هر دو برند استفاده می شود . نکته مهم در فراگیری FPGA این هست که ساختار طراحی مدارهای دیجیتال مبتنی بر FPGA حائز اهمیت است و به صورت کلی می توان گفت با یادگیری هر یک از برندهای نام برده شده می توان به برند دیگر هم رجوع کرد و نیازی به یادگیری مجدد نیست . ضمن اینکه به دلیل استقبال بیشتر مخاطبین از برند Xilinx دوره های این برند به تعداد بیشتری در نیراسیستم تشکیل می شود .

. به نظر شما فردی که تسلط زیادی به مبانی دیجیتال ندارد بهتر است برای یادگیری میکرو ARM  را انتخاب کند یا FPGA ؟

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

. از چه نرم افزاری برای آموزش استفاده می شود ؟

در دوره های Xilinx از نرم افزار ISE و در دوره های Altera از نرم افزار Quartus استفاده می شود .

.یادگیری FPGA با کدام زبان برنامه نویسی مناسب تر است ؟

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

.آیا در طول دوره از سخت افزار هم جهت یادگیری استفاده می شود؟

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

. آیا برای استفاده از سخت افزار و بردهای آموزشی باید هزینه جداگانه ای پرداخت کرد؟

خیر؛ بردهای آموزشی در طول دوره و جهت استفاده در کلاس به صورت رایگان در اختیار دانشجویان قرار می گیرد.

. آیا امکان تهیه برد آموزشی برای استفاده خارج از کلاس نیز وجود دارد؟

بله؛ در صورتی که دانشجو جهت انجام تمرینات خارج از کلاس و انجام پروژه های شخصی نیازمند برد آموزشی باشد می تواند برد مورد نیاز را از مرکز آموزش نیراسیستم خریداری نماید اما هیچ اجباری در این خصوص وجود ندارد.

. آیا در انتهای دوره برای شرکت کنندگان گواهینامه صادر می شود؟

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

. نحوه برگزاری آزمون پایانی دوره به چه صورت است؟

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

.آیا برای این دوره جزوه یا کتاب خاصی باید خریداری شود ؟

 

در تمامی دوره های آموزشی کتاب ها ، مراجع و فایل های آموزشی مختلفی توسط اساتید معرفی می گردد .