在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2172|回复: 3

[原创] $fscanf 对文本文件中数据格式的限制

[复制链接]
发表于 2016-3-28 16:16:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
in = $fopen("mem_init.txt","r");

fio_status = $fscanf(in, "%h %s %h", addr, _char, data);

1, 如果mem_init.txt 中的内容是 (0<<25)+(1b6e<<10)+c0 , 会报错


2, 如果mem_init.txt 中的内容是6DB8C0, 一切ok
发表于 2016-3-28 22:01:21 | 显示全部楼层
你的想法是fscanf会帮你计算,但是实际上你只是告诉它这是个文件,把它读进来!你又没跟它说要计算!那它就告诉你:我读进来的是 “(0<<25)+(1b6e<<10)+c0”字符串!
发表于 2016-3-29 06:24:07 | 显示全部楼层

标题

回复 2# cutfor
请问如果要计算,该怎么用呢
发表于 2016-3-29 11:14:35 | 显示全部楼层
reg [63:0] cal_ans ;
reg [7:0] reg1, reg2,reg3;
---------------------------------------------------------------------
initial begin
in = $fopen("mem_init.txt","r");
fio_status = $fscanf(in, "%h %h %h", reg1, reg2, reg3);

cal_ans = (reg1<<25) + (reg2<<10) + reg3 ;
end
--------------------------------------------------------
在編輯檔案 mem_init.txt 時需注意一下以空白隔開資料
reg1 reg2 reg3

不確定是否回答到您的提問
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


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

GMT+8, 2024-12-23 14:40 , Processed in 0.017439 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表