網(wǎng)站首頁 編程語言 正文
UVM同樣支持UVM_ERROR達(dá)到一定數(shù)量時(shí)結(jié)束仿真。對(duì)于某個(gè)測(cè)試用例,如果出現(xiàn)了大量的UVM_ERROR,根據(jù)這些錯(cuò)誤已經(jīng)可以確定bug所在了,再繼續(xù)仿真下去意義已經(jīng)不大,此時(shí)就可以結(jié)束仿真,而不必等到所有的objection被撤銷。
實(shí)現(xiàn)這個(gè)功能的是set_report_max_quit_count函數(shù),其調(diào)用方式為:
//base_test.sv
21 function void base_test::build_phase(uvm_phase phase);
22 super.build_phase(phase);
23 env = my_env::type_id::create("env", this);
24 set_report_max_quit_count(5);
25 endfunction
上述代碼把退出閾值設(shè)置為5。當(dāng)出現(xiàn)5個(gè)UVM_ERROR時(shí),會(huì)自動(dòng)退出,并顯示如下的信息:
# --- UVM Report Summary ---
##
Quit count reached!
# Quit count : 5 of 5
在測(cè)試用例中的設(shè)置方式與base_test中類似。如果測(cè)試用例與base_test中同時(shí)設(shè)置了,則以測(cè)試用例中的設(shè)置為準(zhǔn)。
此外,除了在build_phase之外,在其他phase設(shè)置也是可以的。
與set_max_quit_count相對(duì)應(yīng)的是get_max_quit_count,可以用于查詢當(dāng)前的退出閾值。如果返回值為0則表示無論出現(xiàn)多少個(gè)
UVM_ERROR都不會(huì)退出仿真:function int get_max_quit_count();
除了在代碼中使用set_max_quit_count設(shè)置外,還可以在命令行中設(shè)置退出閾值:<sim command> +UVM_MAX_QUIT_COUNT=6,NO
其中第一個(gè)參數(shù)6表示退出閾值,而第二個(gè)參數(shù)NO表示此值是不可以被后面的設(shè)置語句重載,其值還可以是YES。
int sim_max_quit_count = 5;
if(!$value$plusargs("UVM_MAX_QUIT_COUNT=%d", sim_max_quit_count)) begin
set_report_max_quit_count(sim_max_quit_count);
end
原文鏈接:https://blog.csdn.net/Michael177/article/details/125710942
相關(guān)推薦
- 2022-12-24 詳解Python裝飾器的四種定義形式_python
- 2023-01-31 golang獲取變量或?qū)ο箢愋偷膸追N方式總結(jié)_Golang
- 2022-11-07 關(guān)于react?父子組件的執(zhí)行順序_React
- 2022-02-17 出現(xiàn)Presentation Error的解決方法
- 2022-04-09 SpringBoot 安全漏洞之SQL注入解決方案
- 2022-10-22 Android使用ViewStub實(shí)現(xiàn)布局優(yōu)化方法示例_Android
- 2022-12-09 Python字符串本身作為bytes進(jìn)行解碼的問題_python
- 2022-06-07 nlp自然語言處理學(xué)習(xí)CBOW模型類實(shí)現(xiàn)示例解析_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支