FPGA چیست؟
FPGA یا Field-Programmable Gate Array ( آرایه گیت های قابل برنامه ریزی ) یک مدار مجتمع است که می توان آن را پس از اتمام فرآیند تولید ، مطابق نیاز طراح برنامه ریزی نمود و روابط منطقی بین پایه های ورودی و خروجی را تغییر داد از این رو به این تراشه ها قابل برنامه ریزی می گویند. روابط منطقی درون این تراشه ها را اغلب با زبان توصیف سخت افزار ( HDL یا Hardware Description Language ) مشخص می کنند ( علاوه بر HDL از طراحی شماتیک ، State Diagram و برنامه نویسی به زبان های دیگر مانند C نیز می توان استفاده کرد که توسط برنامه ای که بواسطه آن طراحی را انجام می دهید به کد HDL تبدیل می گردد ) . به دلیل استفاده مستقیم از گیت ها در انجام عملیات ها ، این تراشه ها دارای سرعت و دقت بسیار بالا هستند.میکروکنترلر ها دارای CPU و جافظه های جانبی و … هستند میکروکنترلر ها برای کاربرد مشخصی ساخته نشده اند و هر طراح می تواند برنامه دلخواه خود را درون آنها برنامه ریزی کند ، منابع و دستور العمل های اجرایی یک میکروکنترلر مشخص همواره ثابت است در حالی که می تواند حاوی هزاران برنامه مختلف را روی خود جای دهد اما در مورد FPGA ها چنین نیست ، در یک FPGA هیچ CPU پیشفرضی وجود ندارد که شما عملیات های مورد نیازتان را با آن انجام دهید ، بلکه شما باید بلوک های مختلف مورد نیاز خود را در داخل FPGA پیاده سازی کنید و در نهایت از آنها برای رسیدن به نتیجه دلخواهتان استفاده کنید. به عنوان مثال برای اینکه بتوانید در FPGA چند عدد را جمع کنید باید بوسیله ی گیت ها یک بلوک جمع کننده طراحی کنید و از آن پس می توانید در سایر بلوک ها از آن استفاده نمایید.
برای کاربران با امکانات مالی اندک در زمینهٔ تولید ماهواره، اف پیجیایها میتوانند وقت و هزینهٔ زیادی را کاهش دهند. این مؤلفهٔ مثبت باعث شدهاست که این مدارهای مجتمع با وجود حساسیت در برابر پرتوهای کیهانی، به تعداد بالا مورد استفاده قرار بگیرند. البته برای اینکه پروژه دچار اخلال نشود، در ماهوارهها از ترکیب سهگانهٔ این آیسیها استفاده میشود تا در صورت از کارافتادن یک، یا دو تا از آنها کار ابزار فضایی ادامه پیدا کند