本發(fā)明涉及芯片驗(yàn)證,尤其涉及一種測(cè)試激勵(lì)代碼的優(yōu)化方法、裝置、設(shè)備及介質(zhì)。
背景技術(shù):
1、軟件仿真工具可以用來模擬電子系統(tǒng)和電路行為,對(duì)電路邏輯行為進(jìn)行仿真,包括信號(hào)傳輸、邏輯運(yùn)算和時(shí)序控制等,以驗(yàn)證芯片電路的功能和時(shí)序約束是否正確。
2、隨著問題規(guī)模的擴(kuò)大和復(fù)雜度的增加,基于sat(boolean?satisfiability,布爾可滿足性)求解引擎的約束求解器性能因搜索空間的膨脹而下降?,F(xiàn)有技術(shù)中,通過改進(jìn)sat算法可以提升基于sat求解引擎的約束求解器的性能,雖然可以直接提升求解器的運(yùn)算效率和處理復(fù)雜問題的能力,但是會(huì)增加算法實(shí)現(xiàn)的復(fù)雜性、對(duì)特定類型問題過于優(yōu)化以及求解器在處理新的或未預(yù)見的問題時(shí)泛化能力下降的風(fēng)險(xiǎn)。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明提供了一種測(cè)試激勵(lì)代碼的優(yōu)化方法、裝置、設(shè)備及介質(zhì),以解決在大規(guī)模約束的場(chǎng)景下因約束問題規(guī)模過大導(dǎo)致基于sat求解引擎的約束求解器性能下降的問題。
2、根據(jù)本發(fā)明實(shí)施例的一方面,提供了一種測(cè)試激勵(lì)代碼的優(yōu)化方法,包括:
3、在待輸入至芯片驗(yàn)證環(huán)境的測(cè)試激勵(lì)代碼中獲取屬于同一作用域的各約束表達(dá)式;其中,每個(gè)約束表達(dá)式中包含被約束隨機(jī)變量和用于約束被約束隨機(jī)變量的取值范圍的約束量,約束量為常量或其他隨機(jī)變量;根據(jù)約束表達(dá)式中包含的約束量,對(duì)在各約束表達(dá)式中識(shí)別出待優(yōu)化的目標(biāo)約束表達(dá)式,并對(duì)各目標(biāo)約束表達(dá)式進(jìn)行排序;按照排序結(jié)果分別遍歷每個(gè)目標(biāo)約束表達(dá)式,并在遍歷過程中逐步確定出每個(gè)目標(biāo)約束表達(dá)式中目標(biāo)被約束隨機(jī)變量的目標(biāo)取值范圍,其中,目標(biāo)取值范圍中僅包含有常量;根據(jù)每個(gè)目標(biāo)被約束隨機(jī)變量的數(shù)據(jù)寬度,按照設(shè)定的數(shù)據(jù)寬度單位對(duì)每個(gè)目標(biāo)被約束隨機(jī)變量的目標(biāo)取值范圍進(jìn)行重編碼,并將重編碼結(jié)果加入至測(cè)試激勵(lì)代碼中。
4、根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種測(cè)試激勵(lì)代碼的優(yōu)化裝置,包括:
5、約束表達(dá)式獲取模塊,用于在待輸入至芯片驗(yàn)證環(huán)境的測(cè)試激勵(lì)代碼中獲取屬于同一作用域的各約束表達(dá)式;目標(biāo)約束表達(dá)式排序模塊,用于根據(jù)約束表達(dá)式中包含的約束量,對(duì)在各約束表達(dá)式中識(shí)別出待優(yōu)化的目標(biāo)約束表達(dá)式,并對(duì)各目標(biāo)約束表達(dá)式進(jìn)行排序;目標(biāo)取值范圍確定模塊,用于按照排序結(jié)果分別遍歷每個(gè)目標(biāo)約束表達(dá)式,并在遍歷過程中逐步確定出每個(gè)目標(biāo)約束表達(dá)式中目標(biāo)被約束隨機(jī)變量的目標(biāo)取值范圍;目標(biāo)取值范圍重編碼模塊,用于根據(jù)每個(gè)目標(biāo)被約束隨機(jī)變量的數(shù)據(jù)寬度,按照設(shè)定的數(shù)據(jù)寬度單位對(duì)每個(gè)目標(biāo)被約束隨機(jī)變量的目標(biāo)取值范圍進(jìn)行重編碼,并將重編碼結(jié)果加入至測(cè)試激勵(lì)代碼中。
6、根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種電子設(shè)備,所述電子設(shè)備包括:
7、至少一個(gè)處理器;以及與所述至少一個(gè)處理器通信連接的存儲(chǔ)器;其中,所述存儲(chǔ)器存儲(chǔ)有可被所述至少一個(gè)處理器執(zhí)行的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被所述至少一個(gè)處理器執(zhí)行,以使所述至少一個(gè)處理器能夠執(zhí)行本發(fā)明任一實(shí)施例所述的測(cè)試激勵(lì)代碼的優(yōu)化方法。
8、根據(jù)本發(fā)明實(shí)施例的另一方面,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)指令,所述計(jì)算機(jī)指令用于使處理器執(zhí)行時(shí)實(shí)現(xiàn)本發(fā)明任一實(shí)施例所述的測(cè)試激勵(lì)代碼的優(yōu)化方法。
9、根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)指令,所述計(jì)算機(jī)指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如本發(fā)明任一實(shí)施例所述方法的步驟。
10、本發(fā)明實(shí)施例的技術(shù)方案,通過在待輸入至芯片驗(yàn)證環(huán)境的測(cè)試激勵(lì)代碼中獲取屬于同一作用域的各約束表達(dá)式,根據(jù)包含的約束量識(shí)別待優(yōu)化的目標(biāo)約束表達(dá)式并進(jìn)行排序,按照排序結(jié)果分別遍歷每個(gè)目標(biāo)約束表達(dá)式,并逐步確定每個(gè)目標(biāo)約束表達(dá)式中目標(biāo)被約束隨機(jī)變量的目標(biāo)取值范圍,根據(jù)每個(gè)目標(biāo)被約束隨機(jī)變量的數(shù)據(jù)寬度,按照設(shè)定的數(shù)據(jù)寬度單位對(duì)每個(gè)目標(biāo)被約束隨機(jī)變量的目標(biāo)取值范圍進(jìn)行重編碼,并將重編碼結(jié)果加入至測(cè)試激勵(lì)代碼中。通過依序逐步縮小目標(biāo)被約束隨機(jī)變量的目標(biāo)取值范圍并進(jìn)行重編碼,優(yōu)化了測(cè)試激勵(lì)代碼,減小了約束求解問題輸入求解引擎的規(guī)模,提升了約束求解器的性能。
11、應(yīng)當(dāng)理解,本部分所描述的內(nèi)容并非旨在標(biāo)識(shí)本發(fā)明的實(shí)施例的關(guān)鍵或重要特征,也不用于限制本發(fā)明的范圍。本發(fā)明的其它特征將通過以下的說明書而變得容易理解。
1.一種測(cè)試激勵(lì)代碼的優(yōu)化方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)約束表達(dá)式中包含的約束量,對(duì)在各約束表達(dá)式中識(shí)別出待優(yōu)化的目標(biāo)約束表達(dá)式,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,對(duì)各目標(biāo)約束表達(dá)式進(jìn)行排序,包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,將各第二類目標(biāo)約束表達(dá)式按照約束量中隨機(jī)變量之間的依賴關(guān)系進(jìn)行排序,得到第二排序結(jié)果,包括:
5.根據(jù)權(quán)利要求1所述方法,其特征在于,按照排序結(jié)果分別遍歷每個(gè)目標(biāo)約束表達(dá)式,并在遍歷過程中逐步確定出每個(gè)目標(biāo)約束表達(dá)式中目標(biāo)被約束隨機(jī)變量的目標(biāo)取值范圍,包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,按照排序結(jié)果依次遍歷每個(gè)目標(biāo)約束表達(dá)式,并根據(jù)每個(gè)目標(biāo)約束表達(dá)式中的約束內(nèi)容分別更新各目標(biāo)被約束隨機(jī)變量的取值范圍,包括:
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)寬度單位為1比特;
8.一種測(cè)試激勵(lì)代碼的優(yōu)化裝置,其特征在于,包括:
9.一種電子設(shè)備,其特征在于,所述電子設(shè)備包括:
10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)指令,所述計(jì)算機(jī)指令用于使處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1-7中任一項(xiàng)所述的測(cè)試激勵(lì)代碼的優(yōu)化方法。