我們一般習(xí)慣在哪里開發(fā)我們的功能覆蓋率模型呢?是使用module,還是class?
眾所周知,module和class是2個(gè)完全不同的數(shù)據(jù)結(jié)構(gòu),一個(gè)靜態(tài),一個(gè)動(dòng)態(tài)。也正因?yàn)槿绱?,從而存在不同的特性和?yīng)用場景。
module比較適合抽取RTL信號構(gòu)造功能覆蓋率模型,而class比較適合根據(jù)驗(yàn)證環(huán)境中的變量構(gòu)造功能覆蓋率模型。
1. 上面class中聲明了一個(gè)covergroup,可以對類中的屬性m_x、m_y和m_z進(jìn)行功能覆蓋率建模。
2. 需要在類的new方法中對covergroup進(jìn)行實(shí)例化。
3. 這種在class中聲明covergroup的方法可以用來建模驗(yàn)證環(huán)境中某些變量的功能覆蓋率,而不用依賴RTL。
上圖中的‘covergroup xyzCover’每一次在m_z發(fā)生變化時(shí)就會(huì)進(jìn)行采樣,其中包含了2個(gè)coverpoints,分別是‘m_x’ 和‘m_y’.
由于這個(gè)covergroup聲明和實(shí)例化在一個(gè)class中,所以只有在這個(gè)class本身被實(shí)例化并且m_z不停地被改變賦值時(shí)才會(huì)進(jìn)行采樣,否則不會(huì)有任何bins被覆蓋。
審核編輯:劉清
-
RTL
+關(guān)注
關(guān)注
1文章
389瀏覽量
61133
原文標(biāo)題:在sv class中開發(fā)covergroup
文章出處:【微信號:芯片驗(yàn)證工程師,微信公眾號:芯片驗(yàn)證工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
一文詳解Modelsim代碼覆蓋率功能使用
synopsys 的design ware:DW_fpv_div,浮點(diǎn)數(shù)除法器,默認(rèn)32位下,想提升覆蓋率(TMAX),如果用功能case去提升覆蓋率呢?
嵌入式仿真平臺SkyEye的覆蓋率分析相關(guān)資料下載
關(guān)于SpinalHDL中的驗(yàn)證覆蓋率收集簡單說明
重點(diǎn)厘清覆蓋率相關(guān)的概念以及在芯片開發(fā)流程中跟覆蓋率相關(guān)的事項(xiàng)
Systemverilog覆蓋率的合并和計(jì)算方式
針對功能覆蓋率的驗(yàn)證過程
Verilog代碼覆蓋率檢查
USCIS API的應(yīng)用程序發(fā)熱覆蓋率上

USCIS API的應(yīng)用程序發(fā)熱覆蓋率下

評論