?-sva/system verilog assertion與功能覆蓋


參考資料

(1) 請教一下用assert property和cover property搜集覆蓋率有什么不同? - IC驗證討論 - EETOP 創芯網論壇 (原名:電子頂級開發網) -

(2) sv綠皮書;

(3) IEEE system verilog standard;

(4) 硅芯思見:【82】SVA概述 (qq.com)

1.功能覆蓋與cover

(1) 功能覆蓋是按照設計規范衡量驗證狀態的一個標准,它可以分成兩類:協議覆蓋和測試計划覆蓋.

(2) 斷言可以用來獲得有關協議覆蓋的窮舉信息。SVA提供了關鍵詞“cover”來實現這一功能.

(3) cover語句的基本語法如下所示。

       <cover_name> : cover property (property_name)

       “cover_name”是用戶提供的名稱,用來標明覆蓋語句,“property_name”是用戶想獲得覆蓋信息的屬性名。

       

(4) cover語句的結果包含信息:屬性被嘗試檢驗的次數,屬性成功的次數,屬性失敗的次數,屬性空成功的次數。

 檢驗器“mutex_clk”在一次模擬中的覆蓋日志的實例如下所示。

2.cover與assert的異同

(1) 像斷言(assert)語句一樣,覆蓋(cover)語句可以有執行塊.在一個覆蓋成功匹配時,可以調用一個函數(function)或者任務(task),或者更新一個局部變量。

(2) assert是執行了這段斷言並且成功了就會覆蓋,否則報錯,當需要用斷言去驗證時序正確性的時候,可以用assert; cover則是執行了這段斷言,成功就覆蓋,沒成功不會報錯,當用斷言去覆蓋時序的異常場景時,可以用cover;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM