如何在verilog中使$fopen
函数参数化其文件名。
你可以这样看。
handle=$fopen("filenam1");
handle=$fopen("filenam2");
handle=$fopen("filenam3");
...
handle=$fopen("filenam250");
...
我想在RTL内部更改为$ fopen函数参数的参数化像这样。
handle=$fopen("filenam%d",i);
更新:我刚刚尝试实现上面的代码。但是我在这里遇到了编译错误。 string filename; 我该怎么办?
答案 0 :(得分:2)
烨:
module something();
string filename;
initial begin
for (int ii=0; ii<20; ii++) begin
int hFILE;
$sformat(filename, "file%0d.dat", ii);
hFILE = $fopen(filename);
$fclose(hFILE);
end
end
endmodule
在Verilog 1995中:
module something2();
reg [10*8:1] filename;
integer ii;
integer hFILE; // file handle
initial begin
for (ii=0; ii<5; ii=ii+1) begin
$sformat(filename, "file%0d.dat", ii);
hFILE = $fopen(filename);
$fclose(hFILE);
end
end
endmodule