VHDL या वेरिलॉग? [बन्द है]


93

वीएचडीएल और वेरिलोग दिन के एचडीएल हैं। एचडीएल के साथ कोई अनुभव नहीं रखने वाले किसी व्यक्ति के लिए या तो क्या फायदे हैं?


2
वे समान रूप से कुशल लगते हैं, जिसे आप पसंद करते हैं उसे चुनें। मुझे लगता है कि वीएचडीएल मुझे सबसे अच्छा लगता है।
लियोन हेलर

1
मैं इन मध्यस्थों को "वोट डाउन" कैसे दे सकता हूं? पुस्तकों में निहित जानकारी की तुलना में पहले अनुभव वाले लोगों की बयानबाजी अधिक मूल्यवान है। किताबें समय की अवधारणा को आगे नहीं बढ़ाती हैं।
dsgdfg

जवाबों:


70

मैं आपको यह नहीं बता सकता कि कौन सा सीखना है, लेकिन यहाँ कुछ विपरीत बिंदु (बहुत VHDL केंद्रित उपयोगकर्ता से है, लेकिन मैंने यथासंभव निष्पक्ष रहने की कोशिश की है!), जो आपको अपनी पसंद के आधार पर चुनाव करने में मदद कर सकता है! विकास शैली के संदर्भ में:

और उस प्रसिद्ध उद्धरण को ध्यान में रखें जो "मैं दोनों में से जो भी मैं वर्तमान में उपयोग नहीं कर रहा हूं" की तर्ज पर जाता है (क्षमा करें, मैं याद नहीं कर सकता कि वास्तव में यह किसने लिखा है - संभवतः जनिक बर्जरॉन?)

VHDL

  • दृढ़ता से टाइप
  • अधिक क्रिया
  • बहुत दृढ़ संकल्प वाला
  • गैर-सी-जैसे सिंटैक्स (और मानसिकता)

संकलन त्रुटियों के बहुत से शुरू करने के लिए, लेकिन फिर काम करता है कि आप कैसे उम्मीद करते हैं। इससे सीखने की अवस्था में बहुत ही कमी महसूस हो सकती है (अपरिचित वाक्य रचना के साथ)

Verilog

  • दुर्बलता से टाइप
  • अधिक संक्षिप्त
  • केवल नियतात्मक यदि आप कुछ नियमों का ध्यानपूर्वक पालन करते हैं
  • अधिक सी की तरह वाक्य रचना (और मानसिकता)

त्रुटियों को बाद में अनुकरण में पाया जाता है - सीखने की अवस्था "कुछ पाने की तरह महसूस करना" उथला है, लेकिन लंबे समय तक चलता है (यदि यह सही रूपक है?)

वेरिलॉग के पक्ष में यह भी है कि हाई-एंड वेरिफिकेशन अधिक से अधिक झुक रहा है SystemVerilog जो कि वेरिलॉग का बहुत बड़ा विस्तार है। लेकिन हाई-एंड टूल VVL सिंथेसिस कोड को SystemVerilog वेरिफिकेशन कोड के साथ भी जोड़ सकते हैं।


पूरी तरह से एक अन्य दृष्टिकोण के लिए: MyHDL - आपको संश्लेषण एक्सटेंशन के एक सेट के साथ सत्यापन भाषा के रूप में पायथन की सारी शक्ति मिलती है जिसमें से आप या तो वीएचडीएल या वेरिलॉग उत्पन्न कर सकते हैं।

या Cocotb - एक सत्यापन भाषा के रूप में पायथन की सारी शक्ति, आपके संश्लेषण योग्य कोड के साथ जो अभी भी एचडीएल में लिखा गया है आपने सीखने का फैसला किया (यानी वीएचडीएल या वेरिलॉग)।


2
मैं वेरिलोग को जानता हूं, लेकिन मैं वीएचडीएल से परिचित नहीं हूं: वीएचडीएल द्वारा वेरिलॉग की तुलना में अधिक निर्धारक होने का क्या मतलब है?
cic

44

