亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種實(shí)現(xiàn)SoC驗(yàn)證的交互機(jī)制的方法與流程

文檔序號(hào):11654533閱讀:306來源:國(guó)知局
一種實(shí)現(xiàn)SoC驗(yàn)證的交互機(jī)制的方法與流程

本發(fā)明涉及芯片設(shè)計(jì)與制造領(lǐng)域,尤其涉及一種實(shí)現(xiàn)新型的soc驗(yàn)證的交互機(jī)制的方法。



背景技術(shù):

隨著工藝能力和設(shè)計(jì)能力的快速發(fā)展,為了滿足嵌入式系統(tǒng)市場(chǎng)對(duì)于成本、功能和功耗的要求,soc技術(shù)已經(jīng)成為一種發(fā)展趨勢(shì)。soc技術(shù)是以超深亞微米工藝和知識(shí)產(chǎn)權(quán)ip(intellectualproperty)核復(fù)用為支撐,其設(shè)計(jì)觀念與傳統(tǒng)設(shè)計(jì)觀念完全不同。在soc設(shè)計(jì)中,設(shè)計(jì)者面對(duì)的不再是電路芯片;而是能實(shí)現(xiàn)設(shè)計(jì)功能的ip模塊庫(kù)。soc設(shè)計(jì)不能一切從頭開始,要將設(shè)計(jì)建立在較高的基礎(chǔ)之上,利用已有的ip核進(jìn)行設(shè)計(jì)重用。建立在ip核基礎(chǔ)上的系統(tǒng)級(jí)芯片設(shè)計(jì)技術(shù),使設(shè)計(jì)方法從傳統(tǒng)的電路級(jí)設(shè)計(jì)轉(zhuǎn)向系統(tǒng)級(jí)設(shè)計(jì)。正是soc具有這樣的特點(diǎn),使得soc驗(yàn)證日益重要,向業(yè)界提出了巨大挑戰(zhàn),已成為了整個(gè)soc設(shè)計(jì)流程的瓶頸。

在soc驗(yàn)證中不僅有驗(yàn)證平臺(tái)驅(qū)動(dòng)產(chǎn)生的激勵(lì),同時(shí)還有嵌入式cpu產(chǎn)生的激勵(lì),兩者配合完成對(duì)soc芯片的驗(yàn)證。因此如何調(diào)度好兩種類型的激勵(lì)是影響soc驗(yàn)證的關(guān)鍵技術(shù)。傳統(tǒng)的方法是使用cpu寫特定的寄存器,然后通過驗(yàn)證平臺(tái)實(shí)時(shí)監(jiān)測(cè)此寄存器的值,發(fā)現(xiàn)有變化后執(zhí)行相應(yīng)的操作。此方法使用不便,每次調(diào)用都得去監(jiān)測(cè)寄存器的值,且移植性差,無(wú)法在各個(gè)項(xiàng)目之間通用。圖1是傳統(tǒng)soc驗(yàn)證交互機(jī)制,當(dāng)前主流的soc驗(yàn)證都是通過c程序和systemverilog(一種硬件設(shè)計(jì)和驗(yàn)證的編程語(yǔ)言)程序共同產(chǎn)生激勵(lì)進(jìn)行驗(yàn)證,因此兩者之間的交互機(jī)制的實(shí)現(xiàn)顯得非常關(guān)鍵。傳統(tǒng)的soc驗(yàn)證的交互機(jī)制是使用cpu向約定好的寄存器寫入預(yù)先設(shè)定好的值,然后通過systemverilog實(shí)時(shí)監(jiān)測(cè)此寄存器來實(shí)現(xiàn)的。此方法缺點(diǎn)是通用性移植性差,且在soc的uvm(universalverificationmethodology是一個(gè)以systemverilog類庫(kù)為主體的驗(yàn)證平臺(tái)開發(fā)框架,驗(yàn)證工程師可以利用其可重用組件構(gòu)建具有標(biāo)準(zhǔn)化層次結(jié)構(gòu)和接口的功能驗(yàn)證環(huán)境)驗(yàn)證中使用不方便。



技術(shù)實(shí)現(xiàn)要素:

