Title:
[UVM]IC验证自动结束仿真函数——uvm_top.set_timeout/set_report_max_quit_count
文章目录
1- 前言
数字IC验证过程中,需要运行不同Testcase,有些TC会因为TC配置、TB机制等原因,导致make run
卡死/无线占用线程。此时需要采取措施让TC自动$(stop)
,在UVM中自带这种函数:uvm_top.set_timeout
和set_report_max_quit_count
。
2- uvm_top.set_timeout
uvm_top.set_timeout(1s, 0);
功能:
uvm_top.set_timeout
函数用于设置整个测试环境的超时时间。
参数:
1s
:超时时间,表示 1 秒。0
:对于多个TC的一次仿真,设置为 0,超时不会导致整个仿真中止,只会停止正在运行的TC,记录一个错误并进入下一个TC。如果设置为非零值,超时会触发fatal
操作,导致整个仿真中止。
3- set_report_max_quit_count
set_report_max_quit_count(100);
功能:
set_report_max_quit_count
函数用于控制在仿真过程中,允许生成的最大报告数量。
参数:
100
:表示允许的最大报告数量。超过这个数量时,仿真将会停止生成报告并中止。