मैं वीएचडीएल के लिए नया हूं और मुझे यह पता लगाने में परेशानी हो रही है कि किस डेटा प्रकार का उपयोग करने के लिए उपयुक्त हैं। अगर मैं सही ढंग से समझता हूं, संश्लेषण के लिए, सभी शीर्ष स्तरीय इकाई बंदरगाहों को या तो std_logic_vector या std_logic घोषित किया जाना चाहिए और कभी भी कोई अन्य प्रकार नहीं होना चाहिए।मुझे std_logic_vector का उपयोग कब करना चाहिए और मुझे अन्य डेटा प्रकारों का उपयोग कब करना चाहिए?
लेकिन std_logic_vector अंकगणित का समर्थन नहीं करता है तो मुझे इसे कैसे संभालना चाहिए?
मेरा अंतर्ज्ञान मुझे बताता है कि मुझे बस शीर्ष स्तर पर std_logic_vector का उपयोग करना चाहिए और फिर इसे अन्य संस्थाओं को पास करते समय अभिन्न डेटा प्रकारों में और उसके रूप में परिवर्तित करना चाहिए। क्या ये सही है?
और किस अभिन्न डेटा प्रकार (पूर्णांक, हस्ताक्षरित, हस्ताक्षरित) का उपयोग किया जाना चाहिए? मैं हस्ताक्षरित और हस्ताक्षरित के बीच का अंतर समझता हूं लेकिन मुझे पूर्णांक का उपयोग कब करना चाहिए?
तो फिर पूर्णांक का उपयोग करने में कुछ भी गलत नहीं है? –
@Emil। यह सही है (कोर्स की पूर्णांक पूर्णांक उपप्रकार)। हालांकि, पूर्णांक में अभ्यास में 32-बिट सीमा (परेशान) होती है, जिसका अर्थ है कि आप हस्ताक्षरित/हस्ताक्षरित उदा। यदि आप parametrizability या स्थिरता के बारे में चिंतित हैं। –
नाइटपिक (मुझे पता है कि जान यह जानता है, लेकिन मैं इसे पूर्णता के लिए इंगित करूंगा): मानक को "32-बिट्स नहीं" होने की गारंटी दी जाती है - वे (- 2 ** 31) -1) + ((2 ** 31) -1)। कई विक्रेता पूर्ण int32_t रेंज प्रदान करते हैं, लेकिन इसकी गारंटी नहीं है :( –