我用for循环更改了我的代码...
模块randomise_tb;整数in_file,expected_file,out_file,results_file,broadcast;
reg clk;
reg enable;
电线有效;
reg [15:0] din;
reg [15:0] exp;
电线[15:0] dout;
整数statusI,statusO;
整数;
随机化dut(clk,enable,din,dout,valid);
initial begin in_file = $ fopen(“in_data.txt”);
expected_file = $ fopen(“expected_data.txt”);
broadcast = in_file | expected_file;
for(in = 0; in begin din = in; $ fdisplayh(broadcast,din); end $ fclose(in_file); $ fclose(expected_file); end initial begin clk = 0; enable = 0; in_file = $ fopen(“
in_data.txt“,”r“); out_file = $ fopen(”out_data.txt“,”w“); expected_file = $ fopen(”expected_data.txt“,”r“); results_file = $ fopen(”results。
txt“,”w“);结束总是#1 clk = ~clk;初始beginrepeat(65535)
@(posedge clk);
while(!$ feof(in_file))begin @(negedge clk);
enable = 1;
statusI = $ fscanf(in_file,“%h n”,din [15:0]);
@(negedge clk);
enable = 0;
结束重复(65535)@(posedge clk);
$ FCLOSE(in_file中);
$ FCLOSE(out_file);
$ fclose(expected_file);#30000 $ finish;
end always @(posedge clk)if(valid)begin $ fwrite(out_file,“%h n”,dout [15:0]);
statusO = $ fscanf(expected_file,“%h n”,exp [15:0]);
if(dout!== exp)开始$ display(results_file,“%0dns%h%h错误:输入和输出不匹配”,$ time,dout,exp);
// $ fdisplay(results_file,“Got%h”,dout);
// $ fdisplay(results_file,“Exp%h”,exp);
结束其他开始$ display(results_file,“%0dns%h%h匹配:输入和输出匹配”,$ time,dout,exp);
// $ fdisplay(results_file,“Got%h”,dout);
// $ fdisplay(results_file,“Exp%h”,exp);
结束
endmodule
我无法将整个模拟打印到结果文本文件中。我该如何解决这个问题?
我用for循环更改了我的代码...
模块randomise_tb;整数in_file,expected_file,out_file,results_file,broadcast;
reg clk;
reg enable;
电线有效;
reg [15:0] din;
reg [15:0] exp;
电线[15:0] dout;
整数statusI,statusO;
整数;
随机化dut(clk,enable,din,dout,valid);
initial begin in_file = $ fopen(“in_data.txt”);
expected_file = $ fopen(“expected_data.txt”);
broadcast = in_file | expected_file;
for(in = 0; in begin din = in; $ fdisplayh(broadcast,din); end $ fclose(in_file); $ fclose(expected_file); end initial begin clk = 0; enable = 0; in_file = $ fopen(“
in_data.txt“,”r“); out_file = $ fopen(”out_data.txt“,”w“); expected_file = $ fopen(”expected_data.txt“,”r“); results_file = $ fopen(”results。
txt“,”w“);结束总是#1 clk = ~clk;初始beginrepeat(65535)
@(posedge clk);
while(!$ feof(in_file))begin @(negedge clk);
enable = 1;
statusI = $ fscanf(in_file,“%h n”,din [15:0]);
@(negedge clk);
enable = 0;
结束重复(65535)@(posedge clk);
$ FCLOSE(in_file中);
$ FCLOSE(out_file);
$ fclose(expected_file);#30000 $ finish;
end always @(posedge clk)if(valid)begin $ fwrite(out_file,“%h n”,dout [15:0]);
statusO = $ fscanf(expected_file,“%h n”,exp [15:0]);
if(dout!== exp)开始$ display(results_file,“%0dns%h%h错误:输入和输出不匹配”,$ time,dout,exp);
// $ fdisplay(results_file,“Got%h”,dout);
// $ fdisplay(results_file,“Exp%h”,exp);
结束其他开始$ display(results_file,“%0dns%h%h匹配:输入和输出匹配”,$ time,dout,exp);
// $ fdisplay(results_file,“Got%h”,dout);
// $ fdisplay(results_file,“Exp%h”,exp);
结束
endmodule
我无法将整个模拟打印到结果文本文件中。我该如何解决这个问题?
举报