2012-06-05 16 views
5

तो, मैंने हाल ही में कुछ वीएचडीएल कोड विरासत में लिया है, और मेरी पहली प्रतिक्रिया थी, "वीएचडीएल के पास structs हैं, वे हर जगह बिट-वेक्टर का उपयोग क्यों करते हैं?" और फिर मुझे एहसास हुआ कि ऐसा कुछ भी लिखने का कोई तरीका नहीं है:क्या वीएचडीएल में टाइप-जेनेरिक इकाइयां लिखना संभव है?

entity Queue is 
    generic (
     EL : type 
    ); 
    port (
     data_in : EL; 
     data_out : EL; 
     ... 
    ); 
end entity Queue; 

मैं वास्तव में यह चाहता हूं कि यह संभव हो। क्या यह कुछ भी दूरस्थ रूप से अनुमानित है? यहां तक ​​कि अगर मुझे इकाई या घटक घोषणाओं को फिर से टाइप करना है, तो प्रत्येक के लिए आर्किटेक्चर परिभाषा को पुनः टाइप करने से बचने के लिए कुछ तरीका (मॉड्यूल एक सामान्य चौड़ाई) प्रकार?

उत्तर

3

हां, और एक कतार लागू करना इसे करने के क्लासिक कारणों में से एक है!

यह वीएचडीएल -2008 के बाद से वीएचडीएल में रहा है। टूल समर्थन 2012 के मध्य के रूप में परिवर्तनीय है। एक धीमी गति से चलने वाले उद्योग के बारे में बात करो!

  • Aldec supports it completely
  • मॉडेलिम का आंशिक समर्थन है - उनकी क्षमताओं के लिए सार्वजनिक लिंक नहीं मिल रहा है। यदि आपने इसे इंस्टॉल किया है, तो यह /technotes/vhdl2008.note
  • Xilinx (XST/ISIM) इसका समर्थन नहीं करता है, या यहां तक ​​कि VHDL-2002 भी। मुझे एक साधारण लिंक नहीं मिल रहा है, लेकिन thesePDFs में वीएचडीएल संगतता पर अनुभाग हैं, जो केवल वीएचडीएल-1 99 3 की बात करते हैं।
  • Altera के उपकरण have partial support, but not for type generics
+0

मुझे यकीन नहीं है कि आप Xilinx के बारे में सही हैं - मैं अपने कोड में 2002 संरचनाओं का उपयोग करता हूं और यह अनुकरण और संश्लेषण (एक्सएसटी और आईएसआईएम के साथ) को संश्लेषित करता है। इसके अलावा, आईएसई "200X" की वीएचडीएल संगतता सेटिंग की अनुमति देता है। मानक समर्थन पर उनके आधिकारिक दस्तावेज़ हालांकि पुराने हो सकते हैं। – detly

+0

@detly: अपडेट के लिए धन्यवाद, यह थोड़ी देर हो गया है क्योंकि मैंने आईएसआईएम के साथ "इस शताब्दी" को कुछ भी करने का प्रयास किया था। –

+0

ठीक है, हां, मैं एक्सएसटी का उपयोग कर रहा हूं ... – Owen

1

हाँ और नहीं ...

जेनेरिक प्रकार आगामी VHDL -2008 मानक की एक नई सुविधा हैं: http://www.doulos.com/knowhow/vhdl_designers_guide/vhdl_2008/vhdl_200x_major/#GenericTypes

हालांकि EDA उपकरण द्वारा VHDL -2008 के समर्थन अभी भी बहुत सीमित है। यहां तक ​​कि यदि आपके टूल इसका समर्थन करते हैं, तो इस सुविधा का उपयोग करने से आपका कोड गैर पोर्टेबल होगा।

वीएचडीएल -2006 से चिपके हुए, एक समाधान पैकेज में आपके इंटरफ़ेस प्रकार और mytypes घोषित करना होगा और use work.mytypes.all के साथ हर जगह इसका उपयोग करना होगा।

+0

"आगामी VHDL -2008 मानक" - मुझे मुस्कुराहट :) करता है कि एक दिन यह "वर्तमान VHDL मानक", एक दिन के रूप में वर्णित किया जा जाएगा! –

संबंधित मुद्दे