系统任务均可以从文件中读取数据到存储器
-
常用的格式:
$readmemb("<数据文件名>",<存储器名>,<起始地址>,<终止地址>);
$readmemb("<数据文件名>",<存储器名>,<起始地址>,<终止地址>);
注:起始地址和终止地址可以不加。 -
注意事项:
(1)被读取的文件中只能包含:空白位置(空格、换行、制表格(tab)),注释行(//形式的和/…/形式的都可以)、二进制和二六进制数据。
(2)被读取的文件中不能包含位宽书名和格式说明,对于$ readmemb系统任务,每个数必须是二进制,对于$readmemh系统任务,每个数必须是十六进制。数字中可以有不定值x或X和高阻值z或Z,还可以有下画线(_)。另外,数字必须用空白位置或注释行来分隔。 -
例子
如:文件data.dat内容如下:
@002
11111111 01010101
00000000 10101010
@006
1111zzzz 00001111
verilog程序如下:
reg [7:0] meme[0:7];
$readmemb(“data.dat”,meme);
则寄存器中的内容如下:
meme[0]=xxxxxxxx;
meme[1]=xxxxxxxx;