मैंने उसी हफ्ते दोनों को सीखा। VHDL ADA / पास्कल की तरह है और Verilog C. की तरह है। VHDL एक संकलन प्राप्त करने के लिए अधिक क्रियात्मक और अधिक दर्दनाक है, लेकिन एक बार जब आप एक संकलन प्राप्त करते हैं तो सफलता की संभावनाएं बेहतर होती हैं। कम से कम मुझे जो मिला है। वेरिलोग, सी की तरह, आपको पैर में खुद को शूट करने देने में काफी सामग्री है। कुछ उद्योग जैसे एयरोस्पेस / सरकार वीएचडीएल की ओर झुकते हैं, अन्य वेरिलोग की ओर झुकते हैं। समस्या मुझे दोनों के साथ मिल रही है, जो परीक्षण बेंच क्षमताओं की है, और जब सीखने की कोशिश कर रहे हैं और सिमुलेशन से सिलिकॉन / FPGA लिखने के लिए संश्लेषित केवल कोड बनाना शिक्षा का एक और स्तर है।

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

वेरिलेटर नामक एक अन्य उपकरण , आपके वेरिलॉग को साफ रखने में काफी कठोर है। यह सी / सी ++ में सिम को संलग्न करने या परीक्षण बेंच बनाने के लिए एक बहुत ही आसान तरीका के साथ एक निशुल्क वेरिलॉग सिम्युलेटर है। आप वेरिलॉग का भी उपयोग कर सकते हैं, आपको वहां तक ​​सीमित नहीं करता है। नहीं है इकारस Verilog जो बड़ा और अधिक अच्छी तरह से जाना जाता है, के रूप में अच्छी तरह से है, लेकिन मैं सिफारिश करेंगे Verilator अगर आप Verilog सीखना चाहते हैं। VHDL के लिए वहाँ है GHDL , यह के साथ मेरा अनुभव के रूप में के रूप में अच्छा नहीं था Verilator , लेकिन कम से कम वहाँ अपने पैरों गीला प्राप्त करने की कोशिश के लिए एक नि: शुल्क उपकरण है। यदि आपके पास सॉफ्टवेयर प्रोग्रामिंग का अनुभव है, तो आप वीएचडीएल की तुलना में तेजी से उठा सकते हैं और वेरिलोग का आनंद ले सकते हैं।

मैं निश्चित रूप से लियोन के साथ सहमत हूं, दोनों की कोशिश करो। fpga4fun और अन्य वेब पेजों में कुछ अच्छी जानकारी होती है और उन पृष्ठों में से कुछ आप जिस विषय पर चर्चा कर रहे हैं उसके लिए आपको वेरिलोग और वीएचडीएल दोनों समकक्ष प्रदान करेंगे। मुझे वे पृष्ठ मिलते हैं जो दो भाषाओं की तुलना के लिए सबसे उपयोगी हैं। यदि एक एचडीएल का उपयोग कुछ ऐसा है जिसे आप अपने करियर में करना चाहते हैं, तो मैं दोनों के साथ कम से कम कुछ क्षमताएं होने की सलाह देता हूं, हो सकता है कि वास्तव में एक के साथ अच्छा हो लेकिन दूसरे का उपयोग करने में पूरी तरह से असमर्थ हो।


1
बहुत अच्छी टिप्स। मैंने आपके उत्तर को मेरे और अन्य के संदर्भ के रूप में संपादित किया है। +1
डैनियल ग्रिलो

23

इस पर कई पवित्र युद्ध लड़े गए हैं। वेरिलोग का एक विशेष नुकसान इसका गैर-निर्धारक व्यवहार है। http://www.sigasi.com/content/verilogs-major-flaw


हां, यह बुरा लग रहा है, लेकिन मुझे यकीन नहीं है: क्या यह भाषा में दोष है या इस विशेष सिंथेसाइज़र में है?
स्टीवनवह जूल 13'11

4
यह एक भाषा का मुद्दा है। विभिन्न सिंथेसाइज़र अप्रत्याशित तरीके से अपना व्यवहार चुनते हैं। Mentor सिम्युलेटर या ताल सिम्युलेटर पर समान कोड चलाएं और आपको अलग-अलग परिणाम मिल सकते हैं।
फिलिप

20

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

आमतौर पर एक या दूसरे का विकल्प आपके द्वारा उपयोग किए जा रहे टूल द्वारा संचालित होता है। कुछ लोकप्रिय FPGA उपकरण VHDL के साथ बेहतर करते हैं। कुछ लोकप्रिय ASIC उपकरण वेरिलॉग के साथ बेहतर करते हैं। तो, जो बेहतर है वह इस पर निर्भर करता है कि आप इसके साथ क्या करना चाहते हैं।

