हार्डवेयर जो सॉफ्टवेयर की तरह बदलता है: AI युग में FPGA आर्किटेक्चर की क्रांति
फैक्ट्री में निर्माण के बाद भी अपनी सर्किट को फिर से प्रोग्राम करने की क्षमता रखने वाली FPGA चिप आर्टिफिशियल इंटेलिजेंस और डेटा सेंटर के वर्कलोड को तेज बना रही है।

कंप्यूटिंग प्रोसेसिंग की दुनिया में आमतौर पर दो प्रकार की चिप देखने को मिलती हैं: एक सेंट्रल प्रोसेसिंग यूनिट (CPU) जो सॉफ्टवेयर के आदेशों के अनुसार हर काम कर सकती है लेकिन उसकी गति सीमित होती है, और दूसरी एप्लीकेशन-स्पेसिफिक इंटीग्रेटेड सर्किट (ASIC) जो केवल एक ही विशिष्ट कार्य के लिए फैक्ट्री में सिलिकॉन पर स्थायी रूप से बनाई जाती है। लेकिन इन दोनों के बीच एक अत्यंत शक्तिशाली विकल्प मौजूद है, जिसे फील्ड-प्रोग्रामेबल गेट एरे (Field-Programmable Gate Array - FPGA) कहा जाता है।
FPGA एक ऐसी कॉन्फ़िगर करने योग्य इंटीग्रेटेड सर्किट (configurable integrated circuit) है जिसे फैक्ट्री से बनकर बाहर आने के बाद भी उपयोगकर्ता द्वारा बार-बार प्रोग्राम किया जा सकता है। इसे प्रोग्रामेबल लॉजिक डिवाइस (Programmable Logic Devices - PLD) के वर्ग में रखा जाता है। इस चिप में प्रोग्रामेबल लॉजिक ब्लॉक्स की एक जालीदार ग्रिड होती है, जिसे क्षेत्र में ही यानी "इन द फील्ड" (in the field) अन्य लॉजिक ब्लॉक्स के साथ जोड़कर विभिन्न डिजिटल कार्यों को करने के लिए कॉन्फ़िगर किया जा सकता है।
कंपनियों की घोषणाओं के अनुसार, आर्टिफिशियल इंटेलिजेंस (AI) और हाई-परफॉर्मेंस कंप्यूटिंग के क्षेत्र में FPGA का महत्व अभूतपूर्व रूप से बढ़ गया है। माइक्रोसॉफ्ट (Microsoft) ने 2014 में अपने Bing सर्च इंजन को तेज करने के लिए FPGA का उपयोग शुरू किया था, और 2018 में उसने अपने Azure क्लाउड कंप्यूटिंग प्लेटफॉर्म के विभिन्न वर्कलोड के लिए FPGA चिप्स तैनात करना शुरू किया था। इसका मुख्य कारण FPGA द्वारा मिलने वाली परफॉर्मेंस पर वॉट (performance per watt) की उत्कृष्ट कार्यक्षमता है। 2019 से, आधुनिक पीढ़ी के FPGA में आर्टिफिशियल इंटेलिजेंस मॉडल को प्रोसेस करने के लिए विशेष AI इंजन जोड़े गए हैं।
- लुकअप टेबल (LUT) प्रोसेसिंगइनपुट सिग्नल 4-इनपुट LUT में प्रवेश करता है जहां पूर्व-निर्धारित सत्य कोष्ठक (truth table) के अनुसार तार्किक परिणाम तैयार होता है।
- मोड सिलेक्शन और मल्टीप्लेक्सिंगप्रोग्राम किया गया मल्टीप्लेक्सर तय करता है कि सेल सामान्य तार्किक मोड में काम करेगा या एरिथमिटिक गणना मोड में।
- फुल एडर गणनाएरिथमिटिक मोड में LUT के आउटपुट को फुल एडर (Full Adder) में भेजकर योग और कैरी (carry) की त्वरित गणना होती है।
- सिंक्रोनाइज़ेशन और आउटपुटपरिणाम को सिंक्रोनस रूप से D-टाइप फ्लिप-फ्लॉप में स्टोर किया जाता है या असिंक्रोनस रूप से आंतरिक राउटिंग नेटवर्क में भेजा जाता है।
FPGA का इतिहास और विकास का सफर
FPGA का इतिहास प्रोग्रामेबल रीड-ओनली मेमोरी (PROM) और प्रोग्रामेबल लॉजिक डिवाइस (PLD) से शुरू हुआ था। इन दोनों तकनीकों में फैक्ट्री में या उपयोगकर्ता के स्थान पर चिप को प्रोग्राम करने का विकल्प उपलब्ध था।
इस क्षेत्र में सबसे पहला बड़ा कदम Altera कंपनी ने 1983 में स्थापना के बाद 1984 में उठाया था। उन्होंने उद्योग का पहला रीप्रोग्रामेबल लॉजिक डिवाइस EP300 पेश किया था। इस चिप की पैकेजिंग पर एक क्वार्ट्ज विंडो (quartz window) दी गई थी, जिस पर अल्ट्रावायलेट (UV) लैंप का प्रकाश डालकर EPROM सेल में संग्रहित चिप कॉन्फ़िगरेशन को मिटाया जा सकता था।
इसके बाद 1985 में Xilinx कंपनी ने (जो अब AMD के स्वामित्व में है) पहली व्यावसायिक रूप से सफल FPGA चिप XC2064 पेश की थी। इस चिप में प्रोग्रामेबल गेट्स और गेट्स के बीच प्रोग्रामेबल इंटरकनेक्ट्स दिए गए थे। XC2064 में 64 कॉन्फ़िगर करने योग्य लॉजिक ब्लॉक्स (Configurable Logic Blocks - CLBs) और दो 3-इनपुट लुकअप टेबल (Lookup Tables - LUTs) शामिल थे।
1987 में, नेवल सरफेस वॉरफेयर सेंटर ने स्टीव कैसलमैन (Steve Casselman) द्वारा प्रस्तावित एक प्रयोग के लिए फंडिंग प्रदान की थी, जिसका उद्देश्य 6,00,000 रीप्रोग्रामेबल गेट्स वाला कंप्यूटर बनाना था। कैसलमैन इस प्रयोग में सफल रहे और 1992 में इस सिस्टम के लिए पेटेंट प्राप्त किया गया।
1993 तक Actel कंपनी ने बाजार का लगभग 18% हिस्सा हासिल कर लिया था। 2013 के आंकड़ों के अनुसार, Altera (31%), Xilinx (36%), और Actel (10%) मिलकर ग्लोबल FPGA बाजार का लगभग 77% हिस्सा रखती थीं। FPGA के गेट्स की क्षमता 1987 में Xilinx के 9,000 गेट्स से बढ़कर 2013 में 50 मिलियन (5 करोड़) गेट्स तक पहुंच गई थी।
वित्तीय दृष्टि से, 1987 में यह बाजार $14 मिलियन का था, जो 1993 में बढ़कर $385 मिलियन से अधिक हो गया। 2005 में यह $1.9 बिलियन, 2010 में $2.75 बिलियन और 2013 में $5.4 बिलियन पर पहुंच गया था। 2020 में इस बाजार के $9.8 बिलियन पर पहुंचने का अनुमान था और 2030 तक इसके बढ़कर $23.34 बिलियन होने की उम्मीद है। नई FPGA डिजाइन शुरू करने के आंकड़े (design starts) 2005 में 80,000 थे, जो 2008 में बढ़कर 90,000 हो गए थे।

