当前位置: 首页 > 工具软件 > TimeOut > 使用案例 >

UVM设置超时退出timeout

经嘉
2023-12-01


前言

在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环境中设置仿真超时退出的两种方法。

 类似资料: