FPGA مخفف Field-Programmable Gate Array به معنی آرایه دروازه برنامهپذیر در محل است. این نوعی مدار یکپارچه (IC) قابل تنظیم است که میتوان آن را پس از تولید توسط کاربر یا طراح برنامهریزی کرد. به همین دلیل به آن برنامهپذیر در محل میگویند.
FPGAs از یک آرایه از بلوکهای منطقی قابل تنظیم با یک شبکه اتصالدهنده تشکیل شدهاند که میتوانند “در محل” برای اتصال به سایر بلوکهای منطقی برای انجام توابع دیجیتال مختلف پیکربندی شوند. FPGAs اغلب در تولید کم (پایین) از محصولات سفارشی و در تحقیق و توسعه استفاده میشوند، جایی که هزینه بالاتر FPGAs فردی به اندازه مهم نیست و جایی که ایجاد و ساخت یک مدار سفارشی امکانپذیر نیست.
مزایای استفاده از FPGA
قابلیت انعطافپذیری: FPGAs را میتوان برای انجام طیف گستردهای از وظایف برنامهریزی کرد، که آنها را به یک انتخاب ایده آل برای کاربردهای مختلف تبدیل میکند.
سرعت توسعه: FPGAs را میتوان به سرعت و به آسانی برنامهریزی کرد، که آنها را به یک انتخاب عالی برای نمونهسازی و توسعه سریع تبدیل میکند.
هزینه: FPGAs اغلب ارزانتر از ASICها (مدارهای مجتمع خاص برنامهریزیشده) هستند، که آنها را به یک انتخاب مقرون به صرفه برای کاربردهای کم حجم تبدیل میکند.
کاربردهای FPGA
شبکههای ارتباطی: FPGAs در طیف گستردهای از تجهیزات شبکه مانند روترها، سوئیچها و کارتهای رابط شبکه استفاده میشوند.
پخش ویدئو: FPGAs در طیف گستردهای از تجهیزات پخش ویدئو مانند تلویزیونهای دیجیتال، جعبههای تنظیمکننده و دوربینها استفاده میشوند.
محاسبات با کارایی بالا: FPGAs در طیف گستردهای از برنامههای محاسبات با کارایی بالا مانند شتابدهندههای هوش مصنوعی، پردازش سیگنال دیجیتال و تجزیه و تحلیل داده استفاده میشوند.
پزشکی: FPGAs در طیف گستردهای از تجهیزات پزشکی مانند دستگاههای تصویربرداری، تجهیزات نظارتی و ایمپلنتهای پزشکی استفاده میشوند.
صنعت هوافضا و دفاع: FPGAs در طیف گستردهای از برنامههای هوافضا و دفاع مانند سیستمهای هدایت و ناوبری، سیستمهای جنگ الکترونیکی و رادار استفاده میشوند.
نحوه برنامهریزی FPGA
FPGAs را میتوان با استفاده از زبانهای توصیف سختافزاری (HDLs) مانند VHDL و Verilog برنامهریزی کرد. HDLs به طراحان اجازه میدهد تا عملکرد منطقی مورد نظر خود را توصیف کنند و ابزارهای سنتز FPGA سپس این توضیحات را به پیکربندی قابل بارگذاری برای FPGA تبدیل میکنند.
FPGA در مقابل ASIC
FPGAs و ASICs هر دو نوع مدار یکپارچه (IC) هستند که میتوان از آنها برای انجام توابع دیجیتال استفاده کرد. با این حال، چند تفاوت کلیدی بین این دو نوع IC وجود دارد.
قابلیت انعطافپذیری: FPGAs را میتوان دوباره برنامهریزی کرد، در حالی که ASICS ها پس از تولید ثابت هستند.
سرعت توسعه: FPGAs را میتوان به سرعت و به آسانی برنامهریزی کرد، در حالی که توسعه ASICها یک فرآیند طولانیتر و پیچیدهتر است.
هزینه: FPGAs اغلب ارزانتر از ASICها هستند، به خصوص برای کاربردهای کم حجم.
عملکرد: ASICها میتوانند عملکرد سریعتر و کارآمدتر از FPGAs را ارائه دهند.
انتخاب بین FPGA و ASIC به نیازهای خاص برنامه بستگی دارد. اگر به یک راه حل انعطافپذیر و سریع نیاز دارید، FPGA ممکن است انتخاب بهتری باشد. اگر به عملکرد بالا و کارایی بالا نیاز دارید، ASIC ممکن است انتخاب بهتری باشد.
سخن آخر
FPGAs نوعی مدار یکپارچه (IC) قابل تنظیم هستند که میتوانند پس از تولید توسط کاربر یا طراح برنامهریزی شوند. آنها را میتوان برای انجام طیف گستردهای از وظایف برنامهریزی کرد، که آنها را به یک انتخاب ایده آل برای کاربردهای مختلف تبدیل میکند. FPGAs اغلب در تولید کم (پایین) از محصولات سفارشی و در تحقیق و توسعه استفاده میشوند، جایی که هزینه بالاتر FPGAs فردی به اندازه مهم نیست و جایی که ایجاد و ساخت یک مدار سفارشی امکانپذیر نیست.