【发布时间】:2017-06-15 12:41:19
【问题描述】:
我无法在 verilog 中读取包含以下内容的文本文件:
b05_test.dut.n509 0
我被 fgets 指令 scan_faults = $fgets(file_faults , string , data); 阻止,因为它不起作用,我尝试使用 fsancf 没有任何积极结果。
有什么帮助吗?
完整代码:
integer file_faults;
integer scan_faults;
wire data;
initial begin
file_faults = $fopen("faults.txt", "r");
if (file_faults == 0) begin
$display("data_file handle was NULL");
$finish;
end
end
always @(* ) begin
if (!$feof(file_faults)) begin
scan_faults = $fgets(file_faults , data);
end
else begin
$finish;
$fclose(file_faults);
end
end
【问题讨论】:
-
感谢您的回答,但我在模拟中看不到任何差异,我不明白为什么。实际上我正在尝试将故障注入电路但它不起作用。可以请你帮我解决这个问题?
-
对不起,我没有解释我要做什么,我有一个电子电路,我想估计它在出现错误时的行为。问题是如何注入使用 verilog 和 modelsim 的单个故障(串行故障注入),所以我想到了编写故障列表并在我的测试平台中读取它。
-
我使用了 $fscanf,它在 modelsim 上运行良好。我用它来测试我的分支预测器。
$fscanf(data_file, "B%d,%s\n", branch_index_full,captured_data);为了帮助您,您需要向我们提供您的代码的工作示例。 -
integer file_faults; integer scan_faults; wire data; initial begin file_faults = $fopen("faults.txt", "r"); if (file_faults == 0) begin $display("data_file handle was NULL"); $finish; end end always @(* ) begin if (!$feof(file_faults)) begin scan_faults = $fgets(file_faults , data); end else begin $finish; $fclose(file_faults); end end
标签: verilog