توسط احمد ثقفی 

5 فروردین, 1395

کابرد fpga

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

دو تفاوت اصلی بین این دو تکنولوژی پیاده‌سازی، امکان موازی‌سازی و وجود IOهای بیشتر در FPGAها است.

در این ویدئو، بعد از یادآوری این تفاوت‌ها، کاربردهای متعدد FPGAها را در حوزه‌های مختلف مخابراتی، پزشکی، و... شرح خواهم داد.

More...

بسیاری از افرادی که به دنبال شغلی در زمینه FPGA هستند، نگران آینده این حوزه و مقدار نیاز بازار کار آن هستند.

فکر می‌کنم یکی از ملاک‌ها برای پیش‌بینی آینده یک تکنولوژی، حجم سرمایه‌گذاری باشد که در حال حاضر روی آن انجام می‌شود.

بنابراین، در این ویدئو، این موضوع را از دیدگاه جهانی و سپس به طور خاص در مورد ایران بررسی خواهم کرد.

ویدئو یا متن؟

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

برای دانلود نسخه با کیفیت این ویدئو، روی دکمه زیر کلیک کنید:

ما اغلب اوقات قبل از اینکه شروع به انجام کار، یا یادگیری مهارتی بکنیم، یک سوال مهم و اساسی ذهن ما را مشغول به خود می‌کند.

آن سوال این است که چرا و به چه دلایلی باید این کار را انجام بدهم؟ یا چرا این مهارت جدید را یاد بگیرم؟

در ادامه ما جنبه‌های مختلف این سوال مهم و اساسی را هم از لحاظ حوزه‎‌های کاری و هم موقعیت‌های شغلی بررسی می‌کنیم و به پرسش‌هایی که ممکن است برای شما پیش بیاید پاسخ می‌دهیم.

کاربرد ویژه FPGAها

اولین سوالی که در زمینه‌­ی کار­برد­ها­ی FPGA پیش می‌آید این است که دلیل وجود این همه کار­برد ویژه برای FPGA­ها چیست­؟

پاسخ این سوال را باید در تفاوت FPGA­ها با پرداز­ند­ه‌­ها جستجو کرد­.

همان­طور که از برنامه­‌ها­ی قبلی به یاد دارید­، دو تفاوت اصلی FPGA­ها با پرداز­ند­ه‌­ها، سرعت بالا­ی انجام الگوریتم‌­ها به دلیل امکان موازی­‌ساز­ی و طراحی اختصاصی و تعداد زیادI/O ­ها­ی FPGA در مقایسه با پردازند­ه‌­ها بود­. این دو ویژگی با هم باعث ایجاد کار­برد­ها­ی خاصی در FPGA­ها می‌شود­.

قبل از اینکه این کار­برد­ها را به طور دقیق­‌تر مورد بررسی قرار بدهیم، ابتدا بیایید بررسی کنیم افراد­ی که در حوزه­‌ی FPGA فعال هستند، در چه زمینه‌­ها­یی کار می‌­کنند­.

زمینه‌­ی کاری افراد مشغول به کار در زمینه FPGA

به طور کلی افراد­ی که در زمینه‌­ی پیاده­‌ساز­ی سیستم‌­ها­ی دیجیتال به کمک FPGA کار می‌­کنند، در یکی از دو زمینه‌­ی اصلی‌ای که در ادامه معرفی می‌کنیم، مهارت دارند­.

یا طراح و پیاده­‌ساز سیستم‌­ها­ی اینترفیس یا کنترل هستند، و یا طراح و پیاده‌­ساز سیستم­‌ها­ی پرداز­ش سیگنال دیجیتال هستند­.

کسانی که پیاد­ه‌­ساز سیستم­‌ها­ی اینترفیس و کنترل هستند، معمولا انواع پروتکل‌­ها­ی ارتباطی مثل RS232 ،USB ،LAN­ و یا SATA­ را پیاده‌­ساز­ی می‌­کنند، و یا اینکه برای بخش‌­ها­ی یک سیستم دیجیتالی، قسمت‌ها­ی کنترلی را پیاده‌­ساز­ی می‌­کنند­.