બિલિયન ડૉલર
आंतरिक आर्किटेक्चर: लॉजिक सेल और LUT की संरचना
FPGA का मूलभूत आर्किटेक्चर कॉन्फिगरेबल लॉजिक ब्लॉक्स (CLBs) या लॉजिक एरे ब्लॉक्स (LABs), इनपुट/आउटपुट पैड्स (I/O pads), और राउटिंग चैनल्स (routing channels) की ग्रिड से बना होता है। सामान्यतः सभी राउटिंग चैनल्स समान चौड़ाई या सिग्नल क्षमता रखते हैं।
एक सामान्य लॉजिक सेल तीन मुख्य घटकों से बना होता है: 4-इनपुट लुकअप टेबल (4-input LUT), फुल एडर (Full Adder - FA), और D-टाइप फ्लिप-फ्लॉप (D-type flip-flop)। 4-इनपुट LUT को दो 3-इनपुट LUT में विभाजित किया जा सकता है। सामान्य मोड में, इन दोनों को पहले मल्टीप्लेक्सर (multiplexer/mux) द्वारा जोड़कर 4-इनपुट LUT बनाया जाता है। अरिथमेटिक (गणना) मोड में, उनके आउटपुट को एडर (adder) में भेजा जाता है। मोड का चयन दूसरे मल्टीप्लेक्सर द्वारा होता है, जबकि प्रोग्रामिंग के माध्यम से तीसरे मल्टीप्लेक्सर की मदद से आउटपुट को सिंक्रोनस (नियंत्रित) या असिंक्रोनस मोड में प्राप्त किया जा सकता है।
किसी भी डिजाइन के लिए राउटिंग चैनल्स की आवश्यकता सर्किट के प्रकार पर निर्भर करती है। उदाहरण के लिए, क्रॉसबार स्विच को सिस्टोलिक एरे की तुलना में अधिक राउटिंग की आवश्यकता होती है। अनुपयोगी राउटिंग चैनल्स लागत बढ़ाते हैं और प्रदर्शन घटाते हैं, इसलिए निर्माता 'रेंट्स रूल' (Rent's rule) के अनुमानों के आधार पर उचित मात्रा में चैनल्स प्रदान करते हैं।
| वर्ष / मॉडल | निर्माता कंपनी | मुख्य आर्किटेक्चरल विवरण | विशेष सुविधा |
|---|---|---|---|
| 1984 (EP300) | Altera | प्रथम रीप्रोग्रामेबल लॉजिक | EPROM मिटाने के लिए UV क्वार्ट्ज विंडो |
| 1985 (XC2064) | Xilinx | 64 CLBs, दो 3-इनपुट LUTs | प्रथम व्यावसायिक FPGA चिप |
| 2012 (Zynq-7000) | Xilinx | 1.0 GHz डुअल-कोर ARM Cortex-A9 | ऑल-प्रोग्रामेबल SoC इंटीग्रेशन |
| 2012 (Arria V) | Altera | 800 MHz डुअल-कोर ARM Cortex-A9 | सिस्टम-ऑन-चिप आर्किटेक्चर |
हार्ड ब्लॉक्स, सॉफ्ट कोर और सिस्टम-ऑन-चिप इंटीग्रेशन
आधुनिक FPGA केवल लॉजिक गेट्स तक सीमित नहीं हैं। इनमें हाई-लेवल फंक्शनैलिटी वाली सर्किट्स को सिलिकॉन पर स्थायी हार्डवेयर के रूप में उकेरा जाता है, जिन्हें 'हार्ड ब्लॉक्स' (Hard blocks) कहा जाता है। इनमें सिलिकॉन मल्टीप्लायर्स, DSP ब्लॉक्स, एम्बेडेड मेमोरी और हाई-स्पीड ट्रांसिवर्स शामिल हैं। ये हार्ड IP कोर्स सीधे ट्रांजिस्टर से बने होने के कारण ASIC जैसी उच्च कार्यक्षमता और कम पावर खपत प्रदान करते हैं।
दूसरा दृष्टिकोण 'सॉफ्ट प्रोसेसर कोर' (Soft core) का है, जिसमें FPGA के प्रोग्रामेबल लॉजिक का उपयोग करके प्रोसेसर बनाया जाता है। Nios II, MicroBlaze, और Mico32 इस प्रकार के लोकप्रिय सॉफ्टकोर प्रोसेसर हैं।
2012 में टेक्नोलॉजी उद्योग ने एक नया मोड़ लिया जब FPGA लॉजिक और आंतरिक इंटरकनेक्ट्स को एम्बेडेड माइक्रोप्रोसेसर के साथ जोड़कर प्रोग्रामेबल चिप पर पूर्ण सिस्टम (System on Chip - SoC) बनाया गया। Xilinx Zynq-7000 ऑल-प्रोग्रामेबल SoC इसका उत्कृष्ट उदाहरण है, जिसमें 1.0 GHz डुअल-कोर ARM Cortex-A9 MPCore प्रोसेसर को FPGA के लॉजिक फैब्रिक में एकीकृत किया गया था। इसी तरह Altera Arria V FPGA में 800 MHz डुअल-कोर ARM Cortex-A9 प्रोसेसर दिया गया था। Microsemi SmartFusion डिवाइस में ARM Cortex-M3 प्रोसेसर के साथ 512 kB फ्लैश और 64 kB RAM सुसज्जित की गई थी।

क्लॉकिंग, सिग्नलिंग और टेस्टिंग का महत्व
FPGA की अधिकांश आंतरिक सर्किटरी सिंक्रोनस (synchronous) होती है, जिसे क्लॉक सिग्नल की आवश्यकता होती है। सिग्नल में विलंब (skew) न हो, इसके लिए FPGA में H-ट्री (H tree) आकार के विशेष ग्लोबल और रीजनल राउटिंग नेटवर्क होते हैं। इसके अलावा, आवृत्ति संश्लेषण और जिटर (jitter) मैनेजमेंट के लिए एनालॉग फेज-लॉक्ड लूप (PLL) और डिले-लॉक्ड लूप (DLL) का उपयोग किया जाता है।
चिप के बाहर डेटा ट्रांसफर करने के लिए हाई-स्पीड सीरियलाइजर और डिसीरियलाइजर (SERDES) सर्किट का उपयोग किया जाता है। FPGA के कॉन्फ़िगरेशन कोड सामान्यतः हार्डवेयर डिस्क्रिप्शन लैंग्वेज (HDL) जैसे कि VHDL में लिखे जाते हैं। इस टेक्नोलॉजी का उपयोग ASIC चिप बनाने से पहले उसकी सिमुलेशन प्रक्रिया को तेज करने के लिए और ऑटोमोटिव, एयरोस्पेस तथा टेलीकॉम क्षेत्र में बड़े पैमाने पर किया जाता है।



