一種靜態(tài)編譯動(dòng)態(tài)仿真的soc芯片驗(yàn)證系統(tǒng)及驗(yàn)證方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及的是一種SOC芯片驗(yàn)證領(lǐng)域,尤其是一種靜態(tài)編譯動(dòng)態(tài)仿真的SOC芯片驗(yàn)證系統(tǒng)及驗(yàn)證方法。
【背景技術(shù)】
[0002]在片上系統(tǒng)(S0C)芯片設(shè)計(jì)開(kāi)發(fā)過(guò)程中,為了保證各模塊之間互連和接口正確性,需要外掛驗(yàn)證模型(也稱驗(yàn)證IP)進(jìn)行芯片級(jí)仿真和驗(yàn)證。隨著SOC芯片集成規(guī)模越來(lái)越大,需要外掛的驗(yàn)證模型越來(lái)越多。這些外掛的驗(yàn)證模型一旦跟SOC直接連在一起,在SOC系統(tǒng)仿真時(shí)就會(huì)跟其它設(shè)計(jì)一起被編譯并且參與仿真,導(dǎo)致整個(gè)設(shè)計(jì)代碼編譯仿真速度非常慢。其實(shí)在進(jìn)行芯片驗(yàn)證時(shí),一次仿真往往并不需要所有的驗(yàn)證模型都參與仿真,通常只需要少數(shù)幾個(gè)驗(yàn)證模型就可以。
[0003]基于此,本發(fā)明提出了一種靜態(tài)編譯動(dòng)態(tài)仿真驗(yàn)證模型的驗(yàn)證方法,即編譯時(shí)所有的驗(yàn)證模型都被靜態(tài)地編譯和鏈接,而仿真時(shí)則動(dòng)態(tài)地選擇哪幾個(gè)模型參與仿真,從而可以大大減少仿真器的運(yùn)算量,縮短仿真時(shí)間。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的就是針對(duì)現(xiàn)有技術(shù)所存在的不足,而提供一種靜態(tài)編譯動(dòng)態(tài)仿真的SOC芯片驗(yàn)證系統(tǒng)及驗(yàn)證方法,該方案為了實(shí)現(xiàn)驗(yàn)證模型在仿真時(shí)的動(dòng)態(tài)可選,模型選擇模塊通過(guò)抓取仿真命令參數(shù)中定義的宏參數(shù)來(lái)控制有哪些仿真模型需要參與仿真。此外,針對(duì)每個(gè)驗(yàn)證模型設(shè)計(jì)一個(gè)驗(yàn)證模型封裝模塊,在該模塊中將驗(yàn)證模型封裝起來(lái),并且使用可控的雙向開(kāi)關(guān)控制驗(yàn)證模型與SOC設(shè)計(jì)之間連通或斷開(kāi),進(jìn)而控制驗(yàn)證模型是否實(shí)際參與動(dòng)態(tài)仿真。
[0005]本方案是通過(guò)如下技術(shù)措施來(lái)實(shí)現(xiàn)的:一種靜態(tài)編譯動(dòng)態(tài)仿真的SOC芯片驗(yàn)證系統(tǒng),其特征在于包括如下模塊:
驗(yàn)證模型封裝模塊,用于對(duì)每個(gè)驗(yàn)證模型實(shí)現(xiàn)例化,并對(duì)驗(yàn)證模型進(jìn)行封裝;
雙向開(kāi)關(guān)控制模塊,用于連接芯片和封裝的驗(yàn)證模型,實(shí)現(xiàn)芯片和封裝的驗(yàn)證模型之間的連通或斷開(kāi);
模型選擇模塊,用于抓取仿真命令,并根據(jù)仿真命令控制哪些仿真模型需要參與仿真。模型選擇模塊通過(guò)控制雙向開(kāi)關(guān)模塊實(shí)現(xiàn)芯片與驗(yàn)證模型的連通或斷開(kāi)。所述的模型選擇模塊抓取仿真命令中的宏參數(shù)來(lái)控制哪些仿真模型需要參與仿真。
[0006]一種靜態(tài)編譯動(dòng)態(tài)仿真的SOC芯片驗(yàn)證方法,其特征在于包括如下步驟:
1)抓取仿真命令中的宏參數(shù),并確定宏參數(shù)中的使能信號(hào);
2)根據(jù)使能信號(hào),連通芯片與相應(yīng)的驗(yàn)證模型,進(jìn)行仿真。
[0007]在驗(yàn)證模型參與仿真之前,需要先進(jìn)行例化,并且仿真時(shí),根據(jù)不同測(cè)試功能需求,需要通過(guò)仿真命令選項(xiàng)定義用于相關(guān)驗(yàn)證模型使能的宏參數(shù)。
[0008]在驗(yàn)證模型封裝模塊內(nèi)實(shí)現(xiàn)驗(yàn)證模型的例化。
[0009]驗(yàn)證模型與芯片之間通過(guò)雙向開(kāi)關(guān)連接。
[0010]在步驟I)中,模型選擇模塊接收仿真命令中的宏參數(shù),根據(jù)宏參數(shù)的值確定相應(yīng)驗(yàn)證模型的使能信號(hào)。使能信號(hào)控制雙向開(kāi)關(guān)的通斷,實(shí)現(xiàn)驗(yàn)證模型與芯片之間連接的通斷,如果斷開(kāi)則驗(yàn)證模型不會(huì)被觸發(fā),不參與仿真,反之,驗(yàn)證模型參與仿真。
[0011]本方案的有益效果可根據(jù)對(duì)上述方案的敘述得知,由于在該方案中模型選擇模塊通過(guò)抓取仿真命令參數(shù)中定義的宏參數(shù)來(lái)控制有哪些仿真模型需要參與仿真,由可控的雙向開(kāi)關(guān)控制驗(yàn)證模型與SOC設(shè)計(jì)之間連通或斷開(kāi),進(jìn)而控制驗(yàn)證模型是否實(shí)際參與動(dòng)態(tài)仿真。由此可見(jiàn),本發(fā)明與現(xiàn)有技術(shù)相比,具有突出的實(shí)質(zhì)性特點(diǎn)和顯著的進(jìn)步,其實(shí)施的有益效果也是顯而易見(jiàn)的。
【附圖說(shuō)明】
[0012]圖1為本發(fā)明【具體實(shí)施方式】的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0013]為能清楚說(shuō)明本方案的技術(shù)特點(diǎn),下面通過(guò)一個(gè)【具體實(shí)施方式】,并結(jié)合其附圖,對(duì)本方案進(jìn)行闡述。
[0014]通過(guò)附圖可以看出,本方案的一種靜態(tài)編譯動(dòng)態(tài)仿真的SOC芯片驗(yàn)證系統(tǒng),包括驗(yàn)證模型封裝模塊tb_model,用于對(duì)每個(gè)驗(yàn)證模型verificat1n model (i)實(shí)現(xiàn)例化,并對(duì)驗(yàn)證模型verificat1n model (i)進(jìn)行封裝;
雙向開(kāi)關(guān)控制模塊,為可控的雙向開(kāi)關(guān),用于連接芯片和封裝的驗(yàn)證模型verificat1n model (i),實(shí)現(xiàn)SOC芯片和封裝的驗(yàn)證模型之間的連通或斷開(kāi);
模型選擇模塊tb_m0del_sel,用于抓取仿真命令參數(shù)中的宏參數(shù)來(lái)控制哪些仿真模型需要參與仿真。
[0015]驗(yàn)證時(shí),在tb_model模塊內(nèi)實(shí)現(xiàn)驗(yàn)證模型的例化和驗(yàn)證模型與SOC之間的選通連接。各驗(yàn)證模型通過(guò)可控的雙向開(kāi)關(guān)(tranifl或其它開(kāi)關(guān))連接到SOC芯片的輸入輸出接口。使能信號(hào)en_model_(i)控制雙向開(kāi)關(guān)的通斷。默認(rèn)情況下各驗(yàn)證模型的使能信號(hào)en均為O值,以使用雙向開(kāi)關(guān)tranifl為例,當(dāng)使能信號(hào)en為O時(shí)開(kāi)關(guān)tranifl斷開(kāi),驗(yàn)證模型與SOC之間的連接被切斷,則驗(yàn)證模型不會(huì)被觸發(fā),不會(huì)參與整個(gè)系統(tǒng)仿真。反之,當(dāng)en信號(hào)被置I時(shí)開(kāi)關(guān)tranifl連通,則驗(yàn)證模型參與整個(gè)系統(tǒng)仿真。
[0016]en信號(hào)的產(chǎn)生來(lái)自于模型選擇模塊tb_model_sel。在模塊tb_model_sel中,仿真時(shí)首先會(huì)接收仿真命令選項(xiàng)(_sim_opt)中傳入的宏參數(shù),根據(jù)宏參數(shù)的值使能相應(yīng)驗(yàn)證模型的en信號(hào)。由于宏參數(shù)是在系統(tǒng)編譯完成后進(jìn)入仿真階段時(shí)才被傳入的,所以所有驗(yàn)證模型在編譯階段都會(huì)被編譯,在仿真階段才被選擇性地執(zhí)行。
[0017]本發(fā)明并不僅限于上述【具體實(shí)施方式】,本領(lǐng)域普通技術(shù)人員在本發(fā)明的實(shí)質(zhì)范圍內(nèi)做出的變化、改型、添加或替換,也應(yīng)屬于本發(fā)明的保護(hù)范圍。
【主權(quán)項(xiàng)】
1.一種靜態(tài)編譯動(dòng)態(tài)仿真的SOC芯片驗(yàn)證系統(tǒng),其特征在于包括如下模塊: 驗(yàn)證模型封裝模塊,用于對(duì)每個(gè)驗(yàn)證模型實(shí)現(xiàn)例化,并對(duì)驗(yàn)證模型進(jìn)行封裝; 雙向開(kāi)關(guān)控制模塊,用于連接芯片和封裝的驗(yàn)證模型,實(shí)現(xiàn)芯片和封裝好的驗(yàn)證模型的連通或斷開(kāi); 模型選擇模塊,用于抓取仿真命令,并根據(jù)仿真命令控制哪些仿真模型需要參與仿真。
2.根據(jù)權(quán)利要求1所述的靜態(tài)編譯動(dòng)態(tài)仿真的SOC芯片驗(yàn)證系統(tǒng),其特征是:所述的模型選擇模塊抓取仿真命令中的宏參數(shù)來(lái)控制哪些仿真模型需要參與仿真。
3.一種靜態(tài)編譯動(dòng)態(tài)仿真的SOC芯片驗(yàn)證方法,其特征在于包括如下步驟: 1)抓取仿真命令中的宏參數(shù),并確定宏參數(shù)中的使能信號(hào); 2)根據(jù)使能信號(hào),連通芯片與相應(yīng)的驗(yàn)證模型,進(jìn)行仿真。
4.根據(jù)權(quán)利要求3所述的靜態(tài)編譯動(dòng)態(tài)仿真的驗(yàn)證方法,其特征在于:在驗(yàn)證模型參與仿真之前,需要先進(jìn)行例化,并且仿真時(shí),根據(jù)不同測(cè)試功能需求,需要通過(guò)仿真命令選項(xiàng)定義用于相關(guān)驗(yàn)證模型使能的宏參數(shù)。
5.根據(jù)權(quán)利要求4所述的靜態(tài)編譯動(dòng)態(tài)仿真的SOC芯片驗(yàn)證方法,其特征在于:在驗(yàn)證模型封裝模塊內(nèi)實(shí)現(xiàn)驗(yàn)證模型的例化。
6.根據(jù)權(quán)利要求3所述的靜態(tài)編譯動(dòng)態(tài)仿真的SOC芯片驗(yàn)證方法,其特征在于:驗(yàn)證模型與芯片之間通過(guò)雙向開(kāi)關(guān)連接。
7.根據(jù)權(quán)利要求6所述的靜態(tài)編譯動(dòng)態(tài)仿真的SOC芯片驗(yàn)證方法,其特征在于:在步驟I)中,模型選擇模塊接收仿真命令中的宏參數(shù),根據(jù)宏參數(shù)的值確定相應(yīng)驗(yàn)證模型的使能信號(hào)。
8.根據(jù)權(quán)利要求7所述的靜態(tài)編譯動(dòng)態(tài)仿真的SOC芯片驗(yàn)證方法,其特征在于:使能信號(hào)控制雙向開(kāi)關(guān)的通斷,實(shí)現(xiàn)驗(yàn)證模型與芯片之間連接的通斷,如果斷開(kāi)則驗(yàn)證模型不會(huì)被觸發(fā),不參與仿真,反之,驗(yàn)證模型參與仿真。
【專利摘要】本發(fā)明提供了一種靜態(tài)編譯動(dòng)態(tài)仿真的SOC芯片驗(yàn)證系統(tǒng)及驗(yàn)證方法,包括驗(yàn)證模型封裝模塊,用于對(duì)每個(gè)驗(yàn)證模型實(shí)現(xiàn)例化,并對(duì)驗(yàn)證模型進(jìn)行封裝;雙向開(kāi)關(guān)控制模塊,用于連接芯片和封裝的驗(yàn)證模型,實(shí)現(xiàn)芯片和封裝的驗(yàn)證模型之間的連通或斷開(kāi);模型選擇模塊,用于抓取仿真命令參數(shù),并根據(jù)仿真命令參數(shù)控制哪些驗(yàn)證模型需要參與仿真。實(shí)現(xiàn)驗(yàn)證模型在仿真時(shí)的動(dòng)態(tài)可選,模型選擇模塊通過(guò)抓取仿真命令參數(shù)中定義的宏參數(shù)來(lái)控制有哪些驗(yàn)證模型需要參與仿真。針對(duì)每個(gè)驗(yàn)證模型設(shè)計(jì)一個(gè)驗(yàn)證模型封裝模塊,在該模塊中將驗(yàn)證模型封裝起來(lái),并且使用可控的雙向開(kāi)關(guān)控制驗(yàn)證模型與SOC設(shè)計(jì)之間連通或斷開(kāi),進(jìn)而控制驗(yàn)證模型是否實(shí)際參與動(dòng)態(tài)仿真。
【IPC分類】G06F9-455
【公開(kāi)號(hào)】CN104699524
【申請(qǐng)?zhí)枴緾N201510149463
【發(fā)明人】戴紹新, 李風(fēng)志, 楊萌, 姚香君, 石易明, 李文軍
【申請(qǐng)人】山東華芯半導(dǎo)體有限公司
【公開(kāi)日】2015年6月10日
【申請(qǐng)日】2015年4月1日