UVM设置超时退出timeout

  • Post author:
  • Post category:其他





前言

在uvm搭建的仿真环境,仿真过程中,有可能会出现仿真挂死的现象,导致仿真会一直卡在某个地方,无法自动退出。uvm提供了仿真超时退出的功能,本文主要介绍,如何在uvm环境中设置超时退出。





一、在仿真选项中设置

uvm中提供了+UVM_TIMEOUT=“time, override”这个选项,用于控制仿真超时退出。

time是超时的时间;override的选项为YES和NO,用于控制是否覆盖环境中设置的超时时间,UVM中默认的超时时间是 9,200秒。

`define UVM_DEFAULT_TIMEOUT 9200s

代码举例如下,当仿真超过300ns的时候,仿真会给出一条uvm_fatal的提示信息,并退出仿真。

<sim command> +UVM_TIMEOUT="300ns, YES"



二、在仿真环境中设置

在仿真环境中设计超时退出的代码如下所示,这样设置能够被+UVM_TIMEOUT方法覆盖,建议在base_test的new函数中去设置。

function void base_test::new(string name, uvm_component parent);
	super.new(name, parent);
	uvm_root::get().set_timeout(.timeout(1ms))
endfunction





总结

本文主要总结了,在uvm环境中设置仿真超时退出的两种方法。



版权声明:本文为hh199203原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。