当前位置: 首页 > article >正文

uvm环境获取系统时间的方法和使用案例

背景:

        有时候我们想统计一下验证环境中某个步骤总共花费了多少时间,有什么比较方便的方法呢,利用$realtime理论上也是能做到的,不过这个和timescale绑定起来了,需要手动换算成单位是秒的数,现在提供一种利用Linux系统函数date来统计时间差的方法。

 以下是步骤:

          1. 定义获取当前时间(单位秒)的函数


    function int get_system_time();    
        int fdt,sys_time;
        $system("date +%s > systime"); // temp file
        fdt = $fopen("systime", "r");
        $fscanf(fdt,“%d” sys_time); 
        $fclose(fdt);
        $system("rm systime"); // delete file
        return sys_time; 
    endfunction




        2. 在想要统计的操作前后分别call 一次以上function,相减即是想要的结果

int _begin_t,_end_t;
_begin_t = get_system_time();
//own task
_end_t=get_system_time();
`uvm_info("Time",$sformatf("task xxx cost:%0d s",_end_t - _begin_t))

注意事项:

       1. 首先$system("date")的返回值是0,不能直接得到系统时间,例子中采用的是把系统时间打印到临时文件中,然后再读出来的方式来间接得到系统时间。

        2. date +%s 是为了以秒数显示,方便后面做减法,另外$system("date")的打印结果中既有字符串又有数字,无法直接利用。


http://www.kler.cn/a/135179.html

相关文章:

  • npm list @types/node 命令用于列出当前项目中 @types/node 包及其依赖关系
  • 山泽光纤HDMI线:铜线的隐藏力量
  • 解决Anaconda出现CondaHTTPError: HTTP 000 CONNECTION FAILED for url
  • JFROG相关API
  • HarmonyOS SDK下的实践与探索
  • 11张思维导图带你快速学习java
  • Python爬虫批量下载图片
  • Kafka快速入门
  • 利用OpenCV做个熊猫表情包 二
  • 单链表相关面试题--2.反转一个单链表
  • 深入理解MongoDB的CRUD操作
  • 五分钟,Docker安装kafka 3.5,kafka-map图形化管理工具
  • Golang中读写CSV文件的全面指南
  • 和鲸科技创始人范向伟受邀出席“凌云出海,来中东吧”2023华为云上海路演活动
  • NX二次开发UF_CAM_ask_cutter_db_object 函数介绍
  • CDN加速在社会发展中的挑战与机遇
  • 【Machine Learning in R - Next Generation • mlr3】
  • PDF/X、PDF/A、PDF/E:有什么区别,为什么有这么多格式?
  • 树莓派4b编译FFmpeg支持硬件编解码
  • 极智嘉(Geek+)官宣重磅合作伙伴,再度赋能仓储自动化解决方案落地
  • 查询数据库DQL
  • 不爱的人在一起会幸福吗
  • 网络安全(大厂面试真题集)
  • JOSEF 同步检查继电器 JT-1 额定电压100V 柜内固定安装,板前接线
  • List 函数排序操作,用对方法事半功倍!
  • 【Linux】-进程间通信-命名管道文件(没有关系的进程间进行通信),以及写一个日志模板