該方法可以包括:
[0047]S100、按照腳本中每組測試激勵組的順序,通過所述腳本依次讀取一個測試激勵組,配置讀取的測試激勵組的驗證環(huán)境;
[0048]其中,為了盡量減少測試激勵時的人工參與;這里可以通過自動化腳本來自動按照每組測試激勵組的順序,在該測試激勵組仿真退出后,自動調(diào)取下一個測試激勵組進(jìn)行仿真。這里每組測試激勵組的順序可以通過預(yù)先對需要進(jìn)行仿真的各個測試激勵組進(jìn)行編號,腳本按照編號順序依次調(diào)取測試激勵組;也可以是在腳本中設(shè)置調(diào)取各個測試激勵組的順序,腳本即按照設(shè)置的順序進(jìn)行依次調(diào)取;本方法并不對測試激勵組的排序方式進(jìn)行限定,只需要使得腳本能夠按照預(yù)定順序可自動化依次調(diào)取測試激勵組即可。
[0049]配置讀取的測試激勵組的驗證環(huán)境可以通過配置文件實現(xiàn),即可以在配置文件中設(shè)置好該配置文件對應(yīng)的測試激勵組的驗證環(huán)境,腳本通過讀取配置文件,并根據(jù)配置文件的內(nèi)容搭建驗證環(huán)境;其中,這里的驗證環(huán)境的內(nèi)容可以是設(shè)定仿真工作模式和仿真系統(tǒng)配置參數(shù)等。這里的配置文件的設(shè)置是針對待驗證激勵比較復(fù)雜,有多種不同工作模式和系統(tǒng)配置的情況,為了使應(yīng)用于不同工作模式下的測試激勵能自動化地批量處理。如果驗證環(huán)境只有一種配置,或者用于批量處理的激勵都用于同一種配置環(huán)境,那么配置文件相關(guān)的工作可以省略。這里設(shè)置配置文件的目的就是可以使得腳本在調(diào)取該測試激勵組之后,不需要人工進(jìn)行驗證環(huán)境的搭建,可以直接進(jìn)行搭建,并在搭建后可以直接進(jìn)行仿真,完成自動仿真,避免仿真時的人工參與。針對用于超大規(guī)模芯片驗證的多組激勵批量仿真的時候,優(yōu)選的,該步驟可以包括:
[0050]為每組測試激勵組按照仿真順序進(jìn)行編號,并為每組測試激勵組設(shè)置對應(yīng)的配置文件;其中,所述配置文件包括仿真工作模式和仿真系統(tǒng)配置;
[0051]腳本按照每組測試激勵組的編號,依次調(diào)取一個測試激勵組,并讀取對應(yīng)的配置文件;
[0052]根據(jù)讀取的配置文件配置測試激勵組的驗證環(huán)境。
[0053]其中,在同一個驗證環(huán)境的搭建中,包含對于不同工作模式和系統(tǒng)配置,并使其可以通過讀入配置文件的方式進(jìn)行選擇。
[0054]S110、運行測試激勵組對應(yīng)的仿真程序;
[0055]S120、判斷所述仿真程序是否退出;
[0056]S130、若所述仿真程序退出,則將仿真結(jié)果保存到對應(yīng)預(yù)定區(qū)域。
[0057]其中,由于腳本在一個測試激勵組完成仿真后,需要自動調(diào)取下一組測試激勵組;因此,需要使得腳本知道怎么樣算是仿真程序退出,即需要在腳本中設(shè)置仿真退出的條件。當(dāng)測試激勵組在仿真的過程中觸發(fā)了退出條件,則退出仿真,腳本將得到的仿真結(jié)果進(jìn)行保存后,調(diào)取下一個測試激勵組進(jìn)行仿真。
[0058]其中,這里的仿真退出設(shè)置的條件可以根據(jù)實際情況進(jìn)行確定,一般包括仿真結(jié)束后的正常退出,也可以包括仿真異?;蝈e誤時的退出。即在驗證環(huán)境中可以包含退出仿真的控制開關(guān),當(dāng)條件觸發(fā)時退出本組激勵的仿真。
[0059]具體的,優(yōu)選的,所述配置文件還可以包括:
[0060]設(shè)置仿真出錯退出或仿真異常退出的條件;
[0061 ] 設(shè)置仿真程序正常退出的條件。
[0062]即退出仿真控制開關(guān),其觸發(fā)條件包含兩類,一類是仿真的激勵已經(jīng)運行完畢,得到了結(jié)果(無論結(jié)果是對是錯);另一類是仿真激勵沒有全部運行完畢,但是已經(jīng)無法繼續(xù)運行出結(jié)果,包括出現(xiàn)死循環(huán)、死鎖或者其它錯誤。對于前者的條件設(shè)置相對簡單,如以仿真出現(xiàn)結(jié)果即可,而對于后者,需要對仿真“無法繼續(xù)運行”設(shè)置一個或多個判斷條件。最簡單的可以用仿真時間作為條件,但為了減少誤判就需要采用盡可能寬松的閾值,為了避免這方面帶來的時間浪費,最有效的方法是根據(jù)對于整個系統(tǒng)的了解,采用對系統(tǒng)的一些狀態(tài)變化和時間共同作為判斷條件。此外,退出仿真的原因等信息需要盡可能詳細(xì)地記錄下來。以便后續(xù)技術(shù)人員進(jìn)行分析。
[0063]這里要注意,由于該方法用于超大規(guī)模芯片驗證,因此,每次測試的激勵會比較多,多組激勵是在同一個驗證環(huán)境中運行,每次仿真之后,為了避免出現(xiàn)結(jié)果被覆蓋,可以通過腳本的方式將該次仿真的結(jié)果復(fù)制出去單獨保存??梢酝ㄟ^為每組測試激勵組都分配制定的保存區(qū)域,也可以是將結(jié)果保存時以能夠表明測試對象的名稱進(jìn)行命名如每組測試激勵組的編號。優(yōu)選的,所述將仿真結(jié)果保存到對應(yīng)預(yù)定區(qū)域,包括:通過腳本將仿真結(jié)果復(fù)制,根據(jù)預(yù)定路徑保存到對應(yīng)區(qū)域,并以測試激勵組的編號進(jìn)行命名。
[0064]其中,為驗證環(huán)境設(shè)置判斷仿真出錯或者異常的條件,也就是規(guī)定除了得到仿真結(jié)果之外的仿真提出的條件。在激勵組方面,準(zhǔn)備需要批量處理的多組測試激勵,每組測試激勵都包含對應(yīng)的配置文件,并對多組測試激勵進(jìn)行順序編號。
[0065]為了更好地對仿真結(jié)果進(jìn)行分析,了解仿真的整個過程,還需要將退出仿真的原因等信息需要盡可能詳細(xì)地記錄下來。優(yōu)選的,所述將仿真結(jié)果保存到對應(yīng)預(yù)定區(qū)域,包括:
[0066]通過腳本將仿真結(jié)果以及仿真退出的原因信息復(fù)制,根據(jù)預(yù)定路徑保存到對應(yīng)區(qū)域,并以測試激勵組的編號進(jìn)行命名。
[0067]請參考圖2,具體的,該方法中的控制批量仿真的工作由腳本完成,具體腳本需要做的事情包括:在批量仿真啟動之后,腳本讀入第一個測試激勵組,并讀入對應(yīng)配置文件,配置驗證環(huán)境后仿真;在滿足仿真退出條件時,退出當(dāng)次仿真,并保存仿真結(jié)果到一個單獨的文件夾中,不同激勵組的結(jié)果命名以編號區(qū)分;然后讀入下一個測試激勵組,重復(fù)進(jìn)行以上工作,直至所有激勵組都仿真完畢。其中,啟動仿真之前包括:搭建驗證環(huán)境,包含對于不同工作模式和系統(tǒng)配置,使其可以通過讀入配置文件的方式進(jìn)行選擇,準(zhǔn)備需要批量處理的多組測試激勵,每組測試激勵都包含對應(yīng)的配置文件,并對多組測試激勵進(jìn)行順序編號,為驗證環(huán)境設(shè)置判斷仿真出錯或者異常的條件。
[0068]基于上述技術(shù)方案,本發(fā)明實施例提供的用于超大規(guī)模芯片驗證的多組激勵批量仿真方法,該方法通過自動化的腳本按照測試激勵組的順序依次自動調(diào)取測試激勵組,并對測試激勵組進(jìn)行驗證環(huán)境配置;即用自動化的腳本和相關(guān)的驗證環(huán)境配置,替代了人力的工作即該方法能夠在驗證人員休息或者進(jìn)行分析驗證結(jié)果等其它工作的時候,持續(xù)地運行仿真,提高了對硬件資源和人力資源的使用效率。
[0069]優(yōu)選的,還可以將常用的分析方法進(jìn)行編程,通過分析程序?qū)Φ玫降姆抡娼Y(jié)果進(jìn)行分析,進(jìn)而進(jìn)一步的減輕了技術(shù)人員的工作量,提高了仿真分析效率。
[0070]本發(fā)明實施例提供了用于超大規(guī)模芯片驗證的多組激勵批量仿真方法,能夠用自動化的腳本和相關(guān)的驗證環(huán)境配置,替代了人力的工作,提高了對硬件資源和人力資源的使用效率。
[0071]下面對本發(fā)明實施例提供的用于超大規(guī)模芯片驗證的多組激勵批量仿真系統(tǒng)進(jìn)行介紹,下文描述的用于超大規(guī)模芯片驗證的多組激勵批量仿真系統(tǒng)與上文描述的用于超大規(guī)模芯片驗證的多組激勵批量仿真方法可相互對應(yīng)參照。
[0072]請參考圖3,圖3為本發(fā)明實施例所提供的用于超大規(guī)模芯片驗證的多組激勵批量仿真系統(tǒng)的結(jié)構(gòu)框圖;該系統(tǒng)可以包括:
[0073]配置模塊100,用于按照腳本中每組測試激勵組的順序,通過所述腳本依次讀取一個測試激勵組,配置讀取的測試激勵組的驗證環(huán)境;
[0074]仿真模塊200,用于運行測試激勵組對應(yīng)的仿真程序;
[007