【发布时间】:2013-12-02 10:10:04
【问题描述】:
我是 Verilog 的新手,我必须为我设计的内核创建一个测试台文件。 在测试台中,我需要从 txt 文件中读取数据并将它们作为输入输入到我的设计中。然后,设计的输出将被写入一个输出 txt 文件。 我已经设法做到了关于一个输入文件和一个输出文件(使用 fscanf 从文件读取,处理数据并使用 fwrite 将输出写入另一个文件)。
现在我想通过从多个文件中读取数据并将输出结果写入多个输出文件来进一步测试我的设计。
例如,我想要 1000 个输入文件,从它们迭代读取数据并将其提供给我的设计,并将输出写入 1000 个输出文件(读取第一个文件,处理其数据,写入第一个输出文件,读取第二个文件,处理其数据,写入第二个输出文件等)。每个输出文件都将涉及相应的输入文件。在 Verilog 中甚至可能吗?如果是这样,我必须以哪种方式实施它?我在网上搜索过,但没有找到与迭代读/写许多文件相关的任何内容......
提前致谢!
我用来引导文件和读取数据的代码是:
fd_test = $fopen("C:/TEST_FILE.dat","r");
fd_out_test = $fopen("C:/TEST_OUT_FILE.dat","w");
while(cnt_test>0) begin
if (fifo_read_request) begin
cnt_test = $fscanf(fd_test,"%H",read_block);
mpdu_block = read_block;
end else begin
cnt_test = cnt_test;
mpdu_block = mpdu_block;
end
if (valid_enc_mpdu_block) begin
$fwrite(fd_out_test, "%H\n", enc_mpdu_block);
end
#2; @(posedge clk);
end
【问题讨论】:
标签: file-io verilog scanf iteration