معمولا هر سیستم دیجیتالی، بخش­‌ها­ی کنترلی هم دارد که آن‌ها­ هم باید توسط یک پیاده‌­ساز دیجیتال انجام شود­.

گروه پیاد­ه‌­ساز­ الگوریتم‌­ها­ی پرداز­ش سیگنال، متخصص پیاده‌سازی الگوریتم‌­ها­ی مختلف پرداز­ش سیگنال در زمینه­‌ها­ی مخابرات­، رادار­ و پرداز­ش تصویر­ هستند­. در ادامه در رابطه با این موارد توضیح خواهیم داد.

اکنون اجازه بدهید به بعضی از کار­برد­ها­ی مهم FPGA در هر دو زمینه‌ی ذکر شده در بالا نگاه دقیق­‌تر­ی داشته باشیم.

کاربردهای FPGA

سیستم‌های فرستده-گیرنده

یکی از مهم‌تر­ین کار­برد­ها­، استفاده از FPGA در سیستم‌­ها­ی فرستنده-گیرنده حوزه‌­ی مخابرات است­.

به طور مثال لینک­‌ها­ی ماهواره‌­ای که وظیفه انتقال دیتا را دارند­، در بسیاری از مواقع به سرعت بالا احتیاج دارند و گاهی تنها راه تحقق سرعت بالا استفاده از FPGA­ها است­.

سیستم‌­ها­ی دفاعی

یکی دیگر از کار­برد­ها­ی بسیار مهم­، سیستم‌­ها­ی دفاعی مثل سیستم‌­ها­ی رادار­ و سونار­­ است.

سیستم رادار برای مکان­‌یابی یک هدف استفاده می‌شود­. سیستم سونار نیز شبیه سیستم رادار است، اما­ در محیط‌­ها­ی آبی استفاده می‌شود.

مهندسی پزشکی

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

رادیونرم‌­افزار­ی

FPGA برای ساخت سیستم‌­ها­ی رادیونرم‌­افزار­ی یا Software Define Radio کاربرد زیاد­ی دارد.

پرداز­ش تصویر

در ساخت سیستم­‌ها­ی پرداز­ش تصویر و ویدئو­، با رزولوشن بالا و جا‌به‌جایی Real Time به یقین می‌توان گفت تنها راه‌حل FPGA است.

سیستم­‌ها­ی کنترل و مانیتورینگ

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

کنترل موتورهای قدرت

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

رمزنگاری

در زمینه­‌ی رمزنگار­ی یا Encryption  که در خیلی از سیستم‌­ها برای انتقال دیتا استفاده می‌شود، می‌توانیم از FPGA­ها استفاده کنیم­.

مدل­‌ساز­ی ASIC

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

accelerator­ها

از دیگر کار­برد­ها­ی FPGA­ها، ساخت و پیاده‌­ساز­ی شتاب‌­دهند­ه‌­ی الگوریتم‌­ها یا همان accelerator­ها است که در کنار پرداز­ند­ه­‌ها استفاده می‌شود.

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

رادار مکان‌یاب

کار­برد­ دیگر FPGA در رادار مکان‌یاب می‌باشد. یکی از محصولات یا پروژه‌­ها­ی فعال شرکت‌های ایرانی که در حوزه‌ی دیجیتال فعالیت می‌کنند، رادار است.

رادار مکان­‌یاب­، رادار­ی است که می‌تواند موقعیت یک هدف را برای ما مشخص کند­.

این سیستم به طور کلی از دو بخش سخت­‌افزار و نرم‌­افزار تشکیل شد­ه است که بخش سخت‌­افزار­ نیز از دو بخش RF و دیجیتال تشکیل شده است­.

در بخش RF سیگنال هدف توسط آنتن­، دریافت می‌شود و در مدارهای RF، فرکانس این سیگنال پایین می‌آید یا اصطلاحا Down convert می‌شود و به حوزه­ی IF یا Intermediate Frequency یاBase Band که فرکانس پایه است منتقل می‌شود.

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

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

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

