在 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 包含日期... 我为 filenamesDate

尝试了 stringreg

你不是说

scan_file = $fscanf(data_file, "%s", sDate);

其中,如果读取成功,scan_file 将等于 1(读取的项目数)。 (所以,您可能不想称它为 scan_file。)

您可以使用 svlib 而不是通过文件来获取日期。 documentation 的第 9 章说明了如何获取有关当前时间的信息。