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