【仿真】仿真过程状态记录

仿真监控与优化:记录芯片后仿的系统资源与时间
这篇博客分享了在大规模芯片后仿真过程中如何通过Linux命令实时记录主机状态、时间及进度。作者使用了$system任务打印时间、CPU信息、内存详情等,并计划进一步利用uCLI结合脚本实现更精细的仿真时间消耗分析。目标是优化仿真效率,更好地监控仿真过程。

在仿真过程中,尤其是较大规模的芯片的后仿过程中,内存占用很大,仿真过程非常缓慢。运用save/store进行仿真状态的保存有更大意义。但还是想记录一下仿真过程和进度。

我使用的方法是,在验证环境中,调用Linux命令打印时间。

大致代码如下:

task base_test::run_phase(uvm_phase phase);

  $system($sformatf("hostname > %s", logfile));  //打印主机名到logfile中
  $system($sformatf("lscpu >> %s", logfile));  //追加打印CPU信息到logfile中
  $system($sformatf("cat /proc/meminfo >> %s", logfile));  //追加打印内存信息到logfile中
  $system($sformatf("date >> %s", logfile));  //追加打印当前时间到logfile中
  $system($sformatf("uptime >> %s", logfile));  //追加打印负载情况到logfile中

  forever begin:heartbeat_log
    repeat(delay_ns) #1ns;
   
    //每过delay_ns追加打印负载情况到logfile中
    $system($sformatf("echo -n '%0t' >> %s, uptime >> %s", $realtime, logfile, logfile)); 
  end

endtask

后续更倾向于ucli结合脚本来实现,大家可以给出更多建议,目标是更精细地查看仿真过程中时间消耗的详细过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值