मैंने कहीं पढ़ा है कि खराब VHDL कोड FPGA को नुकसान पहुंचा सकता है।
क्या वीएचडीएल कोड के साथ एफपीजीए को नुकसान पहुंचाना संभव है? किस तरह की स्थितियां इसका कारण बनेंगी और सबसे खराब स्थिति क्या हैं?
मैंने कहीं पढ़ा है कि खराब VHDL कोड FPGA को नुकसान पहुंचा सकता है।
क्या वीएचडीएल कोड के साथ एफपीजीए को नुकसान पहुंचाना संभव है? किस तरह की स्थितियां इसका कारण बनेंगी और सबसे खराब स्थिति क्या हैं?
जवाबों:
@ बेनामी जवाब में जोड़ते हुए, ऐसे डिज़ाइन हैं जो आप बना सकते हैं जो एक FPGA के कपड़े को नुकसान पहुंचा सकते हैं।
शुरुआत के लिए, यदि आप बहुत बड़ी मात्रा में रजिस्टरों (जैसे कि FPGA का 70%) से मिलकर बनाते हैं, तो सभी FPGAs को अधिकतम आवृत्ति के पास देखते हैं, तो सिलिकॉन को काफी गर्म करना संभव है। पर्याप्त ठंड के बिना यह शारीरिक नुकसान का कारण बन सकता है। हमने $ 13k FPGA को खो दिया क्योंकि देव-किट में एक भयानक शीतलन प्रणाली होने के कारण यह गर्म हो गया।
एक और सरल मामला दहनशील छोरों हो सकता है। उदाहरण के लिए यदि आप तीनों को एक अंगूठी में एक साथ जंजीर नहीं लगाते हैं, और इस तरह की संरचना के बारे में सिंथेसाइज़र चेतावनियों को अक्षम या अनदेखा करते हैं, तो आप कुछ ऐसा बना सकते हैं जो एक FPGA के लिए बहुत बुरा है। इस उदाहरण में आप एक बहु-गीगाहर्ट्ज थरथरानवाला बना सकते हैं जो बहुत छोटे क्षेत्र में बहुत अधिक गर्मी पैदा कर सकता है, शायद एएलएम और आसपास के तर्क को नुकसान पहुंचा रहा है।
इस संदर्भ में कोड एक सही शब्द नहीं है। हालांकि वेरिलोग या वीएचडीएल कार्यक्रम की तरह दिखते हैं, कंपाइलर का आउटपुट एक कॉन्फ़िगरेशन है जिसे एफपीजीए चिप में लोड किया जाता है जो इसके भीतर इलेक्ट्रॉनिक सर्किट बनाता है।
मेरे दिमाग में दो प्रकार आते हैं:
इनपुट पिन के एक ब्लॉक को मिसकॉन्फ़िगर करने के रूप में आउटपुट यह कर सकता है यदि कोई और जो उन्हें चला रहा है वह काफी कठोर है।
मुझे नहीं पता कि LVDS या LVCMOS मानकों में से कुछ पिन को कॉन्फ़िगर करते समय IO बैंक अत्यधिक उच्च वोल्टेज से संचालित होता है (उदाहरण के लिए 1.8V IO मानक के साथ 3.3V पावर, या इनपुट पर विपरीत) यह?
स्पष्ट रूप से थर्मल समस्याएं एक मूर्खतापूर्ण काम करने की संभावना हो सकती हैं जैसे कि कई, कई, रिंग ऑसिलेटर।
FPGAs को नए (आंशिक) बिटस्ट्रीम के साथ रनटाइम पर फिर से जोड़ा जा सकता है। आम तौर पर, इस धारा को एक बाहरी स्रोत से लोड किया जाता है, लेकिन आप इसे FPGA में अपने स्वयं के द्वारा भी बना सकते हैं (उदाहरण के लिए एक एम्बेडेड सॉफ्टकोर CPU)। इस तरह के समाधान का उपयोग करने के लिए जैसे कि गतिशील रूप से सबडेसिग्न को स्थानांतरित करना, विक्रेता उपकरणों द्वारा की गई सभी स्थिरता जांच प्रदान नहीं करता है। इसलिए यदि आपका एल्गोरिथ्म टूट गया है, तो आप एक FPGA में झूठे पथ ट्रांजिस्टर को सक्षम कर सकते हैं और उन्हें जला सकते हैं।
आप पीएलएल या ट्रांससीवर्स जैसे एफपीजीए प्राइमेटिव के लिए गलत संचालन मोड भी चुन सकते हैं।
डायनेमिक रीकंफ़िगरेशन सॉफ्टवेयर में सेल्फ मॉडिफाइंग कोड की तरह है।