欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于遍歷搜索存儲(chǔ)模型的Cache系統(tǒng)形式化驗(yàn)證方法

文檔序號(hào):9646505閱讀:794來源:國(guó)知局
一種基于遍歷搜索存儲(chǔ)模型的Cache系統(tǒng)形式化驗(yàn)證方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種Cache系統(tǒng)的形式化驗(yàn)證方法,特別涉及一種基于遍歷搜索存儲(chǔ)模型的Cache系統(tǒng)形式化驗(yàn)證方法。
【背景技術(shù)】
[0002]隨著設(shè)計(jì)復(fù)雜度的提升,驗(yàn)證成為了影響設(shè)計(jì)流程的一個(gè)重要因素,而且驗(yàn)證的開銷也越來越大。傳統(tǒng)的Cache驗(yàn)證方法是仿真驗(yàn)證。仿真驗(yàn)證由輸入驅(qū)動(dòng),是輸入空間的采用,需要通過添加外部激勵(lì)向量,通過觀察Cache系統(tǒng)在激勵(lì)信號(hào)的作用下的反映來判斷該設(shè)計(jì)是否達(dá)到了設(shè)計(jì)的目標(biāo)。這種方法的缺點(diǎn)是驗(yàn)證覆蓋率的完整性依賴于測(cè)試向量的選取,達(dá)到高的覆蓋率和充分的驗(yàn)證結(jié)果,是一個(gè)十分艱難的過程而且要求驗(yàn)證時(shí)間比較長(zhǎng)。
[0003]帶有存儲(chǔ)器管理單元的Cache系統(tǒng)相對(duì)較復(fù)雜,使得仿真驗(yàn)證狀態(tài)空間變得很大,數(shù)據(jù)完整性的和驗(yàn)證全面性的要求使得采用形式化的驗(yàn)證方法更合適。此外,由于驗(yàn)證過程需要memory模型,傳統(tǒng)的模型需要模擬完整的存儲(chǔ)單元,占用太大的空間,不利于驗(yàn)證的進(jìn)行,所以有必要在Cache memory模型建立方面進(jìn)行創(chuàng)新,才能提高Cache形式化驗(yàn)證的可控性和靈活性。

【發(fā)明內(nèi)容】

