मैं एक प्रोग्रामिंग बैकग्राउंड से आता हूं और हार्डवेयर या फर्मवेयर (कम से कम इलेक्ट्रॉनिक्स और Arduino) के साथ बहुत ज्यादा गड़बड़ नहीं करता।
C या कुछ असेंबली जैसी प्रोग्रामिंग भाषाओं पर Verilog और VHDL जैसे हार्डवेयर विवरण भाषाओं (HDL) का उपयोग करने में क्या प्रेरणा है?
क्या यह मुद्दा पसंद का है?
मैंने उस हार्डवेयर को पढ़ा, जिसके फर्मवेयर को एचडीएल में लिखा गया है, समानांतर में निर्देश चलाने में स्पष्ट लाभ है। हालांकि, मुझे संदेह व्यक्त करते हुए आश्चर्य हुआ कि सी या असेंबली में फर्मवेयर लिखना है (यदि आपके पास सीपीयू नहीं है तो विधानसभा उपयुक्त कैसे है?) लेकिन मैंने निष्कर्ष निकाला कि यह भी एक विकल्प है।
इसलिए, मेरे कुछ सवाल हैं (कुछ भी समझाने में संकोच न करें):
एक फर्मवेयर वास्तव में या तो एचडीएल में या एक सॉफ्टवेयर प्रोग्रामिंग भाषा में लिखा जा सकता है, या यह उसी मिशन को पूरा करने का एक और तरीका है? मुझे वास्तविक दुनिया के उदाहरण पसंद आएंगे। प्रत्येक विकल्प से क्या अड़चनें आती हैं?
मुझे पता है कि सॉफ़्टवेयर पर फर्मवेयर का एक सामान्य उपयोग हार्डवेयर एक्सेलेरेटर (जैसे GPU, नेटवर्क एडेप्टर, SSL त्वरक, आदि) में है। जैसा कि मैं इसे समझता हूं, यह त्वरण हमेशा आवश्यक नहीं होता है, लेकिन केवल अनुशंसित होता है (उदाहरण के लिए, एसएसएल के मामले में और जटिल एल्गोरिथ्म का त्वरण)। क्या कोई सभी मामलों में फर्मवेयर और सॉफ्टवेयर के बीच चयन कर सकता है? यदि नहीं, तो मुझे उन मामलों में खुशी होगी जिनमें फर्मवेयर स्पष्ट रूप से और असमान रूप से उपयुक्त है।
मैंने पढ़ा है कि फर्मवेयर ज्यादातर ROM या फ्लैश पर जलाया जाता है। इसमें किस तरह से प्रतिनिधित्व किया गया है? बिट्स में, सॉफ्टवेयर की तरह? यदि हां, तो गहरा अंतर क्या है? क्या यह फर्मवेयर के मामले में अनुकूलित सर्किट की उपलब्धता है?
मुझे लगता है कि मैंने कुछ मान्यताओं में यहां और वहां गलती की, कृपया मुझे माफ कर दें। धन्यवाद!