一種用于超大規(guī)模芯片仿真的自適應(yīng)隨機(jī)驗(yàn)證方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)芯片技術(shù)領(lǐng)域,具體地說是一種實(shí)用性強(qiáng)、用于超大規(guī)模芯片仿真的自適應(yīng)隨機(jī)驗(yàn)證方法。
【背景技術(shù)】
[0002]隨著服務(wù)器應(yīng)用領(lǐng)域的不斷發(fā)展,高端服務(wù)器的應(yīng)用需求已經(jīng)進(jìn)入了一個重要階段。復(fù)雜的體系結(jié)構(gòu)實(shí)現(xiàn)支持尚端服務(wù)器系統(tǒng)實(shí)現(xiàn)尚性能指標(biāo)、尚安全性、尚可用性、尚可靠性等特點(diǎn)。這就需要網(wǎng)絡(luò)控制類芯片控制多路處理器系統(tǒng),使系統(tǒng)內(nèi)部報文傳輸達(dá)到高效可靠、安全穩(wěn)定。而對于該類控制芯片構(gòu)建的多芯片系統(tǒng)的仿真驗(yàn)證來說,采用隨機(jī)驗(yàn)證的方式必不可少,而隨機(jī)的策略的選擇和隨著驗(yàn)證過程適當(dāng)調(diào)整決定了隨機(jī)驗(yàn)證的效率。
[0003]傳統(tǒng)上,對于隨機(jī)策略的選擇,都是通過驗(yàn)證人員對于每次仿真的結(jié)果進(jìn)行分析,人工地對隨機(jī)策略進(jìn)行取舍和調(diào)整,或者干脆直接盲目地選擇多種甚至全部的隨機(jī)策略進(jìn)行輪流嘗試。這兩種做法都存在平均效率低下的問題,特別是在隨著待驗(yàn)證系統(tǒng)變得龐大,待驗(yàn)證目標(biāo)變得復(fù)雜的同時,對仿真所需的人力和計(jì)算資源的要求都會呈幾何級數(shù)爆炸性增長。
[0004]基于此,現(xiàn)提供一種用于超大規(guī)模芯片仿真的自適應(yīng)隨機(jī)驗(yàn)證方法,將激勵按組進(jìn)行統(tǒng)一的參數(shù)化,參數(shù)的選擇實(shí)際上就代表了隨機(jī)策略的選擇和調(diào)整,以驗(yàn)證目標(biāo)規(guī)定的覆蓋率作為評判標(biāo)準(zhǔn),自動生成下一輪隨機(jī)驗(yàn)證的隨機(jī)策略,在提高了隨機(jī)驗(yàn)證總體的效率的同時,減少了驗(yàn)證人員需要進(jìn)行的工作,更有效地利用了資源。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的技術(shù)任務(wù)是針對以上不足之處,提供一種實(shí)用性強(qiáng)、用于超大規(guī)模芯片仿真的自適應(yīng)隨機(jī)驗(yàn)證方法。
[0006]一種用于超大規(guī)模芯片仿真的自適應(yīng)隨機(jī)驗(yàn)證方法,其具體實(shí)現(xiàn)過程為:
首先定義用于表示每組激勵的屬性向量,以及對應(yīng)每個值的取值范圍;
隨機(jī)生成若干屬性向量,并以這些屬性向量作為隨機(jī)激勵生成的參數(shù),生成多組具有對應(yīng)特征的隨機(jī)激勵序列;
將多組隨機(jī)激勵序列進(jìn)行仿真驗(yàn)證,分別統(tǒng)計(jì)仿真驗(yàn)證中對驗(yàn)證目標(biāo)的覆蓋率;
對每組隨機(jī)激勵序列的覆蓋率結(jié)果與之前總的覆蓋率結(jié)果進(jìn)行比對,以此作為評價這組隨機(jī)激勵的效率的標(biāo)準(zhǔn);
結(jié)合多組隨機(jī)激勵序列的效率結(jié)果,將各個屬性向量進(jìn)行排序,通過排序后的結(jié)果,對屬性向量的值進(jìn)行加權(quán)的隨機(jī),生成新的屬性向量;
反復(fù)迭代,直到驗(yàn)證目標(biāo)充分覆蓋或者覆蓋率增長出現(xiàn)停滯,結(jié)束驗(yàn)證過程。
[0007]所述用屬性向量來表示激勵是指對于激勵組的特征用量化的方式進(jìn)行描述,這里的激勵組特征包括激勵個數(shù)、激勵間隔時間、激勵類型。
[0008]所述生成多組隨機(jī)激勵序列的詳細(xì)過程為:屬性向量中的各個值根據(jù)可能的取值范圍進(jìn)行隨機(jī),生成多個新的屬性向量,并按照新的屬性向量生成相對應(yīng)的激勵組。
[0009]所述覆蓋率包括代碼覆蓋率、功能覆蓋率和/或關(guān)鍵路徑覆蓋率。
[0010]所述覆蓋率比對是指將多組隨機(jī)激勵序列的覆蓋率結(jié)果分別與該多組隨機(jī)激勵序列仿真前的總的覆蓋率進(jìn)行比對,得出不同組激勵對于當(dāng)前覆蓋率增長的貢獻(xiàn),從而作為評價該組激勵的效率的標(biāo)準(zhǔn)。
[0011]對屬性向量的值進(jìn)行加權(quán)的隨機(jī)是指加大高效率的激勵組的屬性向量值出現(xiàn)的概率,減小低效率的屬性向量值的概率,隨機(jī)生成多組新的屬性向量,并按照新的屬性向量生成想對應(yīng)的激勵組,進(jìn)行下一輪的仿真驗(yàn)證。
[0012]本發(fā)明的一種用于超大規(guī)模芯片仿真的自適應(yīng)隨機(jī)驗(yàn)證方法,具有以下優(yōu)點(diǎn):
本發(fā)明提出的一種用于超大規(guī)模芯片仿真的自適應(yīng)隨機(jī)驗(yàn)證方法,用統(tǒng)一化的參數(shù)表示激勵,參數(shù)的選擇實(shí)際上就代表了隨機(jī)策略的選擇和調(diào)整,以驗(yàn)證目標(biāo)規(guī)定的覆蓋率作為評判標(biāo)準(zhǔn),自動生成下一輪隨機(jī)驗(yàn)證的隨機(jī)策略;以上過程,包括對覆蓋率的統(tǒng)計(jì)和記錄比對,都可以盡可能地實(shí)現(xiàn)自動化,這樣,在提高了隨機(jī)驗(yàn)證總體的效率,減少了對計(jì)算資源的浪費(fèi)的同時,減少了驗(yàn)證人員需要進(jìn)行的工作,更有效地利用了人力資源,實(shí)用性強(qiáng),易于推廣。
【附圖說明】
[0013]附圖1為本發(fā)明的實(shí)現(xiàn)流程圖。
【具體實(shí)施方式】
[0014]下面結(jié)合附圖和具體實(shí)施例對本發(fā)明作進(jìn)一步說明。
[0015]本發(fā)明考慮到對于超大規(guī)模芯片仿真驗(yàn)證的需求,采用自適應(yīng)選擇隨機(jī)策略的方式進(jìn)行隨機(jī)驗(yàn)證。具體做法為在隨機(jī)驗(yàn)證過程中,以不同的屬性向量作為隨機(jī)激勵生成的參數(shù),生成多組具有對應(yīng)特征的隨機(jī)激勵序列。通過對每組隨機(jī)激勵序列的覆蓋率結(jié)果與之前總的覆蓋率結(jié)果進(jìn)行比對,將各個屬性向量進(jìn)行排序,通過排序后的結(jié)果,對屬性的值進(jìn)行加權(quán)的隨機(jī),生成新的屬性向量作為隨機(jī)激勵的參數(shù)。這樣反復(fù)迭代,直到驗(yàn)證目標(biāo)充分覆蓋或者覆蓋率增長出現(xiàn)停滯。
[0016]現(xiàn)提供一種用于超大規(guī)模芯片仿真的自適應(yīng)隨機(jī)驗(yàn)證方法,該方法中,考慮到在超大規(guī)模的芯片系統(tǒng)驗(yàn)證中對隨機(jī)驗(yàn)證效率的要求,在隨機(jī)驗(yàn)證過程中,基于對代碼中覆蓋率的統(tǒng)計(jì)和分析,自動調(diào)整隨機(jī)激勵生成策略,從而提高隨機(jī)驗(yàn)證在超大規(guī)模芯片仿真中的效率。
[0017]如附圖1所示,該方法的具體實(shí)現(xiàn)過程為:
首先定義用于表示每組激勵的屬性向量,以及對應(yīng)每個值的取值范圍;
隨機(jī)生成若干屬性向量,并以這些屬性向量作為隨機(jī)激勵生成的參數(shù),生成多組具有對應(yīng)特征的隨機(jī)激勵序列;
將多組隨機(jī)激勵序列進(jìn)行仿真驗(yàn)證,分別統(tǒng)計(jì)仿真驗(yàn)證中對驗(yàn)證目標(biāo)的覆蓋率;
對每組隨機(jī)激勵序列的覆蓋率結(jié)果與之前總的覆蓋率結(jié)果進(jìn)行比對,以此作為評價這組隨機(jī)激勵的效率的標(biāo)準(zhǔn);
結(jié)合多組隨機(jī)激勵序列的效率結(jié)果,將各個屬性向量進(jìn)行排序,通過排序后的結(jié)果,對屬性向量的值進(jìn)行加權(quán)的隨機(jī),生成新的屬性向量;
反復(fù)迭代,直到驗(yàn)證目標(biāo)充分覆蓋或者覆蓋率增長出現(xiàn)停滯,結(jié)束驗(yàn)證過程。
[0018]所述用屬性向量來表示激勵是指對于激勵組的特征用量化的方式進(jìn)行描述,這里的激勵組特征包括激勵個數(shù)、激勵間隔時間、激勵類型等信息,將這組量化的值放入統(tǒng)一化的向量中,可以用于表示特