在 SystemVerilog 中将创建日期添加到文件名
Add the date of creation to a filename in SystemVerilog
我需要创建一个报告 (.txt) 并且我想引用每个测试会话,所以我希望对于每个模拟,我将日期添加到我的报告名称中。
点赞 Report_01-19-2017-12:53.txt
到目前为止,我已经能够创建一个包含日期的文件:
$system("date > sDate");
或者在我的模拟软件上显示:
$system("date");
到目前为止,我的代码看起来像:
string filename;
reg [8*30:1] data; // the date is of 29 characters in size
string sDate;
integer scan_file,data_file ;
initial begin
$system("date > data");
data_file = $fopen("data", "r");
scan_file = $fscanf(sDate,"%s", data);
$fclose("data");
[...]
filename = {filename,sDate};
Report_Task = $fopen(filename,"a"); [...]
end
sDate 不包含任何内容,date 包含日期...
我为 filename
和 sDate
尝试了 string
和 reg
你不是说
scan_file = $fscanf(data_file, "%s", sDate);
其中,如果读取成功,scan_file
将等于 1(读取的项目数)。 (所以,您可能不想称它为 scan_file
。)
您可以使用 svlib
而不是通过文件来获取日期。 documentation 的第 9 章说明了如何获取有关当前时间的信息。
我需要创建一个报告 (.txt) 并且我想引用每个测试会话,所以我希望对于每个模拟,我将日期添加到我的报告名称中。 点赞 Report_01-19-2017-12:53.txt 到目前为止,我已经能够创建一个包含日期的文件:
$system("date > sDate");
或者在我的模拟软件上显示:
$system("date");
到目前为止,我的代码看起来像:
string filename;
reg [8*30:1] data; // the date is of 29 characters in size
string sDate;
integer scan_file,data_file ;
initial begin
$system("date > data");
data_file = $fopen("data", "r");
scan_file = $fscanf(sDate,"%s", data);
$fclose("data");
[...]
filename = {filename,sDate};
Report_Task = $fopen(filename,"a"); [...]
end
sDate 不包含任何内容,date 包含日期...
我为 filename
和 sDate
string
和 reg
你不是说
scan_file = $fscanf(data_file, "%s", sDate);
其中,如果读取成功,scan_file
将等于 1(读取的项目数)。 (所以,您可能不想称它为 scan_file
。)
您可以使用 svlib
而不是通过文件来获取日期。 documentation 的第 9 章说明了如何获取有关当前时间的信息。