معمولا پارامترها­ی کنترلی نیز از سمت نرم­‌افزار به وسیله­‌ی همان اینترفیس به بخش سخت‌­افزار ارسال می‌شود.

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

در قسمت RF معمولا مدارهای RF شامل بخش‌­ها­یی می‌شود که نیاز به کنترل و Setting­ها­یی دار­د، که به کمک مدار­های دیجیتال انجام می‌شود. در بسیار­ی از موارد­، از FPGA­ها­ی ساده برای پیاده­‌ساز­ی این بخش استفاده می‌شود­.

اما در بخش پرداز­ش سیگنال دیجیتال که به صورت سخت­‌افزار­ی در بخش دیجیتال انجام می‌شود، ما الگوریتم‌­ها­ی بسیار پیچید­ه­‌تر­ی دار­یم که باید به صورت Real Time یا بلادرنگ انجام شود. بنا­بر­این، حجم پرداز­ش بسیار زیاد­ی در این بخش وجود دارد که بهتر­ین راه‌حل برای پیاده­‌ساز­ی این بخش استفاده از FPGA­ها است­.

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

انواع پروتکل‌های ارتباطی مثل LAN ­،USB یا RS232 می ‌تواند ارتباط بین بخش سخت‌­افزار و نرم­‌افزار را بر­قرار کنند­.

بخش سخت‌افزار و نرم‌افزار رادار مکان‌یاب

بخش سخت‌افزار و نرم‌افزار رادار مکان‌یاب

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

این افراد الگوریتم­‌ها­یی را که در سطح سیستم توسط طراح سیستم توسعه پیدا کرد­ه است را به کمک FPGA یا DSP پیاده­‌ساز­ی می‌کنند­.

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

بازار فروش جهانی FPGA

همان­طور که در نمودار زیر می‌­بینید در سال 1988 تقریبا چند سال بعد از ساخت اولین FPGA، بازار فروش جهانی FPGA حدود 13 میلیون دلار در سال بود­ه است­. این رقم در سال 2013 به بیش از 5 میلیارد دلار رسید­ و پیش‌بینی کارشناسان این است که تا قبل از سال 2020 مقدار فروش جهانی FPGA­ها­، به بیش از 9 میلیارد دلار می‌رسد. این آمار می‌تواند وسعت بازار را تا حد زیاد­ی نشان دهد و راجع به آینده­ حرف­‌ها­ی زیاد­ی برای گفتن داشته باشد.

بازار فروش جهانی FPGA

بازار فروش جهانی FPGA

کاربرد FPGA در ایران

در ایران نیز در زمینه­‌ها­ی صنعتی، پرداز­ش تصویر، دفاعی و مخابرات FPGA به شدت مورد نیاز ­است­.

به علت کمبود نیروی آماده به کار، شرکت‌­ها­یی که در این حوزه کار می­‌کنند، هموار­ه به دنبال نیرو­یی متبحر در زمینه­‌ی پیاده­‌ساز­ی به کمک FPGA هستند­.

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

همین موارد به شما نشان می‌دهد که اگر بتوانید در این زمینه مهارت لازم را کسب کنید، چه بازار کار وسیعی برای شما وجود دارد­.

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

اما­ با توجه به این­که انتظار داریم تحریم‌­ها به صورت تدریجی رفع شود، می‌توانیم این انتظار­ را داشته باشیم که سرمایه­‌ی بیشتر­ی به بخش تحقیق و توسعه وارد شده و باعث گستر­ش بازار کار FPGA شود­.

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

آیا برنامه ویدئویی کاربرد FPGA و آینده آن در ایران برای شما مفید بود؟

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

کانال تلگرام آموزش FPGA از صفر

برای عضویت در کانال تلگرام و دسترسی به آموزش‌های بیشتر و اطلاع سریع از زمان انتشار آموزش‌ها و تخفیف‌های ویژه، روی دکمه زیر کلیک کنید:

درباره نویسنده:

احمد ثقفی

شاید به این موضوعات نیز علاقه داشته باشید:

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

۷ تکنیک پیشرفته کدنویسی برای FPGA

>