استفاده از FPGA برای انواع تجهیزات الکترونیک مزایای خاصی دارد. از سیستمهای راهبری هواپیما گرفته تا تجهیزات سونوگرافی پزشکی و موتورهای جستجوی داده، سعی شده از این تراشهها جهت طراحی و توسعه فناوریهای پرکاربرد استفاده شود.
در این مقاله به شما خواهیم گفت که FPGA چیست و از آن چه استفادههایی میشود. اگر به این دست از مطالب علاقمند هستید، قطعاً خواندن این مقاله برای شما لذت بخش خواهد بود.
FPGA چیست؟
FPGA مخفف Field Programmable Gate Array و یک نوع نیمههادی است که بر اساس بلاکهای منطقی قابل پیکربندی (CLB) ساخته شده و با استفاده از آن مهندس طراحی میتواند بخش عمدهای از عملکرد الکتریکی دستگاه را تغییر دهد.
FPGA بر اساس آرایهای از زیرمدارهای دیجیتال به هم پیوسته عمل میکند که عملکردهای پایه را پیاده سازی کرده و انعطاف پذیری زیادی دارند. FPGA به یک گروه خاص از قطعات الکترونیک به نام منطق قابل برنامه ریزی (یا سختافزار قابل برنامه نویسی) تعلق دارد. FPGA به صورت مستقل کار خاصی انجام نمیدهد بلکه باید در مدارهای دیجیتال پیکربندی و پیاده سازی شود.
FPGA چگونه کار میکند؟
آشنایی با طرز کار FPGA بسیار راحت است. در واقع یک پیکربندی در FPGA بارگذاری میشود که عملکرد مدار مورد نظر شما را پیاده سازی میکند. پیکربندی مبتنی بر رم FPGA باعث شده که امکان پیکربندی مجدد آن بدون هیچ محدودیتی فراهم شود.
انواع FPGA
دو روش کلی برای طبقه بندی FPGA وجود دارد: بر اساس چیدمان داخلی بلاکهای آن یا بر اساس نوع تکنولوژی برنامه نویسی آنها. در رابطه با روش چیدمان، FPGAها به یکی از سه دسته زیر تعلق دارند:
- آرایههای متقارن: این گروه متشکل از سطر و ستونهایی از بلاکهای منطقی به هم متصل است که یکسری بلاک ورودی/خروجی اطراف آنها را احاطه کرده است.
- معماری سطری: در این روش سطرهای بلاکهای منطقی و منابع میان بندهای قابل برنامه نویسی با یکسری بلاک ورودی/خروجی جابجا میشود.
- PLD سلسله مراتبی (دستگاههای منطقی قابل برنامه نویسی): این گروه طرح پیچیده تری دارد. لایه بالایی متشکل از میان بندها و بلاکهای منطقی است. بلاکهای منطقی حاوی ماژولهای منطقی هستند که یکسری عناصر عملیاتی ترتیبی و ترکیبی دارند.
کاربردهای رایج FGPA
FGPA کاربردهای مختلفی در حوزههای مختلف دارد از جمله:
- پردازش ویدیو و تصویر
- کاربردهای نظامی
- رادیوی نرمافزاری
- عکسبرداریهای پزشکی
- ارتباطات بی سیم و باسیم
- ادغام چند دستگاه منطقی قابل برنامه نویسی ساده
- تشخیص صدا
- رمزنگاری
- پردازش سیگنال دیجیتال
- پیش نمونه سازی برای ASIC
- کنترلر دستگاه
- سیستمهای شبیه سازی سختافزار کامپیوتر
- بیوانفورماتیک
- رایانش پرسرعت
- صنایع هوا فضا و دفاعی
- صنعت خودروسازی
- تجهیزات الکترونیکی مصرفی
- مراکز داده (دیتاسنترها)
- تجهیزات صنعتی و علمی
مزیتهای استفاده از FPGA
FPGA نسبت به پیاده سازیهای سنتی مزایای مختلفی دارد که در جدول زیر مشاهده میکنید.
تفاوت بین FPGA و ASIC
ASIC (مدارهای مجتمع قابل برنامه نویسی) و FPGA عملکردهای مختلفی دارند. تفاوت اصلی این دو ناشی از این واقعیت است که میتوان FPGA را پس از تولید برای یک کاربرد خاص برنامه ریزی کرد اما ASIC یک قطعه سفارشی است که برای انجام کارهایی خاص طراحی میشود. این تغییرات و تنظیم مجدد برنامه نویسی در فرایند اسمبلی PCB یا حتی پس از تحویل قطعه به مشتری قابل انجام است.
گرچه یک مدل از FPGA با قابلیت فقط یک بار برنامه نویسی وجود دارد اما نوع پرکاربرد و اصلی آن مدل مبتنی بر رم است که امکان برنامه نویسی آنها به مرور وجود دارد.
علاوه بر این، FPGA نیازی به آمادگی خاصی ندارد اما ASIC نیازمند طی کردن چرخههای تولید خاصی است که ممکن است چندین ماه زمان ببرد.
عملکرد و چند کاره بودن FPGA
FPGA کارایی بالایی داره و چند کاره بودن آن باعث شده که برای اشخاص و سازمانهایی که به دنبال بهینه سازی تراشهها یا پیاده سازی تغییر در تراشهها هستند مناسب باشد.
یک نمونه از کاربردهای مهم FPGA در عرصه هوش مصنوعی مشاهده میشود. با رشد و توسعه این فناوری اهمیت FPGA هم بیشتر میشود. در بعضی از موارد FPGA از نظر تحلیل انبوهی از دادهها برای یادگیری ماشینی نسبت به جی پی یو عملکرد بهتری دارد.