FPGA: इन चिप्स और उनकी प्रोग्रामिंग के बारे में सब

FPGA चिप

L FPGAs अधिक से अधिक लोकप्रिय हो गए हैं अंतिम समय में। यहां तक ​​कि पेशेवर अनुप्रयोगों के लिए इन चिप्स का उपयोग अक्सर किया जाता है, लेकिन यह भी DIYers और निर्माताओं के लिए जो एक चिप के अंदर एक असतत सर्किट को लागू करना चाहते हैं उन सभी फायदों के साथ जो यह निहित है। अपने लेआउट या पैटर्न भेजने के लिए एक कारखाना खोजना सस्ता या आसान नहीं है और आपके लिए निर्मित एक कस्टम चिप है।

यह सच है कि कुछ फाउंड्री अनुमति देते हैं वेफर्स बनाएं या वेफरेज को गुणा करें परीक्षण करने के लिए व्यक्तियों या विश्वविद्यालयों से चिप्स बनाना। इस प्रकार के कारखाने हैं, जैसा कि मैं कहता हूं, खोजना मुश्किल है, वे आमतौर पर विदेशों में हैं और वे सस्ते नहीं हैं। थोड़ी देर के बाद, आपके चिप्स के नमूने सहमत पते पर भेजे जाते हैं, लेकिन वे इनका परीक्षण करने या जांचने के प्रभारी नहीं हैं कि वे काम करते हैं। यह सब आपके डिजाइन पर निर्भर करता है ...

एक FPGA की खरीद के लिए वैकल्पिक समाधान है और प्रोग्राम जो भी आपको चिप के अंदर लागू करने की आवश्यकता है ...

FPGA क्या है?

प्रोग्राम करने योग्य कोशिकाएँ

FPGA का मतलब फील्ड प्रोग्रामेबल गेट ऐरे है। वे डिजिटल डिवाइस या चिप्स हैं जो व्यावहारिक रूप से कार्यान्वित होने की अनुमति देने के लिए कॉन्फ़िगर किए जाने में सक्षम हैं। यही है, दूसरे शब्दों में, यह एक खाली चिप है जहां आप "लिख सकते हैं।" इसका मतलब है कि आप एक सीपीयू, एक मेमोरी, एक नियंत्रक, किसी भी तर्क इत्यादि को लागू कर सकते हैं, एक बहुत तेज संचालन को प्राप्त करने और इसे एक चिप में एकीकृत करने के सभी फायदे के साथ और इलेक्ट्रॉनिक तत्वों के साथ नहीं।

रॉस फ्रीमैन और बर्नार्ड वंड्सचमिट, जो कि Xilinx के सह-संस्थापक थे, 1984 में FPGA का आविष्कार करने वाले लोग थे। उन्होंने इसे उस समय के CPLD चिप्स के विकास के रूप में किया था। CPLD प्रोग्रामयोग्य चिप्स में कुछ कमियाँ थीं जो नए FPGA डिज़ाइनों को हल करती थीं और तब से वे आज तक विकसित हो रही हैं।

एफपीजीए बाजार इतना फलदायी है कि कंपनियां पसंद करती हैं Intel, Xilinx, Altera, Quick Logic, Lattice, आदि।, उन्होंने बेहतर FPGAs विकसित करने और उनके लिए एम्बेडेड प्रोग्रामिंग वातावरण या IDEs विकसित करने के लिए बहुत निवेश किया है। इस प्रकार डेवलपर्स या निर्माताओं के कार्य को सुविधाजनक बनाने के लिए बहुत अच्छे मंच प्रदान करते हैं।

वर्तमान में ये निर्माता न केवल एक प्रोग्राम करने योग्य चिप प्रदान करते हैं, बल्कि इसमें शामिल हैं कई सहायक तत्व डेवलपर्स के लिए अधिक संभावनाएं लाने के लिए। उदाहरण के लिए, वे फ्लैश मेमोरी सेल, एसडीआरएएम मेमोरी सेल, और इसी तरह शामिल हैं।

ये किस काम की लिये प्रायोग होते है?

FPGA कार्यक्रम के लिए IDE

इसलिए, एक FPGA एक ASIC के समान हो सकता है लेकिन हम चुन सकते हैं क्या होगा। उदाहरण के लिए, हम इसे प्रोग्राम करने के लिए एक कोड बना सकते हैं और इसे सीपीयू, एक जीपीयू, एक योजक, एक मेमोरी कंट्रोलर, या किसी अन्य लॉजिक सर्किट को एक चिप पर लागू कर सकते हैं।

संभावनाएं बहुत अंतहीन हैं। वास्तव में, मैं आपको वेबसाइट पर जाने की सलाह देता हूं opencores.org, अनेक परियोजनाओं की पेशकश के लिए समर्पित एक साइट hardware libre. आपको VHDL, Verligo इत्यादि में कोड मिलेंगे रैम, सीपीयू, जीपीयू, कंट्रोलर, एएलयू, एफपीयू, डिकोडर और एक लंबा आदि।.

यह कैसे प्रोग्राम किया जाता है?

FPGA के लिए प्रोग्रामर

FPGA प्रोग्राम करने के लिए हम इसे अपने पसंदीदा ऑपरेटिंग सिस्टम, जैसे कि GNU / Linux, Windows और MacOS से कर सकते हैं, हालाँकि Windows के लिए निश्चित रूप से अधिक विकास के माहौल हैं। आम तौर पर, वही कंपनियां जो FPGA की पेशकश करती हैं, a साथ काम करने के लिए बहुत पूर्ण IDE और जहाँ आप एक ही सॉफ्टवेयर सूट में सभी उपकरणों की जरूरत है खोजने के लिए।

