本技術(shù)涉及芯片,特別是涉及一種芯片驗證方法、裝置、電子設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、當(dāng)前,芯片的設(shè)計復(fù)雜度和規(guī)模越來越大,為了保證芯片設(shè)計的正確性和可靠性,需要對芯片進(jìn)行驗證。而為了保證驗證的完備性,需要從系統(tǒng)級芯片驗證平臺(system?onchip?testbench,st)層面進(jìn)行驗證。在st層面,一般使用的待驗證設(shè)計(design?undertest,dut)為完整的系統(tǒng)級芯片(system?on?chip,soc)。由于soc規(guī)模比較大,使得dut規(guī)模比較大,傳統(tǒng)的驗證方法面臨著驗證速度慢等固有的問題,導(dǎo)致芯片驗證周期長,在st層面無法快速發(fā)現(xiàn)和收斂問題。
技術(shù)實現(xiàn)思路
1、本技術(shù)實施例的目的在于提供一種芯片驗證方法、裝置、電子設(shè)備及存儲介質(zhì),以提高st層面的芯片驗證速度,減小芯片驗證周期,在st層面快速發(fā)現(xiàn)和收斂問題。具體技術(shù)方案如下:
2、第一方面,本技術(shù)實施例提供了一種芯片驗證方法,所述方法包括:
3、獲取配置文件,所述配置文件包括待虛設(shè)模塊的模塊名稱、復(fù)位信號信息和待虛設(shè)實例的層次結(jié)構(gòu),所述待虛設(shè)實例為實例化后的待虛設(shè)模塊;
4、利用所述模塊名稱,從待驗證芯片的原始代碼中,抽取所述待虛設(shè)模塊的接口代碼;
5、利用所述接口代碼、所述復(fù)位信號信息和所述層次結(jié)構(gòu),基于所述待虛設(shè)實例的輸出波形,獲取所述待虛設(shè)實例對應(yīng)的輸出接口信號的輸出值;
6、在所述接口代碼中添加所述輸出值,得到所述待虛設(shè)實例的虛設(shè)代碼;
7、利用所述虛設(shè)代碼,對所述待驗證芯片進(jìn)行驗證。
8、在一些實施例中,所述利用所述接口代碼、所述復(fù)位信號信息和所述層次結(jié)構(gòu),基于所述待虛設(shè)實例的輸出波形,獲取所述待虛設(shè)實例對應(yīng)的輸出接口信號的輸出值的步驟,包括:
9、從所述接口代碼中,獲取所述待虛設(shè)模塊的輸出接口信號的名稱;
10、根據(jù)所述層次結(jié)構(gòu),獲取所述待虛設(shè)實例的輸出波形,所述輸出波形包括所述輸出接口信號的第一波形;
11、確定所述復(fù)位信號信息對應(yīng)的復(fù)位信號釋放復(fù)位的時間戳;
12、確定所述時間戳處所述第一波形的值,作為所述待虛設(shè)實例對應(yīng)的輸出接口信號的輸出值。
13、在一些實施例中,所述根據(jù)所述層次結(jié)構(gòu),獲取所述待虛設(shè)實例的輸出波形的步驟,包括:
14、根據(jù)所述層次結(jié)構(gòu),獲取所述待虛設(shè)實例的初始化波形;
15、當(dāng)所述初始化波形為非文本描述波形時,將所述初始化波形轉(zhuǎn)換為文本描述型波形,得到輸出波形;
16、當(dāng)所述初始化波形為文本描述波形時,將所述初始化波形作為輸出波形。
17、在一些實施例中,所述復(fù)位信號信息包括所述復(fù)位信號的名稱、復(fù)位電平和解復(fù)位電平;所述輸出波形還包括所述復(fù)位信號的第二波形;
18、所述確定所述復(fù)位信號信息對應(yīng)的復(fù)位信號釋放復(fù)位的時間戳的步驟,包括:
19、確定所述第二波形從所述復(fù)位電平轉(zhuǎn)換為所述解復(fù)位電平的時刻,作為所述復(fù)位信號釋放復(fù)位的時間戳。
20、在一些實施例中,所述利用所述虛設(shè)代碼,對所述待驗證芯片進(jìn)行驗證的步驟,包括:
21、將所述待驗證芯片的原始代碼中所述待虛設(shè)實例的原始代碼替換為所述虛設(shè)代碼;
22、利用替換后的代碼,對所述待驗證芯片進(jìn)行驗證。
23、在一些實施例中,所述將所述待驗證芯片的原始代碼中所述待虛設(shè)實例的原始代碼替換為所述虛設(shè)代碼的步驟,包括:
24、將所述虛設(shè)代碼存儲到預(yù)設(shè)庫中;
25、將所述待虛設(shè)實例指向所述預(yù)設(shè)庫。
26、第二方面,本技術(shù)實施例提供了一種芯片驗證裝置,所述裝置包括:
27、第一獲取模塊,用于獲取配置文件,所述配置文件包括待虛設(shè)模塊的模塊名稱、復(fù)位信號信息和待虛設(shè)實例的層次結(jié)構(gòu)和復(fù)位信號信息,所述待虛設(shè)實例為實例化后的待虛設(shè)模塊;
28、抽取模塊,用于利用所述模塊名稱,從待驗證芯片的原始代碼中,抽取所述待虛設(shè)模塊的接口代碼;
29、第二獲取模塊,用于利用所述接口代碼、所述復(fù)位信號信息和所述層次結(jié)構(gòu),基于所述待虛設(shè)實例的輸出波形,獲取所述待虛設(shè)實例對應(yīng)的輸出接口信號的輸出值;
30、確定模塊,用于在所述接口代碼中添加所述輸出值,得到所述待虛設(shè)實例的虛設(shè)代碼;
31、驗證模塊,用于利用所述虛設(shè)代碼,對所述待驗證芯片進(jìn)行驗證。
32、在一些實施例中,所述第二獲取模塊,具體用于:
33、從所述接口代碼中,獲取所述待虛設(shè)模塊的輸出接口信號的名稱;
34、根據(jù)所述層次結(jié)構(gòu),獲取所述待虛設(shè)實例的輸出波形,所述輸出波形包括所述輸出接口信號的第一波形;
35、確定所述復(fù)位信號信息對應(yīng)的復(fù)位信號釋放復(fù)位的時間戳;
36、確定所述時間戳處所述第一波形的值,作為所述待虛設(shè)實例對應(yīng)的輸出接口信號的輸出值。
37、在一些實施例中,所述第二獲取模塊,具體用于:
38、根據(jù)所述層次結(jié)構(gòu),獲取所述待虛設(shè)實例的初始化波形;
39、當(dāng)所述初始化波形為非文本描述波形時,將所述初始化波形轉(zhuǎn)換為文本描述型波形,得到輸出波形;
40、當(dāng)所述初始化波形為文本描述波形時,將所述初始化波形作為輸出波形。
41、在一些實施例中,所述復(fù)位信號信息包括所述復(fù)位信號的名稱、復(fù)位電平和解復(fù)位電平;所述輸出波形還包括所述復(fù)位信號的第二波形;所述第二獲取模塊,具體用于:
42、確定所述第二波形從所述復(fù)位電平轉(zhuǎn)換為所述解復(fù)位電平的時刻,作為所述復(fù)位信號釋放復(fù)位的時間戳。
43、在一些實施例中,所述驗證模塊,具體用于:
44、將所述待驗證芯片的原始代碼中所述待虛設(shè)實例的原始代碼替換為所述虛設(shè)代碼;
45、利用替換后的代碼,對所述待驗證芯片進(jìn)行驗證。
46、在一些實施例中,所述驗證模塊,具體用于:
47、將所述虛設(shè)代碼存儲到預(yù)設(shè)庫中;
48、將所述待虛設(shè)實例指向所述預(yù)設(shè)庫。
49、第三方面,本技術(shù)實施例提供了一種電子設(shè)備,包括處理器、通信接口、存儲器和通信總線,其中,處理器、通信接口以及存儲器通過通信總線完成相互間的通信;
50、存儲器,用于存放計算機程序;
51、處理器,用于執(zhí)行存儲器上所存放的程序時,實現(xiàn)上述第一方面任一所述的方法。
52、第四方面,本技術(shù)實施例提供了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)內(nèi)存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述第一方面任一所述的方法。
53、第五方面,本技術(shù)實施例提供了一種包含指令的計算機程序產(chǎn)品,當(dāng)其在計算機上運行時,使得計算機執(zhí)行上述實施例中第一方面任一所述的方法。
54、本技術(shù)實施例有益效果:
55、本技術(shù)實施例提供的技術(shù)方案中,通過配置文件中指定的待虛設(shè)模塊的模塊名稱和復(fù)位信號信息,以及待虛設(shè)實例的層次結(jié)構(gòu)和輸出波形,自動獲取待虛設(shè)模塊的接口代碼以及待虛設(shè)實例對應(yīng)的輸出接口信號的輸出值,從而自動生成待虛設(shè)實例的虛設(shè)代碼。在生成虛設(shè)代碼后,利用虛設(shè)代碼驗證待驗證芯片時,由于待虛設(shè)實例的輸出值不變,因此虛設(shè)后的待虛設(shè)實例不會影響待驗證芯片的驗證,且僅會對需要驗證的其他實例進(jìn)行驗證,而不會對不需要驗證的待虛設(shè)實例進(jìn)行驗證。這提高了st層面上的芯片驗證速度,減小了芯片驗證周期,可以在st層面快速發(fā)現(xiàn)和收斂問題。
56、當(dāng)然,實施本技術(shù)的任一產(chǎn)品或方法并不一定需要同時達(dá)到以上所述的所有優(yōu)點。