在芯片驗證中,要想發(fā)現(xiàn)bug
需要激勵能夠覆蓋到特定場景
需要一系列的checker能夠發(fā)現(xiàn)DUT的錯誤
checker分為兩種類型:
典型的和驗證組件相對比較獨(dú)立的checker,這些checker通常與時序相關(guān),例如檢查DUT中的狀態(tài)機(jī)是否永遠(yuǎn)不會進(jìn)入某個狀態(tài),檢查接口上的vld-rdy時序符合協(xié)議。
另一種類型的檢查就是數(shù)據(jù)scoreboard。scoreboard用于檢查系統(tǒng)中數(shù)據(jù)的完整性。
本文我們先介紹時序的checker,即非scoreboard的checker
時序checker通常用于檢查隨時序變化的行為。時序checker通過時間表達(dá)式觸發(fā)以對某些條件進(jìn)行檢查,這個時序表達(dá)式可能像時鐘周期一樣簡單,也可能嵌套了很多非常復(fù)雜的時間表達(dá)式。
時序checker一般是比較白盒的,深入探索DUT中RTL中的一切預(yù)期行為:
A事件在條件a下一定發(fā)生
B事件一定不會發(fā)生
A事件發(fā)生后一定會發(fā)生B事件
舉個具體例子
在用例結(jié)束可以做一個驗證環(huán)境和DUT的final值check
檢查fifo不會讀空和寫滿
輸出接口不會違反AMBA協(xié)議
理論上,我們可以加入無限多的checker,我們甚至沒法判斷哪些checker是沒有價值的,最終導(dǎo)致checker指數(shù)級增長,從而降低仿真器的運(yùn)行效率。
也許,我們的隊員在會議中提出了很多很多的checker,聽起來都似乎有些道理。但事實上是否真的有價值,還是只是個雞肋般的checker?
審核編輯:劉清
-
RTL
+關(guān)注
關(guān)注
1文章
385瀏覽量
59797 -
FIFO存儲
+關(guān)注
關(guān)注
0文章
103瀏覽量
5983 -
AMBA協(xié)議
+關(guān)注
關(guān)注
0文章
7瀏覽量
6455 -
DUT
+關(guān)注
關(guān)注
0文章
189瀏覽量
12386
原文標(biāo)題:芯片驗證中的checker和scoreboard
文章出處:【微信號:芯片驗證工程師,微信公眾號:芯片驗證工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論