SystemVerilog读取文本文件及hash数据初始化

在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

 

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值