CPLD या FPGAs पर योजनाबद्ध डिज़ाइन पर मुझे Verilog या VHDL का चयन करने से क्या होगा?


13

मेरे पास प्रोग्रामेबल लॉजिक की कोई पृष्ठभूमि नहीं है, मैं अपनी परियोजनाओं में ज्यादातर माइक्रोकंट्रोलर का उपयोग करता हूं लेकिन हाल ही में मुझे वीडियो के साथ काम करने की आवश्यकता थी और माइक्रोकंट्रोलर को बस मेरी जरूरत के हिसाब से बहुत धीमी गति से काम करना पड़ता है इसलिए मैंने सीपीएलडी के साथ खेलना शुरू किया।

मैं केवल योजनाबद्ध डिज़ाइन का उपयोग करके CPLD के साथ अच्छे परिणाम प्राप्त करने में सक्षम था, लेकिन जब CPLD के बारे में जानकारी की खोज की तो मुझे VHDL और वेरिलॉग का उपयोग करते हुए कई उदाहरण सामने आए। मुझे इस बात की उत्सुकता है कि मैं इनमें से किसी एक भाषा में अपनी डिवाइस को क्या परिभाषित करना चाहता हूं। वे क्या कर सकते हैं कि योजनाबद्ध डिजाइन नहीं कर सकते हैं? क्या वे ज्यादातर कार्यों के लिए उपयोग किए जाते हैं?

अब तक मैंने केवल CPLD का उपयोग किया है, क्या FPGAs डिज़ाइन इन भाषाओं के उपयोग से CPLD से अधिक लाभान्वित होते हैं?


1
आपको शायद मुख्य धारा के हिस्सों के लिए वेरिलॉग और वीएचडीएल दोनों के लिए विक्रेता द्वारा आपूर्ति की गई संश्लेषण उपकरण मिलेंगे। इसलिए चुनाव विशुद्ध रूप से राय है। मैं आपको दोनों को देखने और आपको पसंद करने का निर्णय लेने के लिए प्रोत्साहित करूँगा। Xilinx दोनों भाषाओं में अच्छे उदाहरण प्रदान करता है, मुझे संदेह है कि अन्य विक्रेता भी करते हैं।
डेविड

3
आपको लॉजिक डिज़ाइन के लिए योजनाबद्ध कैप्चर से निश्चित रूप से दूर होना चाहिए। यह शुरुआत में आसान लगता है, लेकिन यह भ्रामक है। मेरी $ 0.02 भाषाओं पर: VHDL एक अपमानजनक है, वेरिलोग का उपयोग करें।
अंक

@मार्क, आपको क्यों लगता है कि वीएचडीएल खराब है?
स्टेनरी

2
एक समान रूप से अच्छी तरह से कह सकते हैं कि वेरिलोग एक घृणा है, VHDL का उपयोग करें। वीएचडीएल आपसे अपेक्षा करता है कि आप वास्तव में वही कहें जो आप चाहते हैं, जबकि वेरिलोग अनुमानों की तरह। लेकिन वह सिर्फ मेरा £ 0.02 है।
ब्रायन ड्रमंड 2

1
@ चिह्न, मैंने VHDL के साथ शुरुआत की तो एक बिंदु पर मैंने इसकी दृढ़ता से टाइप-नेस की सराहना की। इसने मुझे यह सोचने पर मजबूर कर दिया कि मैं क्या चाहता था और जब मैं शुरू कर रहा था तो अच्छी आदतें बनाना चाहता था। अब मैं बहुत दूर तक ईमानदारी से देखभाल करने के लिए SystemVerilog शिविर में बहुत दूर जा रहा हूं।
स्टेनरी

जवाबों:


14