針對(duì)以上缺陷,本發(fā)明目的在于如何實(shí)現(xiàn)一種復(fù)用性強(qiáng)且方便移植的soc驗(yàn)證的交互機(jī)制。

為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種實(shí)現(xiàn)soc驗(yàn)證的交互機(jī)制的方法,其特征在于將對(duì)特定寄存器的操作和監(jiān)控進(jìn)行分離,通過增加交互接口模塊、監(jiān)視器模塊和事件任務(wù)模塊來實(shí)現(xiàn);c程序、監(jiān)視器模塊和rtl通過所述交互接口模塊進(jìn)行連接并實(shí)現(xiàn)數(shù)據(jù)交互,所述交互接口模塊實(shí)現(xiàn)ahb信號(hào)的打包;監(jiān)視器模塊實(shí)時(shí)監(jiān)測(cè)交互接口模塊打包的ahb總線信號(hào),監(jiān)測(cè)到ahb總線中存在向預(yù)先設(shè)定的寄存器操作時(shí),將該操作映射為特定的事件實(shí)例;事件任務(wù)模塊實(shí)現(xiàn)各個(gè)事件實(shí)例具體執(zhí)行的操作的定義和管理。

所述的實(shí)現(xiàn)soc驗(yàn)證的交互機(jī)制的方法,其特征在于所述的事件實(shí)例對(duì)應(yīng)一個(gè)測(cè)試用例,通過模塊類作為基礎(chǔ)類進(jìn)行擴(kuò)展實(shí)現(xiàn),支持多態(tài)屬性。

所述的實(shí)現(xiàn)soc驗(yàn)證的交互機(jī)制的方法,其特征在于所述的事件實(shí)例的觸發(fā)通過事件觸發(fā)或者函數(shù)回調(diào)的方式觸發(fā)執(zhí)行。

本發(fā)明將cpu寫寄存器的操作轉(zhuǎn)換成systemverilog事務(wù),并在上層的測(cè)試用例中使用事務(wù)來控制流程,解決了傳統(tǒng)方法使用不便,移植性復(fù)用性差等諸多問題??朔藄oc驗(yàn)證過程中傳統(tǒng)交互機(jī)制的缺陷,很好地滿足了當(dāng)前大規(guī)模復(fù)雜集成電路的驗(yàn)證需求。

附圖說明

圖1是傳統(tǒng)soc驗(yàn)證交互機(jī)制;

圖2是本發(fā)明soc驗(yàn)證交互機(jī)制的框圖。

具體實(shí)施方式

下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

如果想要實(shí)現(xiàn)c程序控制systemverilog執(zhí)行某個(gè)函數(shù)。傳統(tǒng)的驗(yàn)證交互機(jī)制首先會(huì)使用c程序向特定的寄存器中寫值,然后在驗(yàn)證平臺(tái)中使用systemverilog語(yǔ)言實(shí)時(shí)監(jiān)測(cè)此寄存器中的值,一旦發(fā)現(xiàn)c程序?qū)⑵涓臑榧s定好的值時(shí),就會(huì)觸發(fā)systemverilog執(zhí)行特定函數(shù)。這種方式中,systemverilog實(shí)時(shí)監(jiān)測(cè)寄存器的方式一般采用直接驗(yàn)證層次引用,移植性差,一旦寄存器所在模塊層次結(jié)構(gòu)發(fā)生變化或者改變項(xiàng)目時(shí),都會(huì)導(dǎo)致驗(yàn)證平臺(tái)無(wú)法工作。然而本發(fā)明只會(huì)實(shí)時(shí)監(jiān)測(cè)寫寄存器的行為,然后將其轉(zhuǎn)換為systemverilog事務(wù),因此在驗(yàn)證平臺(tái)的測(cè)試用例中,不需要去關(guān)心寄存器所在模塊層次結(jié)構(gòu)是否變化,其只是通過判斷systemverilog事務(wù)來控制流程。同時(shí),本發(fā)明利用了systemverilog類(class)的屬性,使得上層測(cè)試用例無(wú)需關(guān)心底層行為,即操作的判斷和執(zhí)行隔離。如果在不同的項(xiàng)目或者應(yīng)用場(chǎng)景下,需要修改寄存器層次或者寄存器值對(duì)應(yīng)關(guān)系,都可以在底層模塊中修改,而這些修改并不會(huì)影響上層測(cè)試用例的調(diào)用。因此,本發(fā)明提出的驗(yàn)證交互機(jī)制具有使用簡(jiǎn)單,移植方便等優(yōu)點(diǎn)。