आपको भी आवश्यकता होगी FPGA चिप या बोर्ड और आवश्यक केबल या प्रोग्रामर जिसके साथ आप FPGA को लिखित पीसी पास करने के लिए अपने पीसी से FPGA को कनेक्ट कर सकते हैं और इसलिए इसे प्रोग्राम किया जाता है। यह कुछ ऐसा ही है जैसा कि आप Arduino बोर्ड के साथ करते हैं, Arduino IDE प्रोग्राम को माइक्रोकंट्रोलर के प्रोग्रामेबल मेमोरी में लिखते हैं।

केवल FPGA के मामले में हमारे पास एक मैट्रिक्स या स्मृति घटकों, और गेट्स, या, नहीं, फ्लिप-फ्लॉप, और अन्य जैसे प्राथमिक घटकों का सरणी है। बुनियादी तत्व या डिजिटल इलेक्ट्रॉनिक्स के ब्लॉक हम उपयोग कर सकते हैं। लिखित कार्यक्रम के साथ हम जो करने जा रहे हैं, वह उस तरह से लगाया जाता है जिसमें इन आवश्यक ब्लॉकों को एक साथ समूहित करना होता है ताकि हम जो एएलयू जैसे छोटे सर्किट चाहते हैं।

यही है, अगर हम अपने आईडीई में एक योजक प्रोग्राम करते हैं, तो इस योजक को लागू करने के लिए आवश्यक ब्लॉक वे लिंक करने जा रहे हैं FPGA के अंदर सही तरीके से ताकि चिप एक योजक के रूप में काम करे। सरल सही? सामान्य तौर पर, भौतिक स्तर पर इस प्रोग्रामिंग के लिए कई विधियों का उपयोग किया जाता है, जैसे कि उस स्थिति में एक स्थायी लिंक बनाने के लिए यादें या फ़्यूज़।

जिस गति से वे काम करते हैं, उस पर निर्भर करेगा घड़ी की आवृत्ति जिन FPGA के लिए हमने काम किया है। उदाहरण के लिए, सबसे बुनियादी वाले आमतौर पर 50 मेगाहर्ट्ज पर काम करते हैं, अन्य लोग बहुत अधिक आवृत्तियों पर ऐसा करेंगे। 50 Mhz FPGA के मामले में, इसका मतलब है कि यह प्रति सेकंड 50.000.000 बार की दर से काम करेगा। यदि हम उदाहरण के रूप में मेरे द्वारा दिए गए योजक के साथ जारी रखते हैं, तो आप एक सेकंड में राशि का योग करने में सक्षम होंगे ...

के विषय के साथ जारी है प्रोग्रामिंगएक बार जब हम जानते हैं कि आप कोड लिख सकते हैं जैसे कि हम Arduino IDE में या किसी अन्य प्रोग्राम को विकसित करने के लिए करेंगे, और यह देखते हुए कि यह हार्डवेयर स्तर पर कैसे किया जाता है, मैं कहूंगा कि यह वास्तव में प्रोग्रामिंग नहीं है। बल्कि यह एक हार्डवेयर विवरण है। वास्तव में, हार्डवेयर विवरण भाषा जैसे वीएचडीएल, वेरिलॉग आदि का उपयोग किया जाता है।

साथ उस कार्यक्रम का तार्किक स्तर पर वर्णन किया गया है जिस छोटे सर्किट को हम लागू करना चाहते हैं वह क्या करता है। और फिर यह FPGA को जाता है। हालांकि यह सच है कि कुछ प्लेटफ़ॉर्म प्रोग्रामिंग भाषाओं में प्रोग्रामिंग की अनुमति देते हैं जैसे C FPGA में सीपीयू को लागू करने में सक्षम होता है और फिर मेमोरी में लोड करने और उक्त प्रोसेसर द्वारा संसाधित होने के लिए प्रोग्राम उत्पन्न करता है।

Arduino के साथ एकीकरण

एफपीजीए अरुडिनो

FPGAs आमतौर पर अलग-अलग उपयोग किए जाते हैं, लेकिन यह सच है कि बाजार पर कई उपकरण और किट हैं जो आपके जीवन को आपके लिए एकीकृत करने में आसान बना देंगे Arduino प्लेटफॉर्म के साथ FPGA। Arduino के साथ आपकी परियोजनाओं में FPGAs लाने के लिए एक बोर्ड का एक उदाहरण MKR Vidor 4000 है, हालांकि अन्य हैं।

एमकेआर विडोर 4000 यह एक बोर्ड है जिसमें तीन चिप्स हैं। उनमें से एक एफपीजीए है, विशेष रूप से एक इंटेल साइक्लोन 10. ब्लूटूथ ले या कम बिजली कनेक्टिविटी के लिए अन्य चिप्स भी हैं और वाईफाई संगतता भी है। कनेक्टिविटी फ़ंक्शंस के साथ अपने Arduino प्रदान करने के लिए और FPGA में आपको जो कुछ भी आवश्यक है उसे लागू करने में सक्षम होने के लिए एक अच्छा पूरक।

इसके साथ आप ए अनुकूलन हार्डवेयरइच्छित उद्देश्य के लिए अपने आप से कॉन्फ़िगर किया गया। वह अनंत संभावनाएं प्रदान करता है।


पहली टिप्पणी करने के लिए

अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।