योजनाबद्ध डिजाइन केवल तब उपयोगी होता है जब आप केवल कुछ ऑफ-द-शेल्फ मॉड्यूल (काउंटर, योजक, मेमोरी, आदि) को एक साथ बांध रहे हों। लेकिन एक वास्तविक एल्गोरिथ्म को लागू करना (कहते हैं, एक क्रिप्टोग्राफी हैशिंग एल्गोरिदम) एचडीएल (जैसे वीएचडीएल या वेरिलोग) के बिना करना लगभग असंभव है, क्योंकि योजनाबद्ध प्रतीकों के साथ व्यवहार स्तर पर एक प्रणाली का वर्णन करने का कोई तरीका नहीं है।

अधिकांश परियोजनाएं व्यवहार-शैली के एचडीएल में की जाती हैं क्योंकि वे बहुत जटिल होते हैं जिन्हें हाथ से संश्लेषित किया जाता है और तर्क प्रधानता का उपयोग करके योजनाबद्ध रूप से तैयार किया जाता है।

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


आप प्रतीकात्मक योजनाबद्ध प्रणाली में बहुत जटिल चीजें कर सकते हैं । मैं यहां तक ​​कहूंगा कि एचडीएल में जो कुछ भी किया जा सकता है, वह योजनाबद्ध आधारित प्रणाली में लागू किया जा सकता है, भले ही रखरखाव की लागत पर। जब तक टूलसेट प्रतीकों के ब्लॉक को परिभाषित कर सकता है जो एकल प्रतीक के रूप में कार्य करता है, तो आप बहुत कुछ भी कर सकते हैं।
कॉनर वुल्फ

1
यहां एक अच्छा उदाहरण है लैब्सव्यू। यह एक प्रतीकात्मक प्रोग्रामिंग इंटरफ़ेस है जहां लोगों ने बड़े पैमाने पर जटिल सिस्टम तैयार किए हैं जो पूरे कारखानों को स्वचालित करते हैं। अंतिम परिणाम nigh-unmaintainable है, लेकिन यह संभव है (ध्यान दें: मैं यह नहीं कह रहा हूं कि क्या यह एक अच्छा विचार है, बस मूल व्यवहार्यता है)।
कॉनर वुल्फ

"अधिकांश परियोजनाएं व्यवहार-शैली के एचडीएल में की जाती हैं ..." असमर्थनीय है और वास्तव में यह नहीं है कि डिजाइन प्रवाह कैसे काम करता है।
प्लेसहोल्डर

@ConnorWolf को Labview कोड के बारे में असहमत होना पड़ता है कि वह अचूक है- ऐसा नहीं है कि मैं बहुत बड़ा प्रशंसक हूं। कुछ सर्वोत्तम अभ्यास हैं जो वास्तव में मदद करते हैं। मेरे लिए, इसके आम तौर पर आगे या पिछड़े संगतता के किसी भी उम्मीद पर परित्याग, जो रखरखाव की समस्याओं का कारण बनता है, जैसा कि जी-भाषा में निहित किसी भी चीज के विपरीत;)
स्कॉट सीडमैन

4

जे के उत्कृष्ट जवाब के अलावा व्यावहारिक पहलुओं की एक जोड़ी:

  • कीड़े। योजनाबद्ध उपकरण बाकी टूलसेट की तुलना में बगियरियर * होते हैं। यह संभवतः उद्योग में स्कीमैटिक्स पर वेरिलॉग / वीएचडीएल की वरीयता के कारण है, और इस प्रकार सॉफ्टवेयर डेवलपर्स द्वारा योजनाबद्ध प्रविष्टि को कम ध्यान दिया जाता है।
  • स्पीड। संश्लेषण उपकरण को पास करने से पहले योजनाबद्ध को पहले एक एचडीएल में परिवर्तित करने की आवश्यकता होती है। इससे बिल्ड समय पर नकारात्मक प्रभाव पड़ सकता है। यदि किसी कारण से आपको इसका निरीक्षण करने की आवश्यकता होती है, तो उत्पन्न एचडीएल भी बहुत पठनीय नहीं हो सकता है।
  • पोर्टेबिलिटी। वेरीलॉग और VHDL उपयोग किए गए वेंडर विशिष्ट प्राइमेटिव की मात्रा के आधार पर उपकरणों के बीच कम या ज्यादा पोर्टेबल होते हैं। पोर्टिंग स्कीमाटिक्स आपको या तो सब कुछ फिर से तैयार करना होगा या प्रदान की गई आयात / निर्यात क्षमताओं (यदि कोई हो) पर भरोसा करना होगा।

