微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > $fscanf 对文本文件中数据格式的限制

$fscanf 对文本文件中数据格式的限制

时间:10-02 整理:3721RD 点击:
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

你的想法是fscanf会帮你计算,但是实际上你只是告诉它这是个文件,把它读进来!你又没跟它说要计算!那它就告诉你:我读进来的是 “(0<<25)+(1b6e<<10)+c0”字符串!

标题

请问如果要计算,该怎么用呢

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
不確定是否回答到您的提問

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top