在systemverilog中读取如下文件
file.txt
内容
addr 12345678
data aa55aa55
attri cececece
并把这些键值对存储在一个hash数组h_array[string]中.
在读入后,再遍历一次数组,通过打印检测是否读取成功。
相关代码如下:
program file_read;
integer file;
string variable;
reg [31:0] value;
reg [31:0] h_array [string] ;
initial
begin:file_block
file=$fopen("file.txt","r");
if (file == 0)
disable file_block;
while(!$feof(file))
begin
$fscanf(file,"%s %h\n",variable,value);
h_array[variable] = value;
end
$fclose(file);
//check read result.
foreach (h_array[i])
begin
$display("hash index %0s value %0h",i, h_array[i]);
end
end
endprogram
用vcs编译后,运行,输出如下结果
hash index addr value 12345678
hash index attri value cececece
hash index data value aa55aa55