* Xilinx ISE में मेरा पसंदीदा बग ऊर्ध्वाधर तारों का चयन करने में असमर्थता थी


2

डिजाइन एंट्री मानक के रूप में एचडीएल (हार्डवेयर विवरण भाषाएँ) के कई फायदे हैं।

कार्यक्षमता का वर्णन उच्च स्तर पर हो सकता है, एचडीएल आधारित डिजाइनों को एक चुने हुए प्रौद्योगिकी के गेट-स्तरीय विवरण में संश्लेषित किया जा सकता है, एक एचडीएल डिजाइन को गेट-स्तरीय नेट-सूची या एक योजनाबद्ध विवरण और एचडीएल से अधिक आसानी से समझा जा सकता है। मजबूत प्रकार की जाँच के कारण त्रुटियों को कम करें।

हार्डवेयर वर्णन भाषाएं VHDL और वेरिलॉग को उच्च स्तर के अमूर्त स्तर पर मॉडलिंग के इरादे से हार्डवेयर के लिए डिज़ाइन किया गया था, जिसमें समरूपता, समय, पदानुक्रम, घटकों का पुन: उपयोग, राज्य व्यवहार, तुल्यकालिक व्यवहार, अतुल्यकालिक व्यवहार, तुल्यकालन और निहित समानता शामिल हैं। ।

संश्लेषण के दौरान समस्याएं उत्पन्न होती हैं, एक विशिष्ट प्रक्रिया और गेट कार्यान्वयन के लिए डिजाइन विवरण की मैपिंग। इसके लिए आवश्यक है कि आप HDL की उच्च-स्तरीय विशेषताओं का उपयोग नहीं कर सकते - आपको "सिंथेसिबल वेरिलॉग / VHDL" का उत्पादन करना होगा

तो आपके पास संश्लेषण के लिए एचडीएल और सिमुलेशन के लिए एचडीएल है और जो उप-सिंथेसिस करने योग्य है वह उपकरण विशिष्ट है।

आप किसी व्यवहार सूची के विवरण से नेट-लिस्ट / लेआउट पर नहीं जा सकते। लेकिन आप अपने डिजाइन को ऐसे व्यवहारिक घटक बनाने के लिए संरचना कर सकते हैं जिसमें एक संश्लेषण योग्य पहलू भी हो जिसकी एक दूसरे के खिलाफ तुलना की जा सके। आप व्यवहार के साथ शुरू करते हैं और फिर एक बार जब आप संश्लेषण के लिए फिर से लिखना (जो एक सबसेट है) काम कर रहे हैं। आप सामान्य से विशिष्ट तक जाते हैं और रास्ते में टेस्ट-बेंच का निर्माण करते हैं।


1

एक और लाभ यह है कि एचडीएल को नियमित प्रोग्रामिंग भाषाओं के समान सभी लाभ मिलते हैं, जिसका उपयोग वे मानक संस्करण नियंत्रण प्रणालियों में किया जा सकता है, परिवर्तनों की जांच करने के लिए अंतर-एड आदि।


0

पहले से ही कहा गया है के अलावा: पाठ प्रतिनिधित्व बस बहुत अधिक प्रबंधनीय हैं, खासकर बड़ी परियोजनाओं में। आप (बड़ी मुश्किलों के साथ) किसी भी सिंथैटिबल एचडीएल को योजनाबद्ध में बदल सकते हैं, लेकिन सैकड़ों योजनाबद्ध तत्वों के साथ सादे पाठ की सैकड़ों पंक्तियों को काम करना आसान है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.