本申請(qǐng)涉及數(shù)字集成電路(integrated?circuit,ic)設(shè)計(jì),特別涉及一種仿真測(cè)試方法、裝置、設(shè)備、存儲(chǔ)介質(zhì)及程序產(chǎn)品。
背景技術(shù):
1、在硬件設(shè)計(jì)開發(fā)過程中,通常需要對(duì)硬件的各項(xiàng)功能進(jìn)行仿真測(cè)試,以驗(yàn)證硬件的功能是否正常。
2、在相關(guān)技術(shù)中,可以預(yù)先通過硬件描述語(yǔ)言編寫用于模擬硬件芯片的硬件模擬單元,然后通過運(yùn)行測(cè)試用例來觸發(fā)硬件模擬單元執(zhí)行預(yù)定的處理任務(wù),在此過程中,測(cè)試用例會(huì)觸發(fā)硬件模擬單元執(zhí)行要測(cè)試的硬件功能。
3、然而,上述通過測(cè)試用例觸發(fā)要測(cè)試的硬件功能的方案,存在測(cè)試的覆蓋率較低,測(cè)試的準(zhǔn)確性較差的問題。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)實(shí)施例提供了一種硬件仿真測(cè)試方法、裝置、設(shè)備、存儲(chǔ)介質(zhì)及程序產(chǎn)品,能夠提高硬件仿真測(cè)試的覆蓋率和準(zhǔn)確性。所述技術(shù)方案如下。
2、一方面,提供一種硬件仿真測(cè)試方法,所述方法包括:
3、觸發(fā)硬件模擬單元執(zhí)行測(cè)試用例對(duì)應(yīng)的處理任務(wù);所述硬件模擬單元是通過硬件描述語(yǔ)言編寫的,用于模擬所述硬件芯片;
4、獲取所述硬件模擬單元輸出的狀態(tài)信息,所述狀態(tài)信息用于指示所述硬件模擬單元執(zhí)行所述處理任務(wù)的實(shí)時(shí)狀態(tài);
5、響應(yīng)于所述狀態(tài)信息與參考狀態(tài)信息相匹配,觸發(fā)所述硬件模擬單元執(zhí)行所述硬件芯片的指定功能;所述參考狀態(tài)信息用于指示所述指定功能對(duì)應(yīng)的指定狀態(tài);
6、其中,所述硬件模擬單元執(zhí)行所述處理任務(wù)的輸出結(jié)果為正常的情況,表示所述硬件芯片的所述指定功能通過測(cè)試。
7、一方面,提供一種硬件仿真測(cè)試裝置,所述裝置包括:
8、激勵(lì)功能單元,用于觸發(fā)硬件模擬單元執(zhí)行測(cè)試用例對(duì)應(yīng)的處理任務(wù);所述硬件模擬單元是通過硬件描述語(yǔ)言編寫的,用于模擬所述硬件芯片;
9、觸發(fā)功能單元,用于獲取所述硬件模擬單元輸出的狀態(tài)信息,所述狀態(tài)信息用于指示所述硬件模擬單元執(zhí)行所述處理任務(wù)的實(shí)時(shí)狀態(tài);
10、所述觸發(fā)功能單元,還用于響應(yīng)于所述狀態(tài)信息與參考狀態(tài)信息相匹配,觸發(fā)所述硬件模擬單元執(zhí)行所述硬件芯片的指定功能;所述參考狀態(tài)信息用于指示所述指定功能對(duì)應(yīng)的指定狀態(tài);
11、其中,所述硬件模擬單元執(zhí)行所述處理任務(wù)的輸出結(jié)果為正常的情況,表示所述硬件芯片的所述指定功能通過測(cè)試。
12、又一方面,提供了一種計(jì)算機(jī)設(shè)備,所述計(jì)算機(jī)設(shè)備包含處理器和存儲(chǔ)器,所述存儲(chǔ)器中存儲(chǔ)有指令,所述指令集由所述處理器加載并執(zhí)行以實(shí)現(xiàn)如上所述的硬件仿真測(cè)試方法。
13、又一方面,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)中存儲(chǔ)有指令,所述指令由處理器加載并執(zhí)行以實(shí)現(xiàn)如上所述的硬件仿真測(cè)試方法。
14、還一方面,提供了一種計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)指令,該計(jì)算機(jī)指令存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中;該計(jì)算機(jī)指令由計(jì)算機(jī)設(shè)備的處理器讀取并執(zhí)行,以使得該計(jì)算機(jī)設(shè)備實(shí)現(xiàn)如上所述的硬件仿真測(cè)試方法。
15、本申請(qǐng)實(shí)施例提供的技術(shù)方案帶來的有益效果至少包括:
16、本申請(qǐng)?zhí)峁┮环N在仿真工具中模擬出以軟硬結(jié)合的方式對(duì)硬件芯片進(jìn)行仿真測(cè)試的方案,在軟件模擬的層面,通過測(cè)試用例運(yùn)行過程中產(chǎn)生的激勵(lì)信號(hào),觸發(fā)硬件模擬單元執(zhí)行處理任務(wù),在硬件模擬的層面,在硬件模擬單元執(zhí)行到指定的狀態(tài)(對(duì)應(yīng)參考狀態(tài)信息)時(shí),觸發(fā)硬件模擬單元執(zhí)行要測(cè)試的指定功能;在上述方案中,可以通過設(shè)置不同的參考狀態(tài)信息,使得硬件模擬單元執(zhí)行指定功能的時(shí)機(jī)與硬件模擬單元的各種運(yùn)行狀態(tài)相匹配;具體來說,一方面,可以通過設(shè)置較為全面的參考狀態(tài)信息,使得硬件模擬單元在盡可能多的運(yùn)行狀態(tài)下執(zhí)行指定功能,另一方面,也可以通過設(shè)置指定的參考狀態(tài)信息,使得硬件模擬單元能夠在開發(fā)人員關(guān)注的運(yùn)行狀態(tài)下執(zhí)行指定功能,通過上述兩個(gè)方面,本申請(qǐng)?zhí)峁┑姆抡鏈y(cè)試方案,可以保證對(duì)硬件芯片的仿真測(cè)試的覆蓋率和準(zhǔn)確性。
1.一種仿真測(cè)試方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述指定功能包括上下文切換功能,所述狀態(tài)信息包括電路狀態(tài)信息以及任務(wù)狀態(tài)信息中的至少一項(xiàng);所述電路狀態(tài)信息用于指示所述硬件模擬單元模擬的硬件芯片中的硬件電路的運(yùn)行狀態(tài);所述任務(wù)狀態(tài)信息用于指示所述處理任務(wù)在所述硬件模擬單元中的執(zhí)行狀態(tài);
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述電路狀態(tài)信息包括以下信息中的一項(xiàng)或者多項(xiàng):
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述任務(wù)狀態(tài)信息包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述任務(wù)狀態(tài)信息還包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述恢復(fù)需求標(biāo)識(shí)由所述硬件模擬單元在自行確定是否執(zhí)行所述保存操作時(shí)設(shè)置。
7.根據(jù)權(quán)利要求2至6任一所述的方法,其特征在于,所述響應(yīng)于所述電路狀態(tài)信息與第一參考狀態(tài)信息相匹配,觸發(fā)所述硬件模擬單元執(zhí)行上下文切換的保存操作,包括:
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述方法還包括:
9.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述測(cè)試用例對(duì)應(yīng)多個(gè)所述處理任務(wù);所述方法還包括:
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述獲取測(cè)試任務(wù)數(shù)n,包括:
11.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述方法還包括:
12.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述指定功能包括開啟或關(guān)閉部分計(jì)算核心的功能,所述狀態(tài)信息包括電路狀態(tài)信息;所述電路狀態(tài)信息用于指示所述硬件模擬單元模擬的硬件芯片中的硬件電路的運(yùn)行狀態(tài);
13.一種仿真測(cè)試裝置,其特征在于,所述裝置包括:
14.一種計(jì)算機(jī)設(shè)備,其特征在于,所述計(jì)算機(jī)設(shè)備包括處理器和存儲(chǔ)器,所述存儲(chǔ)器中存儲(chǔ)有指令,所述指令由所述處理器執(zhí)行,以實(shí)現(xiàn)如權(quán)利要求1至12任一所述的仿真測(cè)試方法。
15.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述存儲(chǔ)介質(zhì)中存儲(chǔ)有指令,所述指令由計(jì)算機(jī)設(shè)備的處理器執(zhí)行以實(shí)現(xiàn)如權(quán)利要求1至12任一所述的仿真測(cè)試方法。
16.一種計(jì)算機(jī)程序產(chǎn)品,其特征在于,所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)指令,所述計(jì)算機(jī)指令存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中;所述計(jì)算機(jī)指令由計(jì)算機(jī)設(shè)備的處理器讀取并執(zhí)行,以實(shí)現(xiàn)如權(quán)利要求1至12任一所述的仿真測(cè)試方法。