如何为Simics日志消息添加时间戳以判断日志时序与间隔
Simics日志显示时间戳设置方法
核心是修改Simics的日志前缀配置,操作分为临时生效和永久生效两种:
- 临时生效(当前Simics会话有效)
直接在Simics命令行输入以下命令即可立刻生效:set-prefix "%.t [%o %l] %m"参数说明:
%.t表示打印完整的模拟时间戳,精度到周期级别,同一周期产生的日志会显示完全相同的时间%o对应原日志里的输出对象路径%l对应日志级别/类型(比如spec-viol、info等)%m对应原日志的消息内容
- 永久生效配置
找到你的Simics用户配置文件(Windows系统路径为%USERPROFILE%\.simicsrc,Linux/macOS系统路径为~/.simicsrc),在文件末尾添加上述set-prefix命令即可,下次启动Simics会自动加载配置。
配置后输出的日志会变成如下格式,时间相同即代表日志产生于同一周期,时间数值差越大说明产生间隔越远:
[00:00:12.345678 12345000] [board.mb.sb.spi.bank.spi_regs spec-viol] Write to read-only field spi_regs.hsfsts.fdv (value written = 0x0000, contents = 0x0001).
[00:00:12.345678 12345000] [board.mb.sb.lan.bank.csr spec-viol] writing 0 to count is not allowed
[00:00:15.987654 15987000] [board.mb.cpu0.core[3][1] info] 0x585: Reading from unknown MSR. Signaling GP fault.
如果需要自定义时间显示格式,可调整%t的参数:
- 仅显示周期计数:使用
%t - 显示时分秒加周期:使用
%.t - 显示自模拟启动以来的秒数:使用
%3t
内容的提问来源于stack exchange,提问作者jakobengblom2
相关产品推荐
相关产品推荐

