一種基于遍歷搜索存儲模型的Cache系統形式化驗證方法,本方法提出采用基于模型檢查的形式化驗證方式對Cache控制單元進行驗證。形式化驗證方法是由輸出驅動的,用戶只需要根據需求編寫相關的斷言語句而不需要關心輸入激勵的產生,同時建立一個遍歷搜索的Cache?memory模型,并通過數學方法進行模型檢查最終達到驗證的目的,這樣可以遍歷所有的可能和相關狀態條件。本發明專利技術利用形式化驗證的數學窮舉特性,對指令Cache和數據Cache分別建立了遍歷搜索Cache?memory模型,實現了Cache控制單元的準確驗證,縮短了驗證的時間周期,同時提高了驗證的可控性和靈活性。
【技術實現步驟摘要】
本專利技術涉及一種Cache系統的形式化驗證方法,特別涉及。
技術介紹
隨著設計復雜度的提升,驗證成為了影響設計流程的一個重要因素,而且驗證的開銷也越來越大。傳統的Cache驗證方法是仿真驗證。仿真驗證由輸入驅動,是輸入空間的采用,需要通過添加外部激勵向量,通過觀察Cache系統在激勵信號的作用下的反映來判斷該設計是否達到了設計的目標。這種方法的缺點是驗證覆蓋率的完整性依賴于測試向量的選取,達到高的覆蓋率和充分的驗證結果,是一個十分艱難的過程而且要求驗證時間比較長。帶有存儲器管理單元的Cache系統相對較復雜,使得仿真驗證狀態空間變得很大,數據完整性的和驗證全面性的要求使得采用形式化的驗證方法更合適。此外,由于驗證過程需要memory模型,傳統的模型需要模擬完整的存儲單元,占用太大的空間,不利于驗證的進行,所以有必要在Cache memory模型建立方面進行創新,才能提高Cache形式化驗證的可控性和靈活性。
技術實現思路
本專利技術的技術解決的問題是:克服了現有仿真驗證的不足之處,提供了一種cache系統的形式化驗證方法,該方法建立一種遍歷搜索存儲模型,采用模型檢查的方法對Cache單元進行驗證,從而克服了驗證不靈活、Cache memory模型太大導致驗證時間過長以及結果覆蓋率不全面的缺點。本專利技術的技術解決方案是:如圖1和圖3所示,,包括以下步驟:(1)用硬件描述語言(例如VHDL語言)建立一種遍歷搜索Cache memory模型(用RTL代碼描述)。該模型包含指令Cache memory和數據Cache memory,針對指令Cachememory或數據Cache memory僅用2個Cache line來代表原來的整個memory塊,每個Cacheline包括數據data、標記位tag、錯誤標記位err_f lag、保護鎖定標識lock、替換算法標識lrr以及有效位valid。有效位valid可以進行擴展,即針對指令Cache memory和數據Cache memory的組相連方式不同,即每一個Cache line有效位valid位數是不同的,分別建立對應的模型;(2)根據Cache需要驗證的功能,利用System Verilog Assert1n (SVA)語言描述指令Cache的讀指令和burst操作功能,描述數據Cache的正確讀寫功能,即是用SVA語言對步驟(1)中的遍歷搜索Cache memory模型中的數據data、標記位tag、錯誤標記位err_flag、保護鎖定標識lock、替換算法標識lrr以及有效位valid進行描述;(3)利用接口將步驟⑴建立的遍歷搜索Cache memory模型和步驟⑵中的斷言描述連接(link)起來,最后用形式化工具對斷言正確性進行檢查,即檢驗步驟(2)中描述的指令Cache讀指令和burst操作功能以及數據Cache的正確讀寫功能與步驟(1)中建立模型的待驗證功能是否一致,如果一致則驗證完成,否則進行對Cache進行調試,直至步驟(1)中建立模型的待驗證功能與步驟(2)中斷言描述的功能一致,如圖4所示,當所有功能全部驗證通過,則結束驗證,否則通過增加或者修改斷言描述來驗證未完成的功能。(即從Cache memory模型實際輸出的數據和向Cache memory模型請求的數據完全相等,貝lj判定驗證功能一致,否則判定為不一致。)本專利技術與現有技術相比的有益效果是:(1)驗證方法提出了一種遍歷搜索存儲模型,利用形式化窮舉的特點,使用一組信號描述了整個的Cache memory行為特征,這樣大大的減小了存儲模型的大小,而且提高了memory模型的行為可控性;(2)采用基于斷言的模型檢查方法,不再需要提供外部的測試向量,而是根據設計文檔對輸入進行約束,用斷言對輸出進行描述,利用形式化遍歷窮舉的數學方法證明功能點,這樣可以發現設計中用戶無法想到或者無法用仿真來發現的錯誤,從而提高了驗證的完備性?!靖綀D說明】圖1是本專利技術Cache形式化驗證的結構示意圖;圖2 (a)是本專利技術的Cache memory模型中的recordO信號示意圖;2(b)是本專利技術的Cache memory模型中的recordl信號示意圖;圖3是本專利技術Cache模型檢查方法的流程圖;圖4是本專利技術Cache驗證功能覆蓋率收集過程流程圖。【具體實施方式】本專利技術的思路為:,本方法提出采用基于模型檢查的形式化驗證方式對Cache控制單元進行驗證。形式化驗證方法是由輸出驅動的,用戶只需要根據需求編寫相關的斷言語句而不需要關心輸入激勵的產生,同時建立一個遍歷搜索的Cache memory模型,并通過數學方法進行模型檢查最終達到驗證的目的,這樣可以遍歷所有的可能和相關狀態條件。本專利技術利用形式化驗證的數學窮舉特性,對指令Cache和數據Cache分別建立了遍歷搜索Cache memory模型,實現了 Cache控制單元的準確驗證,縮短了驗證的時間周期,同時提高了驗證的可控性和靈活性。下面結合附圖和具體實施例對本專利技術進行詳細說明。Cache系統包括數據Cache、指令Cache、存儲器管理單元、Cache與總線通信管理單元等。存儲器管理單元主要進行虛擬地址和物理地址的轉換,通信管理單元主要負責Cache與AHB總線之間的通信和數據傳遞。驗證功能點包括:數據正常讀寫功能、指令正常讀功能、指令Cache支持burst操作。(1)提出一種遍歷搜索Cache memory模型,根據Cache系統中指令Cache和數據Cache的有效位valid位數不同,分別建立各自對應的cache memory模型,如圖2的(a)和(b)所不,數據Cache memory中用兩個Cache line (即reordO和reordl)來描述該模型,利用recordO代表整個數據Cache中存儲的數據data,標記位tag,錯誤標記err_flag,鎖定信號lock,替換標識lrr,以及有效位標識valid,這樣根據形式化窮舉的特征,僅需要一組信號就可以表示出整個的數據cache memory模型。為了驗證數據cache的替換算法,使用2組record信號,每次數據Cache沒有命中時,都要進行record信號數值的更新,但對于valid部分,recordO僅更新一次,而recordl每次都更新,當輸入信號中的地址等于觀察的地址時需要比較兩個valid的關系即可驗證整個Cache的替換算法。(例如:當替換算法是最近最少替換原則LRU時,兩個valid的關系是recordO和recordl之間valid僅有一位不同,即當前第1頁1 2 本文檔來自技高網...

【技術保護點】
一種基于遍歷搜索存儲模型的Cache系統形式化驗證方法,其特征在于步驟如下:(1)用硬件描述語言建立一種遍歷搜索Cache?memory模型,包括一組請求讀取該Cache?memory模型中存儲數據的請求輸入信號和一組根據請求輸出的信號,該模型包含指令Cache?memory和數據Cache?memory,針對指令Cache?memory或數據Cache?memory僅用2個Cache?line來代表原來的整個memory塊,每個Cache?line包括數據data、標記位tag、錯誤標記位err_flag、保護鎖定標識lock、替換算法標識lrr以及有效位valid,有效位valid能夠進行擴展,即針對指令Cache?memory和數據Cachememory的組相連方式不同,即每一個Cache?line有效位valid位數是不同的,根據有效位valid位數,分別建立對應的指令Cache?memory或數據Cache?memory模型;(2)根據Cache需要驗證的功能,利用System?Verilog?Assertion語言描述指令Cache的讀指令和burst操作功能,即輸入一組讀指令請求信號,輸出一組對應的指令信號;描述數據Cache的正確讀寫功能,即輸入一組讀數據請求信號,輸出一組對應的數據信號;即是用SVA語言對步驟(1)中的遍歷搜索Cache?memory模型中的數據data、標記位tag、錯誤標記位err_flag、保護鎖定標識lock、替換算法標識lrr以及有效位valid進行描述,形成斷言;(3)利用接口信號,將步驟(1)建立的遍歷搜索Cache?memory模型的輸入、輸出和步驟(2)中的斷言描述的輸入、輸出分別鏈接起來,最后用形式化工具對斷言正確性進行檢查,即檢驗步驟(2)中描述的指令Cache讀指令和burst操作功能以及數據Cache的正確讀寫功能與步驟(1)中建立模型的需要驗證的功能是否一致,如果一致則驗證完成,否則對不一致的Cache功能進行調試,直至步驟(1)中建立模型的待驗證功能與步驟(2)中斷言描述的功能一致。...
【技術特征摘要】
【專利技術屬性】
技術研發人員:趙元富,侯國偉,于立新,彭和平,莊偉,覃輝,
申請(專利權)人:北京時代民芯科技有限公司,北京微電子技術研究所,
類型:發明
國別省市:北京;11
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。