FPGA یا Field Programmable Gate Array یک مدار مجتمع است که می توان آن را پس از اتمام فرآیند تولید، مطابق نیاز طراح برنامه ریزی نمود و روابط منطقی بین پایه های ورودی و خروجی را تغییر داد. این تراشه ها نیمه رساناهایی هستند که از تعداد زیادی جزء کوچک الکترونیکی یا سلول به نام بلوک منطقی (Logic Block) ساخته شدهاند. این سلول از نظر منطقی چیزی بین یک مدار الکترونیکی و یک میکروکنترلر است. در واقع، FPGA یک تراشه قابل برنامهریزی است.
این تراشهها برای توسعه سخت افزارهای دیجیتالی پیچیده و اجتناب از ساخت بردهایی با تراشههای گسسته به وجود آمدهاند. با استفاده از تراشههای FPGA بردهایی که قبلاً با تعداد زیادی از تراشههای دیجیتال ساخته میشدند، در یک تراشه FPGA با سرعت بالاتر و امکان بهروزرسانی کردن سخت افزار پیادهسازی میشوند. FPGA ها برای ایجاد سیستمهایی با انعطاف پذیری بالا مورد استفاده قرار میگیرند.
FPGAها با ارائه یک معماری برنامهپذیر، قیمت پایین و زمان راهاندازی اندک و مهمتر از همه، ایجاد امکان پردازش موازی مشکلات متعدد مهندسین و طراحان مدارات دیجیتال را رفع نمودهاند. از دیگر مزایای استفاده از FPGA ها در طراحی ها، میتوان به سرعت بالای پردازش و فرکانس کاری بسیار بالای آنها اشاره کرد. FPGA ها در حوزههای گستردهای از جمله پردازش سیگنال، پردازش تصویر، فیلترهای دیجیتال، سیستمهای انتقال دیتاهای دیجیتال، سیستمهای مخابراتی و سیستمهای مختلف کنترلی به کار برده میشوند. تخصص FPGA شامل دوره آموزش FPGA مقدماتی و آموزش FPGA پیشرفته است.