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