Modelsim 将进度记录到输出文件

Modelsim log progress to output file

我正在运行 Modelsim 做一个长时间的模拟。我想要这样的输出,以便将我的进度报告记录在文件中:

Mon Oct 29 21:05:57 IRST 2018   Section 1 
Mon Oct 29 21:05:57 IRST 2018   Section 2 
Mon Oct 29 21:05:57 IRST 2018   Section 3
...

我想要一个 tcl 脚本来创建此输出并在模拟过程中将其记录在文件中。 我有以下 TCL 代码片段:

set fp [open mylog.txt w]
puts $fp "Section 1"
close $fp

它将在文件 mylog.txt 中打印标签 Section 1。 但是我不知道如何从 modelsim 命令行 (TCL) 将当前系统日期和时间打印到该文件。 使用 date >mylog.txt 会将 date/time 打印到文件,但是由于文件是打开的,它会使内容损坏并且输出格式不会像我上面描述的那样好。 有什么方法可以在 TCL 脚本中打印系统 data/time 到文件吗?

您可以使用命令clock for various purposes involving datetime manipulation. To get the current timestamp, you can use clock scan now (slower) or clock seconds (faster, credit to Schelte Bron in the )然后clock format将其从纪元格式格式化;例如:

puts $fp "[clock format [clock seconds]] Section 1"