本技術(shù)涉及數(shù)字集成電路驗(yàn)證,特別是涉及一種二級緩存模塊的驗(yàn)證方法、裝置、計算機(jī)設(shè)備、計算機(jī)可讀存儲介質(zhì)和計算機(jī)程序產(chǎn)品。
背景技術(shù):
1、目前處理器運(yùn)行速度越來越快,為了平衡高速處理器和低速大內(nèi)存之間的效率差異,也為了提高處理器性能,相繼出現(xiàn)了一級緩存(level?1?cache,l1?cache)、二級緩存(level?2?cache,l2?cache)和三級緩存(level?3?cache,l3?cache),作為處理器與片外存儲之間的臨時緩存。相對來說,它們的速度越來越慢,內(nèi)存容量越來越大。在數(shù)字集成電路(integrated?circuit,ic)驗(yàn)證中,需要這些緩存模塊進(jìn)行模塊級驗(yàn)證。
2、相關(guān)的二級緩存模塊的驗(yàn)證方法為針對二級緩存模塊內(nèi)部的存儲邏輯,采用systemverilog或者systemc編寫參考模型,并基于存儲邏輯的參考模型對二級緩存模塊進(jìn)行白盒驗(yàn)證。
3、然而,二級緩存模塊內(nèi)部的存儲邏輯可以存在兩套不同的存儲邏輯。例如,不僅可以將l2?cache模塊供處理器使用,還可以在芯片作為專用集成電路(application-specific?integrated?circuit,asic)芯片使用時,將l2?cache模塊的存儲部分重用,使用不同的存儲邏輯,轉(zhuǎn)換為靜態(tài)隨機(jī)存取存儲器(static?random-access?memory,sram)使用。因此,相關(guān)的二級緩存模塊的驗(yàn)證方法需要按照兩套不同的存儲邏輯來編寫包含兩套存儲邏輯的參考模型,費(fèi)時費(fèi)力,且調(diào)試麻煩。因此,相關(guān)的二級緩存模塊的驗(yàn)證方法效率低下。
技術(shù)實(shí)現(xiàn)思路
1、基于此,有必要針對上述技術(shù)問題,提供一種能夠提高效率的二級緩存模塊的驗(yàn)證方法、裝置、計算機(jī)設(shè)備、計算機(jī)可讀存儲介質(zhì)和計算機(jī)程序產(chǎn)品。
2、第一方面,本技術(shù)提供了一種二級緩存模塊的驗(yàn)證方法,包括:
3、采用通用驗(yàn)證方法學(xué)中的內(nèi)存模型uvm_mem方法,構(gòu)建目標(biāo)二級緩存模塊的存儲區(qū)域?qū)?yīng)的存儲模型;
4、對所述目標(biāo)二級緩存模塊進(jìn)行讀寫操作,得到目標(biāo)讀寫數(shù)據(jù)和目標(biāo)讀寫地址;
5、對所述存儲模型進(jìn)行后門讀取操作,得到所述目標(biāo)二級緩存模塊內(nèi)部所有存儲類模型中的各類存儲數(shù)據(jù);其中,所述讀寫操作對應(yīng)的讀寫地址與所述后門讀取操作對應(yīng)的讀寫地址一致;
6、基于所述目標(biāo)讀寫數(shù)據(jù)、所述目標(biāo)讀寫地址和所述各類存儲數(shù)據(jù),對所述目標(biāo)二級緩存模塊進(jìn)行驗(yàn)證,得到所述目標(biāo)二級緩存模塊的驗(yàn)證結(jié)果。
7、在其中一個實(shí)施例中,所述驗(yàn)證結(jié)果包括讀失效驗(yàn)證子結(jié)果,所述目標(biāo)讀寫數(shù)據(jù)包括與數(shù)字信號處理器連接的總線主的代理提供的第一讀取地址和第一讀取數(shù)據(jù)、以及與雙倍數(shù)據(jù)率同步動態(tài)隨機(jī)存取存儲器連接的總線從的代理提供的第二讀取地址和第二讀取數(shù)據(jù),所述各類存儲數(shù)據(jù)包括原始數(shù)據(jù)和關(guān)聯(lián)數(shù)據(jù),所述基于所述目標(biāo)讀寫數(shù)據(jù)、所述目標(biāo)讀寫地址和所述各類存儲數(shù)據(jù),對所述目標(biāo)二級緩存模塊進(jìn)行驗(yàn)證,得到所述目標(biāo)二級緩存模塊的驗(yàn)證結(jié)果,包括:
8、將所述第一讀取地址與所述第二讀取地址的部分或全部進(jìn)行比對,得到第一讀失效地址比對子結(jié)果,并將所述第一讀取數(shù)據(jù)與所述第二讀取數(shù)據(jù)的部分或全部進(jìn)行比對,得到第一讀失效數(shù)據(jù)比對子結(jié)果;
9、根據(jù)所述第一讀失效地址比對子結(jié)果和所述第一讀失效數(shù)據(jù)比對子結(jié)果,確定第一讀失效比對結(jié)果;
10、將所述原始數(shù)據(jù)與所述第二讀取數(shù)據(jù)進(jìn)行比對,得到第二讀失效比對結(jié)果;
11、基于預(yù)設(shè)的關(guān)聯(lián)數(shù)據(jù)讀失效驗(yàn)證規(guī)則和所述目標(biāo)讀寫地址,對所述關(guān)聯(lián)數(shù)據(jù)進(jìn)行驗(yàn)證,得到關(guān)聯(lián)數(shù)據(jù)讀失效驗(yàn)證結(jié)果;
12、基于所述第一讀失效比對結(jié)果、所述第二讀失效比對結(jié)果和所述關(guān)聯(lián)數(shù)據(jù)讀失效驗(yàn)證結(jié)果,確定所述目標(biāo)二級緩存模塊的讀失效驗(yàn)證子結(jié)果。
13、在其中一個實(shí)施例中,所述驗(yàn)證結(jié)果包括寫失效驗(yàn)證子結(jié)果,所述目標(biāo)讀寫數(shù)據(jù)包括與數(shù)字信號處理器連接的總線主的代理提供的第一寫入地址和第一寫入數(shù)據(jù)、以及與雙倍數(shù)據(jù)率同步動態(tài)隨機(jī)存取存儲器連接的總線從的代理提供的第二寫入地址和第二寫入數(shù)據(jù),所述各類存儲數(shù)據(jù)包括原始數(shù)據(jù)和關(guān)聯(lián)數(shù)據(jù),所述基于所述目標(biāo)讀寫數(shù)據(jù)、所述目標(biāo)讀寫地址和所述各類存儲數(shù)據(jù),對所述目標(biāo)二級緩存模塊進(jìn)行驗(yàn)證,得到所述目標(biāo)二級緩存模塊的驗(yàn)證結(jié)果,包括:
14、根據(jù)所述第一寫入地址、所述第二寫入地址、所述第一寫入數(shù)據(jù)和所述第二寫入數(shù)據(jù),確定寫入所述存儲模型的數(shù)據(jù)存儲中的第一預(yù)期數(shù)據(jù);
15、將所述原始數(shù)據(jù)與所述第一預(yù)期數(shù)據(jù)進(jìn)行比對,得到寫失效比對結(jié)果;
16、基于預(yù)設(shè)的關(guān)聯(lián)數(shù)據(jù)寫失效驗(yàn)證規(guī)則和所述目標(biāo)讀寫地址,對所述關(guān)聯(lián)數(shù)據(jù)進(jìn)行驗(yàn)證,得到關(guān)聯(lián)數(shù)據(jù)寫失效驗(yàn)證結(jié)果;
17、基于所述寫失效比對結(jié)果和所述關(guān)聯(lián)數(shù)據(jù)寫失效驗(yàn)證結(jié)果,確定所述目標(biāo)二級緩存模塊的寫失效驗(yàn)證子結(jié)果。
18、在其中一個實(shí)施例中,所述驗(yàn)證結(jié)果包括讀命中驗(yàn)證子結(jié)果,所述目標(biāo)讀寫數(shù)據(jù)包括與數(shù)字信號處理器連接的總線主的代理提供的本次讀命中對應(yīng)的第三讀取地址和第三讀取數(shù)據(jù),所述各類存儲數(shù)據(jù)包括和關(guān)聯(lián)數(shù)據(jù),所述基于所述目標(biāo)讀寫數(shù)據(jù)、所述目標(biāo)讀寫地址和所述各類存儲數(shù)據(jù),對所述目標(biāo)二級緩存模塊進(jìn)行驗(yàn)證,得到所述目標(biāo)二級緩存模塊的驗(yàn)證結(jié)果,包括:
19、根據(jù)所述第三讀取地址和所述第三讀取數(shù)據(jù),確定讀命中比對結(jié)果;在所述目標(biāo)讀寫數(shù)據(jù)還包括與數(shù)字信號處理器連接的總線主的代理提供的上一次讀失效對應(yīng)的第四讀取地址和第四讀取數(shù)據(jù)的情況下,所述讀命中比對結(jié)果基于讀命中地址比對子結(jié)果和讀命中數(shù)據(jù)比對子結(jié)果確定,所述讀命中地址比對子結(jié)果基于所述第四讀取地址與所述第三讀取地址進(jìn)行比對得到,所述讀命中數(shù)據(jù)比對子結(jié)果基于所述第四讀取數(shù)據(jù)與所述第三讀取數(shù)據(jù)進(jìn)行比對得到;在所述目標(biāo)讀寫數(shù)據(jù)還包括與數(shù)字信號處理器連接的總線主的代理提供的上一次寫失效對應(yīng)的第三寫入地址的情況下,所述讀命中比對結(jié)果基于第二預(yù)期數(shù)據(jù)與所述第三讀取數(shù)據(jù)進(jìn)行比對得到,所述第二預(yù)期數(shù)據(jù)基于所述第三寫入地址確定;
20、基于預(yù)設(shè)的關(guān)聯(lián)數(shù)據(jù)讀命中驗(yàn)證規(guī)則和所述目標(biāo)讀寫地址,對所述關(guān)聯(lián)數(shù)據(jù)進(jìn)行驗(yàn)證,得到關(guān)聯(lián)數(shù)據(jù)讀命中驗(yàn)證結(jié)果;
21、基于所述讀命中比對結(jié)果和所述關(guān)聯(lián)數(shù)據(jù)讀命中驗(yàn)證結(jié)果,確定所述目標(biāo)二級緩存模塊的讀命中驗(yàn)證子結(jié)果。
22、在其中一個實(shí)施例中,所述驗(yàn)證結(jié)果包括寫命中驗(yàn)證子結(jié)果,所述目標(biāo)讀寫數(shù)據(jù)包括與數(shù)字信號處理器連接的總線主的代理提供的本次寫命中對應(yīng)的第四寫入地址和第四寫入數(shù)據(jù),所述各類存儲數(shù)據(jù)包括原始數(shù)據(jù)和關(guān)聯(lián)數(shù)據(jù),所述基于所述目標(biāo)讀寫數(shù)據(jù)、所述目標(biāo)讀寫地址和所述各類存儲數(shù)據(jù),對所述目標(biāo)二級緩存模塊進(jìn)行驗(yàn)證,得到所述目標(biāo)二級緩存模塊的驗(yàn)證結(jié)果,包括:
23、根據(jù)所述第四寫入地址和所述第四寫入數(shù)據(jù),確定本次寫命中對應(yīng)的第三預(yù)期數(shù)據(jù);在所述目標(biāo)讀寫數(shù)據(jù)還包括與數(shù)字信號處理器連接的總線主的代理提供的上一次讀失效對應(yīng)的第四讀取地址和第四讀取數(shù)據(jù)的情況下,所述第三預(yù)期數(shù)據(jù)基于所述第四讀取地址、所述第四讀取數(shù)據(jù)、所述第四寫入地址和所述第四寫入數(shù)據(jù)確定;在所述目標(biāo)讀寫數(shù)據(jù)還包括與數(shù)字信號處理器連接的總線主的代理提供的上一次寫失效對應(yīng)的第三寫入地址和第三寫入數(shù)據(jù)的情況下,所述第三預(yù)期數(shù)據(jù)基于第二預(yù)期數(shù)據(jù)、所述第四寫入地址和所述第四寫入數(shù)據(jù)確定,所述第二預(yù)期數(shù)據(jù)基于所述第三寫入地址和所述第三寫入數(shù)據(jù)確定;
24、將所述原始數(shù)據(jù)與所述第三預(yù)期數(shù)據(jù)進(jìn)行比對,得到寫命中比對結(jié)果;
25、基于預(yù)設(shè)的關(guān)聯(lián)數(shù)據(jù)寫命中驗(yàn)證規(guī)則和所述目標(biāo)讀寫地址,對所述關(guān)聯(lián)數(shù)據(jù)進(jìn)行驗(yàn)證,得到關(guān)聯(lián)數(shù)據(jù)寫命中驗(yàn)證結(jié)果;
26、基于所述寫命中比對結(jié)果和所述關(guān)聯(lián)數(shù)據(jù)寫命中驗(yàn)證結(jié)果,確定所述目標(biāo)二級緩存模塊的寫命中驗(yàn)證子結(jié)果。
27、在其中一個實(shí)施例中,所述驗(yàn)證結(jié)果包括寫回數(shù)據(jù)驗(yàn)證子結(jié)果,所述目標(biāo)讀寫數(shù)據(jù)包括與數(shù)字信號處理器連接的總線主的代理提供的第一次寫失效對應(yīng)的第五寫入地址和第五寫入數(shù)據(jù)、以及與雙倍數(shù)據(jù)率同步動態(tài)隨機(jī)存取存儲器連接的總線從的代理提供的第一次寫失效對應(yīng)的第六寫入地址、第六寫入數(shù)據(jù)、寫回地址和寫回數(shù)據(jù),所述基于所述目標(biāo)讀寫數(shù)據(jù)、所述目標(biāo)讀寫地址和所述各類存儲數(shù)據(jù),對所述目標(biāo)二級緩存模塊進(jìn)行驗(yàn)證,得到所述目標(biāo)二級緩存模塊的驗(yàn)證結(jié)果,包括:
28、根據(jù)所述第五寫入地址、所述第六寫入地址、所述第五寫入數(shù)據(jù)和所述第六寫入數(shù)據(jù),確定寫入所述存儲模型的數(shù)據(jù)存儲中的第四預(yù)期數(shù)據(jù);
29、將所述寫回數(shù)據(jù)與所述第四預(yù)期數(shù)據(jù)進(jìn)行比對,得到第一寫回數(shù)據(jù)比對結(jié)果;
30、將所述寫回地址與所述第五寫入地址和所述第六寫入地址進(jìn)行比對,得到第二寫回數(shù)據(jù)比對結(jié)果;
31、基于所述第一寫回數(shù)據(jù)比對結(jié)果和所述第二寫回數(shù)據(jù)比對結(jié)果,確定寫回數(shù)據(jù)驗(yàn)證子結(jié)果。
32、第二方面,本技術(shù)還提供了一種二級緩存模塊的驗(yàn)證裝置,包括:
33、構(gòu)建模塊,用于采用通用驗(yàn)證裝置學(xué)中的內(nèi)存模型uvm_mem裝置,構(gòu)建目標(biāo)二級緩存模塊的存儲區(qū)域?qū)?yīng)的存儲模型;
34、讀寫模塊,用于對所述目標(biāo)二級緩存模塊進(jìn)行讀寫操作,得到目標(biāo)讀寫數(shù)據(jù)和目標(biāo)讀寫地址;
35、后門讀取模塊,用于對所述存儲模型進(jìn)行后門讀取操作,得到所述目標(biāo)二級緩存模塊內(nèi)部所有存儲類模型中的各類存儲數(shù)據(jù);其中,所述讀寫操作對應(yīng)的讀寫地址與所述后門讀取操作對應(yīng)的讀寫地址一致;
36、驗(yàn)證模塊,用于基于所述目標(biāo)讀寫數(shù)據(jù)、所述目標(biāo)讀寫地址和所述各類存儲數(shù)據(jù),對所述目標(biāo)二級緩存模塊進(jìn)行驗(yàn)證,得到所述目標(biāo)二級緩存模塊的驗(yàn)證結(jié)果。
37、第三方面,本技術(shù)還提供了一種計算機(jī)設(shè)備,包括存儲器和處理器,所述存儲器存儲有計算機(jī)程序,所述處理器執(zhí)行所述計算機(jī)程序時實(shí)現(xiàn)上述第一方面所述的步驟。
38、第四方面,本技術(shù)還提供了一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)上述第一方面所述的步驟。
39、第五方面,本技術(shù)還提供了一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,該計算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)上述第一方面所述的步驟。
40、上述二級緩存模塊的驗(yàn)證方法、裝置、計算機(jī)設(shè)備、計算機(jī)可讀存儲介質(zhì)和計算機(jī)程序產(chǎn)品,采用通用驗(yàn)證方法學(xué)中的內(nèi)存模型uvm_mem方法,構(gòu)建目標(biāo)二級緩存模塊的存儲區(qū)域?qū)?yīng)的存儲模型;對所述目標(biāo)二級緩存模塊進(jìn)行讀寫操作,得到目標(biāo)讀寫數(shù)據(jù)和目標(biāo)讀寫地址;對所述存儲模型進(jìn)行后門讀取操作,得到所述目標(biāo)二級緩存模塊內(nèi)部所有存儲類模型中的各類存儲數(shù)據(jù);其中,所述讀寫操作對應(yīng)的讀寫地址與所述后門讀取操作對應(yīng)的讀寫地址一致;基于所述目標(biāo)讀寫數(shù)據(jù)、所述目標(biāo)讀寫地址和所述各類存儲數(shù)據(jù),對所述目標(biāo)二級緩存模塊進(jìn)行驗(yàn)證,得到所述目標(biāo)二級緩存模塊的驗(yàn)證結(jié)果。這樣,針對二級緩存模塊的存儲區(qū)域,采用uvm_mem方法搭建二級緩存模塊的存儲類參考模型,利用對二級緩存模塊的讀寫,搭配uvm_mem方法對存儲模型的后門讀取操作,進(jìn)行二級緩存模塊的模塊級白盒驗(yàn)證,由于兩套不同的存儲邏輯對應(yīng)的存儲區(qū)域是不變的,因此,即使二級緩存模塊內(nèi)部的存儲邏輯可以存在兩套不同的存儲邏輯,也只需要編寫和調(diào)試一套存儲模型,能夠縮短二級緩存模塊的驗(yàn)證時間,提高二級緩存模塊的驗(yàn)證效率。