我有一个包含多行的文件,其中包含以下结构
R,ACFE13D5,00000000
W,FE1234AC,00000000
中间值是hexa adreess,最后一个值应该是长度为32位的数据(也是hexa)。
读取此类文件并将值输入以下事务原型的简单方法是什么:
direction_enum rw; // where- typedef enum { READ = 0, WRITE = 1 } direction_enum;
bit [31:0] addr;
bit [31:0] data;
答案 0 :(得分:4)
使用$ fscanf
int fd; // file descriptor
byte mode;
int status;
fd = $fopen("filename","r");
status = $fscanf("%c,%h,%h",mode,addr,data);
if(status != 3) error;// you did not read in 3 values
case(mode)
"r": rw=READ;
"w": rw=WRITE;
default: error;
endcase