UVM中超时退出set_timeout函数

在UVM中通过uvm_root的set_timeout函数可以设置超时时间:

//base_test.sv
18 function void base_test::build_phase(uvm_phase phase);
19 super.build_phase(phase);
20 env = my_env::type_id::create("env", this);
21 uvm_top.set_timeout(500ns, 0);
22 endfunction

set_timeout函数有两个参数,第一个参数是要设置的时间,第二个参数表示此设置是否可以被其后的其他set_timeout语句覆盖。如上的代码将超时的时间定为500ns。如果达到500ns时,测试用例还没有运行完毕,则会给出一条uvm_fatal的提示信息,并退出仿真。
默认的超时退出时间是9200s,是通过宏UVM_DEFAULT_TIMEOUT来指定的:
define UVM_DEFAULT_TIMEOUT 9200s
除了可以在代码中设置超时退出时间外,还可以在命令行中设置:
<sim command> +UVM_TIMEOUT=<timeout>,<overridable>
其中timeout是要设置的时间,overridable表示能否被覆盖,其值可以是YES或者NO。如将超时退出时间设置为300ns,且可以
被覆盖,代码如下:
<sim command> +UVM_TIMEOUT="300ns, YES"

time sim_timeout = 32ms;
if(!$value$plusargs("UVM_TIMEOUT=", sim_timeout)) begin
  uvm_top.set_timeout(sim_timeout);
end
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值