發布日期:2022-07-15 點擊率:31
在支持多協議(SD/MMC/CEATA)主機控制器這樣的可配置主機控制器IP的驗證階段發現隱藏的缺陷(bug)非常困難,因為這些缺陷隱藏很深,只能通過一系列的事務(如錯誤事務之后為正常事務)之后才可能被發現。
驗證工程師開發離散錯誤測試來覆蓋各種錯誤情形,并單獨運行測試,但是這樣并不總能發現與次序相關聯的缺陷,因為測試平臺可能不會產生包括正常事務和錯誤事務的混合事務序列,或者測試平臺驅動程序可能不會插入錯誤事務,然后恢復到正常狀態,支持包括正常事務和錯誤事務的隨機事務流。
Synopsys (India)公司的Pusuluri Giri Kumar設計了一個解決方案,其核心是事務生成模型和測試平臺驅動程序的設計和實現,其設計平臺基于可復用驗證方法規范。該解決方案能夠在為移動存儲應用驗證主機控制器IP進行嚴正的時候發現隱藏的缺陷。
移動存儲技術將SD、MMC、CEATA等高容量器件集成到數碼相機、MP3播放器等產品中,存儲器物理接口相同,但通信協議則不同,因此主機控制器必須能夠進行配置,作為移動存儲設備的接口。
驗證這樣的可配置主機控制器非常困難,因為需要針對美中存儲器件測試整體的功能設計。在通過常規的測試和錯誤測試之后,在ASIC測試階段卻發現了錯誤。根本原因分析表明該IP不能正確地處理一個錯誤事務加上一個常規事務的情況。
驗證覆蓋報告表明所有的事務都已經被包括,但事實上導致缺陷的事務序列卻沒有被包括在測試中。在驗證階段發現這樣一來次序的缺陷而不要等到ASIC測試階段非常重要。
Kumar的方法著重使用約束條件隨機驗證(Constrained Random Verification, CRV),在難于生成具體的情形時,大多數驗證使用隨機測試和定向測試。雖然他的事務生成模型和測試平臺驅動程序針對SD、MMC、CEATA等協議,但他的概念具有普遍意義,可用于其他類似的應用。
測試平臺體系結構遵循RVM規范,采用分層的概念,并定義了每層的功能以及模型實現的方法。處理事務需要的所有方法通過驅動程序來實現,驅動程序去掉了測試案例的許多代碼,使測試案例更易于生成。這種體系結構的另一個好處是測試平臺能夠在硬件軟件協同驗證中重復使用。
在這個方法中,主機控制器RTL是測試設備(DUV, Device Under Verification),一端連接到驅動程序,另一端連接到設備驗證IP(SD、MMC、CEATA),設備驗證IP是存儲器期間的一個總線功能模型。
事務生成層負責產生各個協議的常規和錯誤事務。測試平臺驅動程序在功能上等于軟件驅動程序,但它是采用硬件驗證語言VERA開發的。隨機事務的生成對約束條件隨機驗證至關重要。測試平臺的事務生成層負責生成滿足要求的隨機事務。事務模型基于RVM規范。事務模型能夠產生隨機事務流,包括正常事務和錯誤事務,實現驗證中的邊際情況。
測試計劃在驗證階段的開始時就已制定,并列舉出需要覆蓋的測試情形。根據RVM規范的功能覆蓋模型滿足完成測試需要的各個情形,并集成到測試平臺中。在驗證結束時,生成一個覆蓋報告,可進行分析,以發現沒有包括的情況。這些沒有包括的情形可通過新的測試來覆蓋,或者優化限制條件來覆蓋。
使用這些模型的好處在于易于生成隨機事務流,驅動程序中的錯誤恢復機制可用于發現設計中的與次序相關的缺陷,以及驅動程序中的錯誤恢復方法簡化了測試案例生成。