下圖是一個典型的EDA仿真驗證環(huán)境,其中主要的組件就是激勵生成、檢查和覆蓋率收集。
這三者缺一不可。
· 激勵生成是我們驗證環(huán)境的第一個關(guān)鍵組件,用于驅(qū)動DUT到一個預(yù)期的狀態(tài)。
· 在DUT正在處理激勵以及完成激勵處理之后我們需要實時的或者離線的checker機制來確保芯片按照預(yù)期行為工作。
· 覆蓋率是最終的量化機制、也可以理解為激勵的反饋機制。我們不斷地激勵著DUT,同時也在進行檢查,整個過程中通過覆蓋率的量化來反饋驗證工程師有沒有驗證完成?哪里還需要繼續(xù)驗證?
下圖是覆蓋率反饋到激勵,以及表明驗證是否完成的一個流程。在這個流程中,我們不斷地根據(jù)覆蓋率調(diào)整激勵發(fā)送的隨機機制,直到只剩幾個邊界場景很難覆蓋到,我們再構(gòu)造定向用例。
這是一個比較高效的現(xiàn)代EDA仿真驗證流程,整個流程中激勵生成、檢查機制和覆蓋率量化都需要保證完備性。
完備的激勵+完備的檢查機制+完備的覆蓋率量化才能夠獲得有信心的驗證結(jié)果,缺一不可。另外,這三者中的任何一個做到絕對的完備就是非常難的。
· 如果覆蓋率完備了,也可以保證激勵的完備。如果發(fā)現(xiàn)用例構(gòu)造過程非常困難,大概率是驗證環(huán)境架構(gòu)的不合理。
要么趨向于定向用例,你需要維護非常多的sequence,經(jīng)常一個需求會讓你改動多個sequence;要么趨向完全隨機,可控性比較差。這兩個情況都降低驗證效率。
· checker是必須要保證完備的,否則就算你激勵覆蓋到了某個場景,你也識別不出來問題。驗證的重點是發(fā)現(xiàn)所有的bug,然后才是盡可能地保證激勵完備性。如果非要分個優(yōu)先級,個人覺得checker的完備要高于激勵的完備。因為如果你遺漏了某個bug,更上層的驗證環(huán)境也許可以通過集成你的checker來發(fā)現(xiàn)問題。
· 覆蓋率也非常重要。否則就是在黑暗中胡亂開槍射擊,你不知道去過哪里,也就不知道后面要往哪里去了。
保證激勵、檢查和覆蓋率的完備,全部都是難點。
審核編輯:劉清
-
EDA工具
+關(guān)注
關(guān)注
4文章
269瀏覽量
32468 -
EDA仿真技術(shù)
+關(guān)注
關(guān)注
0文章
5瀏覽量
5483 -
DUT
+關(guān)注
關(guān)注
0文章
190瀏覽量
12772
原文標題:IC干貨 | 驗證環(huán)境中的激勵、檢查和覆蓋率
文章出處:【微信號:IC修真院,微信公眾號:IC修真院】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
重點厘清覆蓋率相關(guān)的概念以及在芯片開發(fā)流程中跟覆蓋率相關(guān)的事項
結(jié)合覆蓋率驅(qū)動技術(shù)的RVM驗證方法學(xué)在SOC驗證中的應(yīng)用
針對功能覆蓋率的驗證過程
基于覆蓋率的功能驗證方法

Verilog代碼覆蓋率檢查
使用 Veloce 完成局部系統(tǒng)級協(xié)議檢查和 覆蓋率收斂

嵌入式代碼覆蓋率統(tǒng)計方法和經(jīng)驗

統(tǒng)計嵌入式代碼覆蓋率的方法和經(jīng)驗

脫離代碼談芯片驗證關(guān)鍵指標:覆蓋率
SystemVerilog的覆蓋率建模方式
Vivado仿真器和代碼覆蓋率簡析

利用靜態(tài)檢查工具完善功能安全中測試覆蓋率

評論