Как мне получить отметки времени в сообщениях журнала Simics?

По умолчанию сообщения журнала Simics показывают только объект, который зарегистрировал сообщение. Вот такие, например:

      [board.mb.sb.spi.bank.spi_regs spec-viol] Write to read-only field spi_regs.hsfsts.fdv (value written = 0x0000, contents = 0x0001).
...
[board.mb.sb.lan.bank.csr spec-viol] writing 0 to count is not allowed
...
[board.mb.cpu0.core[3][1] info] 0x585: Reading from unknown MSR. Signaling GP fault.

Как мне увидеть время журнала, чтобы понять, какие журналы близки по времени (включая попадания в один и тот же цикл), а какие далеко друг от друга?

1 ответ

Информация, напечатанная в журналах Simics, контролируется Simics. log-setup команда.

Стандартная информация о времени распечатывается путем добавления -time-stampвозможность лог-настройки. Это напечатает текущий указатель команд / значение счетчика программ и цикл. Он ориентирован на понимание того, что делает программное обеспечение.

Чтобы увидеть только виртуальное время журнала без адреса инструкции, используйте -pico-secondsвариант. Это полезно, когда вы исследуете модели, которые не запускают инструкции, чтобы продвигать симуляцию (например, модели устройств, прикрепленные к " clock" объекты).

Наконец, в реальном времени, когда происходит сообщение журнала, можно распечатать, используя -real-timeфлаг. Это в основном предназначено для использования для понимания производительности Simics и "икоты" (например, если в сообщениях журнала есть пауза в течение длительного времени в реальном времени).

Все параметры можно использовать вместе для действительно длинных сообщений журнала.

      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

Чтобы увидеть все варианты, используйте help log-setup (варианты могут быть добавлены со временем):

      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]
...
Другие вопросы по тегам