कहते हैं कि आप Altera FPGAs कि EE स्कूलों में लोकप्रिय हैं का उपयोग कर छोटी परियोजनाओं का निर्माण करना चाहते हैं। मुफ्त उपकरण दोनों एचडीएल का समर्थन करते हैं। लेकिन आप पा सकते हैं कि उपयोगकर्ता समुदाय ज्यादातर VHDL का उपयोग कर रहा है। यदि आप उस भाषा को चुनते हैं, तो अधिक उदाहरण कोड, पुन: प्रयोज्य मॉड्यूल आदि होंगे।

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

अधिक चर्चा यहाँ और उपयोगी लिंक यहाँ:

http://www.eetimes.com/electronics-blogs/programmable-logic-designline-blog/4032239/Verilog-versus-VHDL-which-is-best-

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


4
धन्यवाद। अंतिम वाक्य महत्वपूर्ण है। क्या ऐसे उपकरण हैं जो एक को दूसरे में बदलते हैं?
स्टीवनवह

वहाँ कुछ है कि हम इतिहास है कि मैं अभ्यस्त हो, लेकिन अगर आप मॉडल में देखो, जब यह verilog में ले जाता है, तो यह vhdl में बदल जाता है कि sims। ऐसा नहीं है कि दूसरे तरीके के आसपास, इसलिए कम से कम verilog से vhdl आप उस टूल के साथ कुछ रूपांतरण देख सकते हैं। वहाँ अन्य उपकरण हैं जो विशेष रूप से एक तरह से या दूसरे को परिवर्तित करते हैं और उनके डेमो संस्करण हैं।
ओल्ड_टीमर

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

17

