突然间,我开始研究一些使用$ readmemh和$ writememh的verilog testbench代码.我明白它基本上读取内存并写入内存.如果你能指出一些与这些惯例有关的资源,我将很高兴.PS:我在谷歌搜索没有成功.(我非常......对Verilog来说很新)
dan*_*poe 19
我同意它不容易找到关于readmem/writemem的东西.你可以在这里找到一点:http: //fullchipdesign.com/index_files/readmemh.htm
无论如何,关于这些函数没有太多可说的,语法是:
$readmem[hb]("File",ArrayName,StartAddr,EndAddr)
$writemem[hb]("File",ArrayName,StartAddr,EndAddr)
Run Code Online (Sandbox Code Playgroud)
Verilog对文件格式非常挑剔,文本文件中的位数必须与数组中的位数相匹配.
我建议你通过定义一个数组来玩一下,用writememh/writememb写出数据,然后打印出来.
这样的事情应该让你开始(没试过!).
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
Run Code Online (Sandbox Code Playgroud)
干杯!
归档时间: |
|
查看次数: |
50107 次 |
最近记录: |