Skip to Main Content
白皮書

揭開功能覆蓋率的複雜性:簡化使用模型的進階指引

簡化使用模型的進階指引

覆蓋組在驗證上是極為強大的元件,然而其可能難以正確設定。本文概述了用於撰寫明確功能覆蓋率模型的指引集。其展示了能迴避的潛在陷阱,例如不能合併的覆蓋組、不必要的效能耗用,或是受限的除錯能見度。

理解覆蓋組選項

SystemVerilog 既不是第一個包含功能覆蓋率概念的語言,也不是第一個難以完全理解的語言。語言中有許多錯綜複雜之處,會大幅影響從模擬觀察到的結果。定義簡單的覆蓋組是相當容易的,然而一旦引入嘗試合併相同覆蓋組之多個實例的概念時,複雜度就會大幅提升,而根據實作方式的不同,也經常會導致截然不同的結果。 當您擁有內嵌覆蓋組後嘗試在設計中的各種實例間合併這些覆蓋組時,理解這些覆蓋組會變得更加複雜。最終覆蓋組可能根本無法合併,這樣就無法看見真正的覆蓋率目標。

這可能會造成不必要的效能耗用,而如果覆蓋組未正確建立,可能會限制您對覆蓋組本身的除錯能見度。這些決策通常都在專案早期時定下,而在部分案例中,除了對驗證程式環境做出大規模變更,並沒有能解決問題的其他方式。為防範這種隱患,務必正確理解建立覆蓋組的方式,以及所需的函數。 本文概述了用於撰寫明確功能覆蓋率模型的指引集,闡明了該做什麼、不該做什麼,以及該怎麼做。

分享