“Field-Programmable Gate Array” के लिए जाना जाता है। एक FPGA एक एकीकृत सर्किट है जिसे एक विशिष्ट अनुप्रयोग के लिए अनुकूलित किया जा सकता है। traditional CPU के विपरीत, FGPAs “field-programmable ” हैं, जिसका अर्थ है कि उन्हें user द्वारा निर्माण के बाद configured किया जा सकता है।
FPGAs में प्रोग्राम करने योग्य logic blocks होते हैं जिन्हें विभिन्न कॉन्फ़िगरेशन में वायर्ड किया जा सकता है। ये logic blocks गेट्स की एक भौतिक सरणी बनाते हैं जिनका उपयोग different operations को करने के लिए किया जा सकता है। क्योंकि गेट अनुकूलन योग्य हैं,
FPGAs को किसी भी computing task के लिए अनुकूलित किया जा सकता है। यह FPGAs को हार्ड-वायर्ड प्रोसेसर की तुलना में कई गुना तेजी से संचालन करने की क्षमता देता है।
Field-programmable gate arrays को आमतौर पर हार्डवेयर विवरण भाषा, या HDL का उपयोग करके अनुकूलित किया जाता है। एक programmer HDL कमांड का उपयोग गेट interconnects (how the gates connect to each other) के साथ-साथ गेट्स को भी configure करने के लिए कर सकता है।
उदाहरण के लिए, एक गेट को एक बूलियन operator सौंपा जा सकता है, जैसे कि AND, OR, या XOR। कई फाटकों को एक साथ जोड़कर, उन्नत तर्क संचालन करना संभव है।
चूंकि FPGAs को विशिष्ट अनुप्रयोगों के लिए प्रोग्राम करने के लिए डिज़ाइन किया गया है, वे व्यक्तिगत computers के लिए उपयुक्त नहीं हैं। हालांकि, उनके पास क्षेत्र के अनुप्रयोगों की एक विस्तृत विविधता है। उदाहरणों में telecommunications, data centers, scientific computing, and audio/video processing शामिल हैं। सर्वर और high-end computers में उपयोग किए जाने के अलावा, उन्हें electronic devices, such as TVs, radios, and medical equipment में भी लागू किया जा सकता है।