[0004]本發(fā)明的技術(shù)解決的問題是:克服了現(xiàn)有仿真驗(yàn)證的不足之處,提供了一種cache系統(tǒng)的形式化驗(yàn)證方法,該方法建立一種遍歷搜索存儲(chǔ)模型,采用模型檢查的方法對(duì)Cache單元進(jìn)行驗(yàn)證,從而克服了驗(yàn)證不靈活、Cache memory模型太大導(dǎo)致驗(yàn)證時(shí)間過長(zhǎng)以及結(jié)果覆蓋率不全面的缺點(diǎn)。
[0005]本發(fā)明的技術(shù)解決方案是:如圖1和圖3所示,一種基于遍歷搜索存儲(chǔ)模型的Cache系統(tǒng)形式化驗(yàn)證方法,包括以下步驟:
[0006](1)用硬件描述語言(例如VHDL語言)建立一種遍歷搜索Cache memory模型(用RTL代碼描述)。該模型包含指令Cache memory和數(shù)據(jù)Cache memory,針對(duì)指令Cachememory或數(shù)據(jù)Cache memory僅用2個(gè)Cache line來代表原來的整個(gè)memory塊,每個(gè)Cacheline包括數(shù)據(jù)data、標(biāo)記位tag、錯(cuò)誤標(biāo)記位err_f lag、保護(hù)鎖定標(biāo)識(shí)lock、替換算法標(biāo)識(shí)lrr以及有效位valid。有效位valid可以進(jìn)行擴(kuò)展,即針對(duì)指令Cache memory和數(shù)據(jù)Cache memory的組相連方式不同,即每一個(gè)Cache line有效位valid位數(shù)是不同的,分別建立對(duì)應(yīng)的模型;
[0007](2)根據(jù)Cache需要驗(yàn)證的功能,利用System Verilog Assert1n (SVA)語言描述指令Cache的讀指令和burst操作功能,描述數(shù)據(jù)Cache的正確讀寫功能,即是用SVA語言對(duì)步驟(1)中的遍歷搜索Cache memory模型中的數(shù)據(jù)data、標(biāo)記位tag、錯(cuò)誤標(biāo)記位err_flag、保護(hù)鎖定標(biāo)識(shí)lock、替換算法標(biāo)識(shí)lrr以及有效位valid進(jìn)行描述;
[0008](3)利用接口將步驟⑴建立的遍歷搜索Cache memory模型和步驟⑵中的斷言描述連接(link)起來,最后用形式化工具對(duì)斷言正確性進(jìn)行檢查,即檢驗(yàn)步驟(2)中描述的指令Cache讀指令和burst操作功能以及數(shù)據(jù)Cache的正確讀寫功能與步驟(1)中建立模型的待驗(yàn)證功能是否一致,如果一致則驗(yàn)證完成,否則進(jìn)行對(duì)Cache進(jìn)行調(diào)試,直至步驟(1)中建立模型的待驗(yàn)證功能與步驟(2)中斷言描述的功能一致,如圖4所示,當(dāng)所有功能全部驗(yàn)證通過,則結(jié)束驗(yàn)證,否則通過增加或者修改斷言描述來驗(yàn)證未完成的功能。(即從Cache memory模型實(shí)際輸出的數(shù)據(jù)和向Cache memory模型請(qǐng)求的數(shù)據(jù)完全相等,貝lj判定驗(yàn)證功能一致,否則判定為不一致。)
[0009]本發(fā)明與現(xiàn)有技術(shù)相比的有益效果是:
[0010](1)驗(yàn)證方法提出了一種遍歷搜索存儲(chǔ)模型,利用形式化窮舉的特點(diǎn),使用一組信號(hào)描述了整個(gè)的Cache memory行為特征,這樣大大的減小了存儲(chǔ)模型的大小,而且提高了memory模型的行為可控性;
[0011](2)采用基于斷言的模型檢查方法,不再需要提供外部的測(cè)試向量,而是根據(jù)設(shè)計(jì)文檔對(duì)輸入進(jìn)行約束,用斷言對(duì)輸出進(jìn)行描述,利用形式化遍歷窮舉的數(shù)學(xué)方法證明功能點(diǎn),這樣可以發(fā)現(xiàn)設(shè)計(jì)中用戶無法想到或者無法用仿真來發(fā)現(xiàn)的錯(cuò)誤,從而提高了驗(yàn)證的完備性。
【附圖說明】
[0012]圖1是本發(fā)明Cache形式化驗(yàn)證的結(jié)構(gòu)示意圖;
[0013]圖2 (a)是本發(fā)明的Cache memory模型中的recordO信號(hào)示意圖;2(b)是本發(fā)明的Cache memory模型中的recordl信號(hào)示意圖;
[0014]圖3是本發(fā)明Cache模型檢查方法的流程圖;
[0015]圖4是本發(fā)明Cache驗(yàn)證功能覆蓋率收集過程流程圖。
【具體實(shí)施方式】
[0016]本發(fā)明的思路為:一種基于遍歷搜索存儲(chǔ)模型的Cache系統(tǒng)形式化驗(yàn)證方法,本方法提出采用基于模型檢查的形式化驗(yàn)證方式對(duì)Cache控制單元進(jìn)行驗(yàn)證。形式化驗(yàn)證方法是由輸出驅(qū)動(dòng)的,用戶只需要根據(jù)需求編寫相關(guān)的斷言語句而不需要關(guān)心輸入激勵(lì)的產(chǎn)生,同時(shí)建立一個(gè)遍歷搜索的Cache memory模型,并通過數(shù)學(xué)方法進(jìn)行模型檢查最終達(dá)到驗(yàn)證的目的,這樣可以遍歷所有的可能和相關(guān)狀態(tài)條件。本發(fā)明利用形式化驗(yàn)證的數(shù)學(xué)窮舉特性,對(duì)指令Cache和數(shù)據(jù)Cache分別建立了遍歷搜索Cache memory模型,實(shí)現(xiàn)了 Cache控制單元的準(zhǔn)確驗(yàn)證,縮短了驗(yàn)證的時(shí)間周期,同時(shí)提高了驗(yàn)證的可控性和靈活性。
[0017]下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)說明。
[0018]Cache系統(tǒng)包括數(shù)據(jù)Cache、指令Cache、存儲(chǔ)器管理單元、Cache與總線通信管理單元等。存儲(chǔ)器管理單元主要進(jìn)行虛擬地址和物理地址的轉(zhuǎn)換,通信管理單元主要負(fù)責(zé)Cache與AHB總線之間的通信和數(shù)據(jù)傳遞。驗(yàn)證功能點(diǎn)包括:數(shù)據(jù)正常讀寫功能、指令正常讀功能、指令Cache支持burst操作。
[0019](1)提出一種遍歷搜索Cache memory模型,根據(jù)Cache系統(tǒng)中指令Cache和數(shù)據(jù)Cache的有效位valid位數(shù)不同,分別建立各自對(duì)應(yīng)的cache memory模型,如圖2的(a)和(b)所不,數(shù)據(jù)Cache memory中用兩個(gè)Cache line (即reordO和reordl)來描述該模型,利用recordO代表整個(gè)數(shù)據(jù)Cache中存儲(chǔ)的數(shù)據(jù)data,標(biāo)記位tag,錯(cuò)誤標(biāo)記err_flag,鎖定信號(hào)lock,替換標(biāo)識(shí)lrr,以及有效位標(biāo)識(shí)valid,這樣根據(jù)形式化窮舉的特征,僅需要一組信號(hào)就可以表示出整個(gè)的數(shù)據(jù)cache memory模型。為了驗(yàn)證數(shù)據(jù)cache的替換算法,使用2組record信號(hào),每次數(shù)據(jù)Cache沒有命中時(shí),都要進(jìn)行record信號(hào)數(shù)值的更新,但對(duì)于valid部分,recordO僅更新一次,而recordl每次都更新,當(dāng)輸入信號(hào)中的地址等于觀察的地址時(shí)需要比較兩個(gè)valid的關(guān)系即可驗(yàn)證整個(gè)Cache的替換算法。(例如:當(dāng)替換算法是最近最少替換原則LRU時(shí),兩個(gè)valid的關(guān)系是recordO和recordl之間valid僅有一位不同,即
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
彭阳县| 离岛区| 霍邱县| 石狮市| 星子县| 古田县| 建德市| 家居| 安岳县| 余江县| 长岭县| 万盛区| 永清县| 安庆市| 乐至县| 瑞昌市| 巴里| 灵石县| 特克斯县| 遵化市| 习水县| 调兵山市| 德昌县| 怀集县| 得荣县| 华阴市| 徐汇区| 汕尾市| 庐江县| 木里| 固镇县| 武安市| 荣昌县| 静海县| 新乡县| 高雄市| 绥滨县| 澄迈县| 大名县| 清镇市| 高唐县|