verilog 的对文本文件的信息提取

现在需要用verilog编写tb文件,其中需要将一个文本中的数据地址出来,文本格式为wr 0x12345678 10101010每行都是这样的格式,现在需要将里面的12345678放入地址单元中,数据放入到数据单元中,wr字符舍弃。以前没有操作过文件,不知道该怎么整。如何将字母和数据分离开?有没有一个类似atoi的函数将字符串变成数据?

//用 $fopen 打开文件

integer datain_f;
datain_f = $fopen("input.txt", "r");

//用fscanf读文件
reg [95:0] wr_str;
reg [31:0] addr_in, data_in;

// 假如数据是二进制
$fscanf(datain_f, "%s 0x%h %b", wr_str, addr_in, data_in);追问

非常感谢,我也是想用fscanf函数,不过我看百科上看到 fscanf从一个流中执行格式化输入,fscanf遇到空格和换行时结束,遇到空格会不会就结束了?

追答

空格应该会自动跳过的。可以仿真尝试一下

温馨提示:答案为网友推荐,仅供参考
相似回答