मैं rom_type से डेटा कैसे पढ़ सकता हूं?
इकाई my_rom port है (addr: in Std_logic_vector (3 से डाउन 0); डेटा: बाहर std_logic_vector (0 से 7)); अंत my_rom; वास्तुशिल्प my_rom का एक प्रकार है rom_type सरणी (0 से 7) की std_logic_vector (0 से 7); निरंतर R1_ROM: rom_type: = (- डेटा); डेटा शुरू करें & lt; = R1_rom (conv_integer (addr)); अंत ए;
आप conv_integer
का उपयोग कर रहे हैं, जो इसका हिस्सा नहीं है कच्चा वीएचडीएल ... यह एक पुस्तकालय में है हालांकि, आप इसका उपयोग नहीं करना चाहते हैं -।
इसके बजाय उपयोग ieee.numeric_std.all;
वह है जो आपको अपनी इकाई से पहले की आवश्यकता है। फिर to_integer (अहस्ताक्षरित (addr)) का उपयोग करें
को रोम की अनुक्रमणिका बेहतर अभी भी, पते को अहस्ताक्षरित
वेक्टर या सीधे एक पूर्णांक
के रूप में पास करें।
संख्याओं का प्रतिनिधित्व करने के लिए std_logic_vector
(जो सिर्फ बिट्स का एक बैग है) का उपयोग करने की आदत से बाहर निकलने की कोशिश करें, और अच्छी तरह से परिभाषित संख्यात्मक प्रकारों का उपयोग करें।
या Verilog का उपयोग करें, जो परवाह नहीं करता है :)
मुझे, मैं VHDL की मजबूत-टाइपिंग को मुझे निर्बाध पैर की शूटिंग से रखने के लिए पसंद करता हूं ...
No comments:
Post a Comment