The information printed on Simics logs is controlled by the Simics log-setup
command.
The standard timing information gets printed by adding the -time-stamp
option to log-setup. This will print the current instruction pointer/program counter value and cycle. It is focused on understanding what software does.
To see just the virtual time of the log, without an instruction address, use the -pico-seconds
option. This is useful when you are investigating models that do not run instructions in order to drive the simulation forward (like device models attached to "clock
" objects).
Finally, the real time when a log message happens can be printed using the -real-time
flag. This is mostly intended to be used to understand Simics performance and "hiccups" (for example, if there is a gap in log messages for a long time in real time).
All options can be used together for really long log messages.
simics> log-setup -real-time -time-stamp -pico-seconds
...
[board.mb.sb.lan.bank.csr spec-viol] {board.mb.cpu0.core[0][0] 0xdef964fe 3536084056} [08:23:48.5902] {1768042028499 ps} writing 0 to count is not allowed
To see all options, use help log-setup
(options might be added over time):
simics> help log-setup
Command log-setup
Synopsis
log-setup [object] [-time-stamp] [-no-time-stamp] [-pico-seconds] [-no-pico-seconds] [-real-time] [-no-real-time]
[-console] [-no-console] [-eclipse-console] [-no-eclipse-console] [-group] [-no-group] [-level] [-no-level]
[-no-log-file] [-overwrite] [logfile]
<conf_object>.log-setup [-time-stamp] [-no-time-stamp] [-pico-seconds] [-no-pico-seconds] [-real-time] [-no-real-time]
[-console] [-no-console] [-eclipse-console] [-no-eclipse-console] [-group] [-no-group] [-level] [-no-level]
[-no-log-file] [-overwrite] [logfile]
...