संक्षिप्त उत्तर : SystemVerilog का उपयोग करें, लेकिन VHDL भी सीखें । यदि आप कर सकते हैं तो वेरिलॉग -2001 से बचें।

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

  • वेरिलॉग -2001 संक्षिप्त है , जबकि वीएचडीएल (बहुत, बहुत, बहुत) क्रिया है
  • वेरिलोग -200 बहुत कम स्तर के निर्माणों का समर्थन करता है जो वीएचडीएल द्वारा समर्थित नहीं हैं (लेकिन आपको उन्हें विशिष्ट रजिस्टर-ट्रांसफर स्तर (आरटीएल) डिजाइन के लिए उपयोग नहीं करना पड़ेगा
  • वीएचडीएल अधिक दृढ़ता से टाइप किया गया है , जो आमतौर पर त्रुटियों का जल्द पता लगाना बहुत आसान बनाता है
  • वीएचडीएल वेरिलॉग की तुलना में बहुत अधिक अभिव्यंजक है
  • वेरिलॉग -2008 में अधिक सी- लाइक सिंटैक्स है, जबकि वीएचडीएल अधिक एडा-जैसे है
  • Verilog-2001 में शुरुआती लोगों के लिए कुछ भ्रामक अवधारणाएं हो सकती हैं (जैसे wireबनाम reg)

उस ने कहा, सबसे महत्वपूर्ण अवधारणाओं को दो भाषाओं द्वारा साझा किया जाता है, विभिन्न नामों (जैसे alwaysबनाम process) द्वारा और किसी भी मामले में एचडीएल सीखने में कठिनाई पीछे की अवधारणाओं से संबंधित है (जैसे कि सभी प्रक्रियाओं की संगति के रूप में, एचडब्ल्यू भाषा की तुलना में कन्वेंशन आदि)। मतभेदों को ध्यान में रखते हुए, यदि विकल्प वेरिलोग 2001 और वीएचडीएल के बीच है, तो मैं व्यक्तिगत रूप से वीएचडीएल के लिए किसी भी शुरुआत को संबोधित करूंगा।

हालाँकि, जैसा कि मैंने कहा, मेरा सुझाव वास्तव में न तो वीएचडीएल और न ही वेरिलॉग-2001 का उपयोग करना है यदि आपके पास चुनने की शक्ति है। कई लोग जो मानते हैं, उसके विपरीत, SystemVerilog केवल सिस्टम-स्तरीय डिज़ाइन या सत्यापन के लिए उपयोगी उच्च-स्तरीय भाषा नहीं है और उन भाषाओं के साथ साझा करने के लिए बहुत कम है जिन्हें SystemC जैसे उच्च-स्तरीय संश्लेषण उपकरण में खिलाया जा सकता है।

इसके बजाय, SystemVerilog Verilog भाषा का पूर्ण अद्यतन है (Verilog-2005 के आधार पर, http://en.wikipedia.org/wiki/SystemVerilog देखें ) जिसमें पूरी तरह से संश्लिष्ट उपसमुच्चय है जो दोनों की तुलना में उच्च अभिव्यंजना के साथ Verilog की संक्षिप्तता से मेल खाता है Verilog-2001 और VHDL, मेरी राय में दोनों दुनिया के सर्वश्रेष्ठ प्रदान करते हैं।

SystemVerilog में उपलब्ध बहुत महत्वपूर्ण निर्माणों / अभिव्यक्तियों के उदाहरण जो Verilog-2001, VHDL या दोनों में उपलब्ध नहीं हैं:

  • always_ff, always_latch, always_combब्लॉक कि मदद डिजाइनर तर्क के विभिन्न प्रकार को लागू करने ब्लॉकों के बीच तुरंत भेद, और - के लिए always_combऔर always_latch- (! VHDL और Verilog में अनंत कीड़े, विशेष रूप से शुरुआती के लिए का एक स्रोत) का अनुमान लगा स्वचालित रूप से संकेत मिलता है कि संवेदनशीलता सूची पर जाना चाहिए
  • logicप्रकार जो वेरिलॉग-2001 के भ्रामक wireऔर regप्रकार को प्रतिस्थापित करते हैं
  • पैक्ड प्रकार जो आसानी से बहु-आयामी बसों (जैसे logic [N-1:0][M-1:0][P-1:0]) के निर्माण की अनुमति देते हैं , जबकि वेरिलॉग -2001 केवल दो-आयामी बसों का समर्थन करता है और VHDL डिजाइनर को समान संरचनाओं के निर्माण के लिए नए प्रकारों को परिभाषित करने के लिए मजबूर करता है।
  • उच्च-स्तरीय निर्माण जैसे कि struct(VHDL के समान record) और यहां तक ​​कि उच्च-स्तर interfaceजो नियमित संरचनाओं को मॉडल करने के लिए बहुत प्रभावी ढंग से उपयोग किया जा सकता है (जैसे कि बस के बंदरगाहों)

मैंने अनुसंधान प्रयोजनों के लिए काफी जटिल मल्टीकोर प्रणाली पर काम करते हुए "मेरी त्वचा पर" इन सभी अंतरों का परीक्षण किया। यह अब कई उपकरणों द्वारा समर्थित है, और मुझे यकीन है कि (लगभग हर दिन उनका उपयोग करने से) पता है कि यह Synopsys टूल (ASIC और FPGA संश्लेषण प्रवाह दोनों के लिए) द्वारा समर्थित है, Xilinx Vivado (FPGA संश्लेषण के लिए), और सिमुलेशन उपकरण जैसे MentorGraphics मॉडलिम, ताल NCsim और Synopsys VCS के रूप में।

पूरी तरह से पूर्ण होने के लिए, हार्डवेयर डिजाइनर के टूलबॉक्स में दो अन्य महत्वपूर्ण प्रकार की भाषाएं हैं (हालांकि इन उपकरणों की गुणवत्ता बहुत भिन्न हो सकती है):

  • एचडीएल पीढ़ी की भाषाएँ जैसे कि MyHDL (पायथन-आधारित) और रॉकेट (स्काला-आधारित)। यहाँ अवधारणा यह है: आप अपने डिजाइन का वर्णन उच्च स्तरीय भाषा में करते हैं, लेकिन फिर भी बहुत एचडीएल-ईश अवधारणाओं (जैसे समवर्ती ब्लॉक, स्पष्ट समय) का उपयोग करते हैं और फिर आप पारंपरिक एचडीएल (आमतौर पर वेरिलॉग-2001) उत्पन्न करते हैं। ईमानदारी से मुझे ये सुपर उपयोगी नहीं लगते क्योंकि HDLs से अमूर्त कदम छोटा है और SystemVerilog पहले से ही उच्च स्तर की कई अवधारणाएं प्रदान करता है, इस लाभ के साथ कि यह सीधे कोई मध्यवर्ती चरणों के साथ संश्लेषण प्रवाह में खिलाया जाता है।
  • उच्च-स्तरीय संश्लेषण उपकरण, जैसे कि विवाडो एचएलएस, लेगअप, कैलेप्टो कैटापुल्ट और कई अन्य। ये बहुत उच्च-स्तरीय विवरण लेते हैं, अक्सर C, C ++ या SystemC में और आमतौर पर अप्रयुक्त, और (आमतौर पर अपठनीय) वेरिलोग में एक सर्वोत्तम-प्रयास कार्यान्वयन उत्पन्न करते हैं। वे कुछ वस्तुओं को उत्पन्न करने में बहुत अच्छे हैं (उदाहरण के लिए एचडब्ल्यू एक्सेलेरेटर जैसे कि दृढ़ संकल्प, एफएफटी आदि जैसे कार्यों के लिए), लेकिन आम तौर पर सामान्य उद्देश्य नहीं हैं। उदाहरण के लिए, अधिकांश एचएलएस टूल में प्रोसेसर कोर डिजाइन करना असंभव है - केवल एक जिसे मैं जानता हूं वह ब्लूस्पीक है, जो वास्तव में एचएलएस और एचडीएल पीढ़ी के बीच एक संकर है।

यह बहुत ज्यादा है कि मैंने कैसे सीखा। पहले VHDL सीखा और 3 साल तक इसे कोडित किया। उसके बाद 3 महीने का कोडिंग वेरिलॉग खर्च किया और (बहुत जल्दी) तय किया SystemVerilog जाने का रास्ता था। अब मैं लगभग विशेष रूप से एसवी कोड देता हूं, लेकिन वीएचडीएल का उपयोग करते समय मैंने जो सीखा और कोडिंग तकनीकों पर बहुत भरोसा किया है।
स्टेनरी

12

पिछले 13 वर्षों का मेरा कैरियर 80% ASIC और 20% FPGA था।

VHDL का उपयोग पहले 3.5 वर्षों के लिए किया गया था और बाकी वेरिलॉग थे। मुझे वेरिलॉग पर स्विच करना मुश्किल नहीं लगा, और स्थान (सिलिकॉन वैली) और गति कारणों के लिए मैं केवल आज वेरिलॉग में कोड करता हूं।

इसके अलावा, मैं प्रदर्शन के लिए बहुत सारे Async इंटरफेस, लैचेज़ और गेट लेवल सेमी कस्टम डिज़ाइन करता हूं, इसलिए VHDL का अब मेरे जीवन में बहुत कम उपयोग है। इसके बजाय मैंने बड़ी इंजीनियरिंग परियोजनाओं के लिए SystemVerilog और SystemC को उठाया और उपयोग करने के लिए अधिक उपयोगी पाया।

एक स्तर पर, Verilator (free! & Fast) जैसे टूल ने मुझे महत्वपूर्ण सिमुलेशन के लिए बहुत सारे आवश्यक फंड बचाए। आपके पास VHDL के लिए यह विकल्प (अभी तक) नहीं है। और आपको इसकी आवश्यकता कभी नहीं पड़ सकती है यदि आप हमेशा एक अमीर पूल में तैरते हैं या आप> 1 मीटर गेट डिजाइन नहीं करते हैं।

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


VHDL सिमुलेशन के लिए FreeHDL? दृश्य के रूप में Qucs।
मार्टिन

8

मैं VHDL के लिए गया था, ज्यादातर क्योंकि मैं सी को वास्तव में अच्छी तरह से जानता हूं और पाया कि मुझे लिखने की कोशिश कर रहा है, जैसे कि मैं एक सीपीयू को लक्षित कर रहा था कि हार्डवेयर का वर्णन नहीं कर रहा था।

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

वीएचडीएल काफी अलग था कि मुझे लॉजिक डिजाइन के बारे में सोचना आसान था और प्रवाह पर नियंत्रण नहीं।

दिन के अंत में, भाषा शायद ही कभी कठिन होती है, कौशल सिस्टम डिज़ाइन में होता है टाइपिंग नहीं।

सादर, डैन।


5

पिछले साल मैंने जिस विश्वविद्यालय का अध्ययन किया है, उसने शुरुआती लोगों के लिए दो खुले पाठ्यक्रमों को बढ़ावा दिया है। दोनों ने एक ही सामग्री को कवर किया, लेकिन एक VHDL और दूसरे वेरिलॉग का उपयोग करते हुए।

बेशक मैंने दोनों प्रोफेसरों से VHDL और वेरिलॉग के अंतर के बारे में पूछा है। दोनों ही सर्वश्रेष्ठ चुनाव नहीं कर सके।

इसलिए मुझे यह देखने के लिए दोनों कोर्स करने पड़े कि कौन बेहतर हो सकता है। मेरा पहला प्रभाव VHDL अधिक पास्कल-जैसा और वेरिलॉग अधिक C-like है

इसके बाद मैंने केवल VHDL करने का फैसला किया है, क्योंकि उस समय, मैं डेल्फी के साथ काम कर रहा था।

लेकिन मैंने कोर्स के बाद कभी भी FPGA के साथ काम नहीं किया। तो यह सबसे अच्छा मैं आपकी मदद कर सकता हूं।


5

मैं लगभग पूरी तरह से वीएचडीएल का उपयोग करता हूं। मेरा अनुभव है कि VHDL यूरोप में अधिक आम है, अमेरिका में वेरिलॉग, लेकिन VHDL अमेरिका में भी लगातार प्रगति कर रहा है। वीएचडीएल की मजबूत टाइपिंग मुझे परेशान नहीं करती है क्योंकि मैं इसका इस्तेमाल पुराने जमाने के हार्डवेयर डिजाइन लैंग्वेज की तरह करता हूं जैसा कि छोटे प्रोग्रामेबल लॉजिक में इस्तेमाल किया जाता है, जैसे कि PALASM या Altera का AHDL।

VHDL का उपयोग करने वाले अधिकांश लोगों के लिए बड़ी समस्या मजबूत प्रकार है। वे std_logic_vector (जिसे मैं लक्ष्य में तारों के संग्रह के रूप में सोचता हूं) और "int" के बीच असाइनमेंट बनाना चाहता हूं, (जो मैं कंप्यूटर में संग्रहीत संख्या के रूप में सोचता हूं जो डिजाइन को संकलित कर रहा है)। आमतौर पर मेरे द्वारा चलाया जाने वाला सबसे कष्टप्रद प्रकार रूपांतरण बिट_वेक्टर के बीच होता है (जिसे मैं डिजाइन को संकलित करने वाले कंप्यूटर में तारों के संग्रह के विवरण के रूप में सोचता हूं) और std_logic_vector। वास्तव में क्या मुझे अभी तक stackexchange पर घसीटा int करने के लिए char (संकलन कंप्यूटर में संग्रहीत एक चरित्र चर) से रूपांतरण के लिए देख रहा था।

वापस दिन में, VHDL और वेरिलोग के बीच सबसे प्रसिद्ध संघर्ष ASIC & EDA पत्रिका द्वारा आयोजित डिजाइन प्रतियोगिता थी। Google "हार्डवेयर डिज़ाइन प्रतियोगिता से अनपेक्षित परिणाम: वेरिलोग वोन एंड वीएचडीएल लॉस्ट? - आप जज बनें!", उदाहरण के लिए: http://www.ee.ed.ac.uk/~gerard/Teach/Verilog/manual /Example/lrgeEx2/cooley.html

यह प्रतियोगिता काफी जटिल 9-बिट रजिस्टर को लागू करने के लिए थी। इसमें अप / डाउन काउंटिंग के साथ-साथ कुछ अन्य चीजें भी थीं। परिणाम यह था कि 9 में से 8 वेरिलॉग डिजाइनरों में 90 मिनट के बाद कोड चल रहा था। 5 वीएचडीएल लोगों के शून्य में कुछ भी काम नहीं था।

मैं किसी और की तरह वीएचडीएल का उपयोग नहीं करता हूं। जिस तरह से मैं इसका उपयोग करता हूं, वह प्रकार बहुत बार मेरे रास्ते में नहीं आते हैं। मैंने उपरोक्त परियोजना को उसी तरह लागू किया है जैसे मैं बाकी सब कुछ करता हूं, पूरी तरह से std_logic और std_logic_vector में, (दिन में वापस) IEEE अहस्ताक्षरित पुस्तकालय का उपयोग करके। इसके बजाय, मुझे लगता है कि VHDL डिजाइनरों ने इंट के साथ अपना काम किया और टाइप रूपांतरण में खो गए।

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

वैसे भी, इससे पहले कि आप सीखने के लिए पहली भाषा पर फैसला करें (लगभग हर किसी की प्राथमिकता है लेकिन लगभग हर कोई दोनों का उपयोग करता है), मैं उस प्रतियोगिता को देखने और उस पर टिप्पणी पढ़ने की सलाह दूंगा।

VHDL के साथ मैंने जिन समस्याओं का अवलोकन किया है, उनमें से एक यह है कि चूंकि यह एक बहुत ही क्रियात्मक भाषा है, इसलिए ऐसा लगता है कि यह प्रवृत्ति (डिजाइनरों के मन में) का मानना ​​है कि इसमें टिप्पणियों की आवश्यकता नहीं है। बिल्कुल सच नहीं है, आपको कोड से पहले टिप्पणी लिखनी चाहिए।


1
मुझे लगता है कि यह एक दिलचस्प दावा है कि वीएचडीएल की मजबूत टाइपिंग सबसे बड़ी समस्या है। मेरे लिए मजबूत टाइपिंग एक केंद्रीय विशेषता है जो मुझे अमूर्तता का स्तर बढ़ाने में सक्षम बनाती है। हार्डवेयर डिज़ाइन में आपके पास एक संरचना का वर्णन करने के बीच विकल्प होता है जो एक व्यवहार को लागू करता है, या एक व्यवहार का वर्णन करता है जो एक संरचना को लागू करता है। इतिहास से पता चला है कि अमूर्तता सफल बड़े सिस्टम डिजाइन की कुंजी है, और डिजिटल सिस्टम कोई अपवाद नहीं है। मुझे लगता है कि आप भाषा सुविधाओं की एक बहुत ही सीमित सबसेट को सीमित करके बहुत याद करते हैं।
trondd

2
सच है, लेकिन मैं "बड़े-सिस्टम डिजाइन" में विशेषज्ञ नहीं हूं, मैं उन छोटी चीजों में विशेषज्ञ हूं जिनके लिए बेहद कुशल होने की आवश्यकता है। कई कारण हैं जो इलेक्ट्रॉनिक्स डिजाइन में दक्षता कभी-कभी सर्वोपरि हो जाती है। कभी-कभी इन छोटी प्रणालियों में से एक बड़ी प्रणाली बनाई जाती है और इस तरह का डिज़ाइन कहीं अधिक दक्षता प्रदान करता है।
कार्ल ब्रैनन

5

मैं अपने दो सेंटों का वजन करूंगा: मैं खुद एक भारी VHDL उपयोगकर्ता हूं, लेकिन वेरिलोग निश्चित रूप से बस काम कर सकते हैं। आप हमेशा एक को दूसरे में लपेट सकते हैं (यद्यपि समय और टाइपिंग लागत के साथ)।

मैंने पाया है कि कच्चे VHDL में बहुत सारे काम नहीं होते हैं। (या या और: एक संपूर्ण std_logic_vector दिमाग में आता है)। इस प्रकार, अपने आप को डीबग किए गए, संश्लेषित कार्यों के एक टूलबॉक्स का निर्माण VHDL का उपयोग करते समय अपनी उत्पादकता बढ़ाने का एक लंबा रास्ता तय करता है।

हो सकता है कि कोई व्यक्ति एक अच्छे ओपन-सोर्स लाइब्रेरी का संदर्भ दे सकता है जो इन सभी "गुड-टू-है" फ़ंक्शन प्रदान करता है?


2
मुझे पूरा यकीन है और / या कमी VHDL 2008 में कुछ अन्य उपयोगी अपडेट के साथ शामिल है।
1:01 बजे

4

पिछले उत्तर बहुत अधिक दो भाषाओं के बीच विरोधाभासों को कवर करते हैं, और इस लेख में बहुत अच्छी तरह से अंक भी शामिल हैं: http://www.bitweenie.com/listings/verilog-vs-vhdl/

मैं कुछ और बिंदु भी बताना चाहूंगा जिनका उल्लेख नहीं किया गया है।

मैं कुछ कारणों से पहले VHDL सीखने की सलाह दूंगा। मजबूत टाइपिंग से कुछ आसान शुरुआती गलतियों को कंपाइलर द्वारा पकड़ने में मदद मिलती है। मैंने यह भी सुना है कि वीएचडीएल पहले वेरिलॉग का उपयोग करने के बाद लेने के लिए अधिक कठिन है।

ईमानदारी से, आप किसी भी भाषा के साथ गलत नहीं कर सकते; और यदि आप इस उद्योग में बहुत लंबे समय से काम कर रहे हैं, तो आप अंततः दोनों भाषाओं को सीख सकते हैं।

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