【问题标题】:How do I get time stamps on Simics log messages?如何获得 Simics 日志消息的时间戳?
【发布时间】:2021-06-28 06:24:27
【问题描述】:

默认情况下,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.

如何查看日志的时间,以了解哪些日志在时间上接近(包括命中同一周期),哪些日志相距很远?

【问题讨论】:

    标签: simics


    【解决方案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]
    ...
    

    【讨论】:

      猜你喜欢
      • 2019-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-25
      • 2020-11-18
      • 2012-06-23
      • 2018-02-28
      相关资源
      最近更新 更多