任何芯片都需要把芯片劃分成更便于管理的小模塊/特性進行驗證。
在這里,引入特性(feature)驗證的概念,即根據被測芯片的特性分配驗證資源和人力。這樣做雖然簡化了驗證資源分配和驗證經理跟蹤驗證進度的難度,但也帶來很大的完備性風險。
一個特性很少能完全獨立于其他特性。多個特性經常共享芯片的資源,它們會相互協作完成整顆芯片的預期功能。因此,單獨驗證某個特性可能無法發現那些只在特性間交互時才會表現出來的bug。
在完成相應特性驗證之后,各個特性的驗證負責人完全可以跳出原有的思維,不需要進行這樣的劃分,應該根據整顆芯片的預期功能而不是某個單一特性來劃分。
驗證人員就可以選擇一些合適的特性組合,目的就是驗證一些整顆芯片的預期功能。芯片驗證人員應該探索芯片的運行路徑,以不同的順序執行許多特性。
各種特性之間的相互作用
驗證生涯中大量存在驗證人員竭盡全力驗證一個特性后沒發現bug,可是當它與其他特性進行交互時卻存在bug的情況。
從理論上說,只有把所有的特性兩個一組成對驗證,然后再三個一組,四個一組,等等.....·才可能確定它們之間的交互是否存在bug。
很明顯,使用這樣窮盡驗證的策略是不現實的,而且在多數情況下也沒有必要。
通過詢問一系列的問題可以指導確定是否需要將兩個特性放在一起驗證。首先從特性列表中隨意選取兩項,然后問自己下面這些問題。
有關輸入的問題: 這兩個特性會不會處理同一個輸入?
有關輸出的問題: 這兩個特性功能是否影響同一個輸出?
有關數據的問題: 這兩個特性會操作其共享的一些內部數據?是讀取還是修改共享數據?
如果對以上任何一個問題的回答是“是”,那么這兩個功能就會相互交互,因此需要放在一起驗證。
審核編輯:劉清
-
芯片制造
+關注
關注
10文章
623瀏覽量
28830
原文標題:一顆小芯片的驗證模塊劃分
文章出處:【微信號:數字芯片實驗室,微信公眾號:數字芯片實驗室】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論