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