अचानक, मुझे कुछ verilog testbench कोड देखने के लिए बनाया गया है जो भारी रूप से $ readmemh और $ nameememh का उपयोग करता है। मुझे समझ में आया कि यह मूल रूप से स्मृति को पढ़ता है और स्मृति को लिखता है। अगर आप उन दिनचर्या से संबंधित कुछ संसाधनों को इंगित कर सकते हैं तो मैं खुश रहूंगा। पीएस: मैंने सफलता के लिए Google में खोज की। (मैं बहुत ... Verilog के लिए बहुत नया हूँ)
12
A
उत्तर
17
मैं सहमत हूं कि readmem/articleemem के बारे में कुछ ढूंढना बहुत आसान नहीं है। आप यहाँ एक छोटा सा पा सकते हैं: वैसे भी इन कार्यों के बारे में कहने के लिए बहुत ज्यादा नहीं है http://fullchipdesign.com/index_files/readmemh.htm
, वाक्य रचना है:
$readmem[hb]("File",ArrayName,StartAddr,EndAddr)
$writemem[hb]("File",ArrayName,StartAddr,EndAddr)
Verilog फ़ाइल स्वरूप के बारे में बहुत picky है, बिट की संख्या टेक्स्ट फ़ाइल में सरणी में बिट्स की संख्या से मेल खाना पड़ेगा।
मैं आपको एक सरणी को परिभाषित करके थोड़ा सा खेलता हूं, इसे डेटा के साथ भरकर इसे लिखने के साथ लिखता हूं और इसे बाद में प्रिंट करता हूं।
ऐसा कुछ आपको शुरू करना चाहिए (कोशिश नहीं की गई!)।
integer i;
reg [7:0] memory [0:15]; // 8 bit memory with 16 entries
initial begin
for (i=0; i<16; i++) begin
memory = i;
end
$writememb("memory_binary.txt", memory);
$writememh("memory_hex.txt", memory);
end
चीयर्स!
0
हेक्स फ़ाइल पढ़ना इस तरह काम करेगा:
integer i;
reg [7:0] memory [0:15]; // 8 bit memory with 16 entries
initial begin
for (i=0; i<16; i++) begin
memory = i;
end
$readmemh("memory_binary.txt", memory);
end
फिर आप कठिन पर्याप्त खोज नहीं कर रहे हैं! "Readmem ट्यूटोरियल" जैसे कुछ खोजने की कोशिश करें। आपके सिम्युलेटर के लिए प्रलेखन में भी उपयोगी जानकारी होनी चाहिए। – Marty
@ मार्टी, जब मैंने Google में "रीडमेम ट्यूटोरियल" की खोज की, तो यह SO पृष्ठ सबसे अच्छा हिट है ... ;-))) – Alphaneo
एक निःशुल्क आईईईई स्टडी 1800-2012 अब उपलब्ध है: सेक्शन 21.4 "मेमोरी सरणी डेटा लोड हो रहा है एक फाइल ", आदि – toolic