圖2是本發(fā)明soc驗(yàn)證交互機(jī)制的框圖,增加了interface(接口)模塊和monitor(監(jiān)視器)模塊,以及eventtask模塊。

interface在systemverilog中的主要功能是打包信號(hào)線以及連接rtl(rtl是registertransferlevel的縮寫,指的是寄存器傳輸級(jí)電路)和uvm(universalverificationmethodology是一個(gè)以systemverilog類庫(kù)為主體的驗(yàn)證平臺(tái)開發(fā)框架)功能。通過interface可以使得信號(hào)連接關(guān)系清晰明朗,同時(shí),在uvm驗(yàn)證中連接rtl和uvm唯一的方式就是通過interface模塊。在本發(fā)明中,interface主要是將cpu模塊的ahb總線信號(hào)組打包,并將其連接到monitor模塊中,方便monitor模塊實(shí)時(shí)監(jiān)測(cè)。

monitor模塊在uvm中的主要功能是實(shí)時(shí)監(jiān)測(cè)一組信號(hào)線,然后將其轉(zhuǎn)換為transaction,并傳輸給下一級(jí)模塊。本發(fā)明中monitor模塊實(shí)時(shí)監(jiān)測(cè)cpu的ahb信號(hào)線,如果發(fā)現(xiàn)其有向事先約定的寄存器中寫值,則將其轉(zhuǎn)換為systemverilogevent。比如,寫值0x900d900d,則為eventpass;0xbaadbaad,則為eventfail;0x80018001,則為event1;0x80028002,則為event2等。

eventtask模塊主要是完成各個(gè)event對(duì)應(yīng)執(zhí)行的操作。比如在event1中填寫對(duì)應(yīng)的功能操作,event2中填寫另外的操作,并以此類推。一旦monitor中監(jiān)測(cè)到某個(gè)event發(fā)生,則會(huì)立即執(zhí)行其對(duì)應(yīng)的操作。另外,測(cè)試用例可以在eventtask模塊類的基礎(chǔ)上擴(kuò)展,利用類的多態(tài)屬性,可以編寫新的操作來覆蓋eventtask模塊類中的原操作,實(shí)現(xiàn)每支測(cè)試用例專有的功能。

因此,完整的流程是首先c程序向約定好的寄存器中寫特定值,然后驗(yàn)證平臺(tái)通過monitor和interface監(jiān)測(cè)到對(duì)應(yīng)的event發(fā)生,最后在此eventtask模塊中執(zhí)行相關(guān)操作,完成c程序控制systemverilog流程的功能。

利用了systemverilogclass的屬性,將寄存器的監(jiān)測(cè)判斷和執(zhí)行動(dòng)作分開,達(dá)到了使用方便,移植性好的目的。在傳統(tǒng)soc驗(yàn)證交互機(jī)制中,寄存器的判斷和執(zhí)行都是合并在一起,這意味著如果要修改值和執(zhí)行操作的映射關(guān)系,必須每個(gè)測(cè)試用例都得修改,非常不方便。而在本發(fā)明中,monitor模塊完成寄存器的監(jiān)測(cè)判斷功能,taskevent模塊完成操作執(zhí)行功能,兩個(gè)步驟完全隔離,方便修改。如果想要修改寄存器值和執(zhí)行操作的映射關(guān)系,只需要在monitor模塊中修改即可;如果想要修改event對(duì)應(yīng)的操作,只需要在eventtask模塊中修改即可。而且如果使用測(cè)試用例擴(kuò)展eventtask類,還可以利用類的多態(tài)屬性,完成專屬的event操作。

以上所揭露的僅為本發(fā)明一種實(shí)施例而已,當(dāng)然不能以此來限定本之權(quán)利范圍,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分流程,并依本發(fā)明權(quán)利要求所作的等同變化,仍屬于本發(fā)明所涵蓋的范圍。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1