下圖是一個典型的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)注
71文章
2759瀏覽量
173283 -
EDA仿真技術(shù)
+關(guān)注
關(guān)注
0文章
5瀏覽量
5426 -
DUT
+關(guān)注
關(guān)注
0文章
189瀏覽量
12386
原文標(biāo)題:驗證環(huán)境中的激勵、檢查和覆蓋率
文章出處:【微信號:芯片驗證工程師,微信公眾號:芯片驗證工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論