क्या आप वास्तव में गलत तरीके से प्रोग्रामिंग करके एक FPGA को तोड़ सकते हैं ?
मैं वास्तव में एक सॉफ्टवेयर आदमी हूँ। यह कोई रहस्य नहीं है कि यदि आपका सॉफ़्टवेयर गलत है, तो आप सभी प्रकार के महत्वपूर्ण डेटा को नष्ट कर सकते हैं, और शायद पूरी मशीन को भी क्रैश कर सकते हैं। लेकिन किसी कंप्यूटर को सिर्फ प्रोग्रामिंग करके उसे नुकसान पहुंचाना वास्तव में मुश्किल है।
(हॉल्ट-एंड-कैच-फायर इंस्ट्रक्शन के अंतहीन अफवाहें हैं, या मदरबोर्ड को ईंट करने के लिए सिस्टम फर्मवेयर को रिफ़्लेश करने में सक्षम है, या आपके मॉनिटर को भूनने के लिए ग्राफिक्स कार्ड में गलत मानों को प्रोग्रामिंग करना है। लेकिन ये सब वास्तव में ऐसा लगता है। : अफवाहें। और सभी लंबे समय तक अप्रचलित हार्डवेयर के बारे में। यह वास्तव में लगता है, खराब प्रोग्रामिंग के साथ आधुनिक कंप्यूटर उपकरणों को तोड़ने के लिए वास्तव में कठिन है।)
एक FPGA के साथ, आप (कम से कम नाममात्र) एक साथ व्यक्तिगत सर्किट वायरिंग कर रहे हैं। यह पूरी तरह से प्रशंसनीय लगता है कि गलती होने पर शारीरिक क्षति हो सकती है।
उदाहरण के लिए, आप कुछ वीएचडीएल से अनुरोध कर सकते हैं कि दो आउटपुट एक साथ बंधे हों। यदि वे विभिन्न तर्क स्तरों का उत्पादन करते हैं, तो मुझे लगता है कि शायद कुछ भूनें। (मुझे उम्मीद है कि आपका संश्लेषण उपकरण ऐसा न करने के लिए आप पर चिल्लाएगा ... लेकिन मुझे नहीं पता कि क्या ऐसे उपकरण वास्तव में त्रुटि जांच के उस स्तर को लागू करते हैं।)
यह भी गलती से संश्लेषण उपकरण में FPGA के गलत मॉडल को लेने के लिए काफी संभव लगता है, और इस प्रकार कुछ पूरी तरह से अलग मॉडल के लिए इच्छित बिटस्ट्रीम के साथ अपनी चिप को प्रोग्राम करने की कोशिश कर रहा है। मुझे नहीं पता कि वह क्या करेगा, लेकिन मुझे संदेह है कि यह "बुरा" होगा।
उस मामले के लिए, आप निश्चित रूप से FPGA चिप को बाकी सर्किट से गलत तरीके से जोड़ सकते हैं। उदाहरण के लिए, यदि आप पिन नंबरों को गड़बड़ करते हैं, तो हो सकता है कि आप एक I / O पिन को चलाने की कोशिश कर रहे बोर्ड के साथ समाप्त हो जाएं जिसे FPGA खुद भी ड्राइव करने की कोशिश कर रहा है। क्या ऐसी गलती के प्रति I / O पिन आमतौर पर कोई "सुरक्षा" है? या चिप सिर्फ तलना होगा?