shuke的个人空间 https://blog.eetop.cn/shuke [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

systemverilog读取文本文件

已有 15015 次阅读| 2011-2-25 17:24

在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

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/edablog/archive/2010/10/14/5939779.aspx


点赞

全部作者的其他最新日志

发表评论 评论 (4 个评论)

回复 shuke 2011-3-3 13:14
$fscanf 是个函数如上调用是不行的,需要加(void)限定符或者用一个int接她的返回值。
回复 sh-sh 2014-7-14 23:26
使用的工具如下 irun: 09.20-p007 报错的信息如下: $fscanf(file,"%s %h/n",variable,value); ncelab: *E,NOTUTX (./read_file.sv,13|6): Function name encountered. Expecting a task name. [2.7.4(IEEE Std 1364-2001)].

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 0

    获赞
  • 11

    评论
  • 368

    访问数

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-6-24 03:55 , Processed in 0.074155 second(s), 14 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部