Ход журнала Modelsim в выходной файл

Я запускаю 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

Он напечатает этикетку Section 1 внутри файла mylog.txt. Однако я не знаю, как распечатать текущую системную дату и время в этот файл из командной строки modelsim (TCL). использование date >mylog.txt будет печатать дату/время в файл, однако, поскольку файл открыт, это приведет к повреждению, и формат вывода будет не таким хорошим, как то, что я описал выше. Существуют ли какие-либо способы печати системных данных/времени в файл внутри сценариев TCL?


person VSB    schedule 29.10.2018    source источник
comment
Попытайтесь понять, устраивает ли вас puts $fp "[clock format [clock scan now]] Section 1". Вы можете дополнительно изменить формат метки времени в соответствии с руководством здесь   -  person Jerry    schedule 29.10.2018
comment
clock scan now — очень затратный способ сделать то же самое, что и clock seconds. На моей машине требуется 60,9 мкс против 0,48 мкс для clock seconds   -  person Schelte Bron    schedule 29.10.2018
comment
@SchelteBron Хороший вопрос. Не знаю, где я подцепил эту дурную привычку :)   -  person Jerry    schedule 29.10.2018
comment
@ Джерри, пожалуйста, поместите свой комментарий в качестве ответа здесь, это работает.   -  person VSB    schedule 29.10.2018


Ответы (1)


Вы можете использовать команду clock для различных целей, связанных с манипулированием датой и временем. Чтобы получить текущую метку времени, вы можете использовать clock scan now (медленнее) или clock seconds (быстрее, кредит Schelte Bron в комментарии), затем clock format для форматирования из формата эпохи; Например:

puts $fp "[clock format [clock seconds]] Section 1"
person Jerry    schedule 29.10.2018