将文件读入Verilog

时间:2014-11-22 10:05:49

标签: file-io verilog

我正在尝试读取包含整数的文本文件。我在项目文件夹中有这个txt文件。我正在尝试使用此代码,但由于$fgetc而得到了char。现在我想做的是如何从文本中获取整数?

这是代码:

integer file;
reg [31:0] char;

begin 
  file=$fopen ("Links.txt","rb");
  char=$fgetc(file);
  $display("char=%d", char);
end

PS:这是我第一次,我正在阅读任何文件。

1 个答案:

答案 0 :(得分:5)

此解决方案为posted previously using SystemVerilog,此处编辑Verionog兼容语法。

integer               data_file    ; // file handler
integer               scan_file    ; // file handler
reg [21:0] captured_data;
`define NULL 0    

initial begin
  data_file = $fopen("data_file.dat", "r");
  if (data_file == `NULL) begin
    $display("data_file handle was NULL");
    $finish;
  end
end

always @(posedge clk) begin
  scan_file = $fscanf(data_file, "%d\n", captured_data); 
  if (!$feof(data_file)) begin
    //use captured_data as you would any other wire or reg value;
  end
end