一種利用已有Verilog BFM構(gòu)造UVM驗(yàn)證組件的方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)一種利用已有Verilog BFM構(gòu)造UVM驗(yàn)證組件的方法,屬于計(jì)算機(jī)構(gòu)造驗(yàn)證領(lǐng)域,對(duì)已有的Verilog BFM改造;將改造后的Verilog BFM集成到UVM驗(yàn)證環(huán)境中;本發(fā)明不用對(duì)之前的總線模型做太多修改,就使其能在新的UVM環(huán)境中得到使用,有效利用了現(xiàn)有資源,修改最少的代碼,節(jié)省最多的時(shí)間,極大縮短驗(yàn)證周期,避免驗(yàn)證平臺(tái)本身產(chǎn)生的錯(cuò)誤影響驗(yàn)證進(jìn)度。
【專(zhuān)利說(shuō)明】一種利用已有Ver i I og BFM構(gòu)造 UVM驗(yàn)證組件的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明公開(kāi)一種構(gòu)造 UVM驗(yàn)證組件的方法,屬于計(jì)算機(jī)構(gòu)造驗(yàn)證領(lǐng)域,具體地說(shuō) 是一種利用已有Verilog BFM構(gòu)造 UVM驗(yàn)證組件的方法。
【背景技術(shù)】
[0002] Verilog是一種廣泛應(yīng)用于FPGA以及數(shù)字ASIC設(shè)計(jì)的硬件描述語(yǔ)言,使用它描 述數(shù)字邏輯電路,同時(shí)使用它描述電路的外圍設(shè)備來(lái)構(gòu)建仿真平臺(tái)。早期的總線功能模型 BFM (bus functional model)是工程師用Verilog等硬件描述語(yǔ)言構(gòu)建的電路外圍設(shè)備的 模型,來(lái)產(chǎn)生各種激勵(lì)來(lái)驅(qū)動(dòng)所設(shè)計(jì)的電路的模型,并檢測(cè)電路的輸出,來(lái)判斷電路的功能 是否符合預(yù)期。
[0003] 隨著數(shù)字電路技術(shù)的發(fā)展,傳統(tǒng)的Verilog語(yǔ)言已經(jīng)不能滿足構(gòu)建總線功能模型 BFM進(jìn)行數(shù)字電路驗(yàn)證的需要,新的驗(yàn)證語(yǔ)言開(kāi)始出現(xiàn)。現(xiàn)在最廣泛使用的SystemVerilog 語(yǔ)言在原有Verilog語(yǔ)言的基礎(chǔ)上,增加了約束隨機(jī)激勵(lì),功能覆蓋率檢查,面向?qū)ο缶?程,斷言等屬性,能夠更好的滿足復(fù)雜電路驗(yàn)證的需求。UVM是芯片驗(yàn)證業(yè)界最新研發(fā)的一 種驗(yàn)證方法學(xué)。UVM提供基于SystemVerilog語(yǔ)言開(kāi)發(fā)的一套庫(kù)函數(shù),通過(guò)調(diào)用庫(kù)可以省去 從零開(kāi)始開(kāi)發(fā)驗(yàn)證環(huán)境的麻煩。如果想從之前的面向數(shù)字邏輯的Verilog語(yǔ)言到具有面向 對(duì)象屬性的SystemVerilog的迀移,從基于Verilog的驗(yàn)證環(huán)境迀移到UVM驗(yàn)證環(huán)境,這并 不簡(jiǎn)單,UVM環(huán)境中復(fù)用之前的Verilog總線功能模型BFM是關(guān)鍵一步。為了實(shí)現(xiàn)這種復(fù) 用,本發(fā)明提供一種利用已有Verilog BFM構(gòu)造 UVM驗(yàn)證組件的方法,不用對(duì)之前的總線模 型做太多修改,就使其能在新的UVM環(huán)境中得到使用,有效利用了現(xiàn)有資源,修改最少的代 碼,節(jié)省最多的時(shí)間,極大縮短驗(yàn)證周期,避免驗(yàn)證平臺(tái)本身產(chǎn)生的錯(cuò)誤影響驗(yàn)證進(jìn)度。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明針對(duì)現(xiàn)有技術(shù)存在的不足和問(wèn)題,為解決從基于Verilog的驗(yàn)證環(huán)境迀移 到UVM驗(yàn)證環(huán)境時(shí),UVM環(huán)境中復(fù)用之前的Verilog總線功能模型BFM的難題,提供一種利 用已有Verilog BFM構(gòu)造 UVM驗(yàn)證組件的方法。
[0005] 提出的具體方案是: 一種利用已有Verilog BFM構(gòu)造 UVM驗(yàn)證組件的方法,具體步驟為: 對(duì)已有的Verilog BFM改造:選擇協(xié)議中的driver,根據(jù)driver在協(xié)議中的數(shù)據(jù)發(fā)送 情況,在Verilog BFM中加入數(shù)據(jù)包信息的信號(hào)以及發(fā)送開(kāi)始結(jié)束信號(hào); 在Verilog module的端口列表中把數(shù)據(jù)包信息的信號(hào)封在一個(gè)interface中,然后通 過(guò)這個(gè)interface跟Verilog BFM連接,根據(jù)interface進(jìn)入的數(shù)據(jù)包信息來(lái)驅(qū)動(dòng)發(fā)送信 號(hào); 將改造后的Verilog BFM集成到UVM驗(yàn)證環(huán)境中:創(chuàng)建一個(gè)uvm_driver,在它的run_ phase中,將從sequece_item中得到的隨機(jī)化的數(shù)據(jù)包信息,不斷發(fā)送給虛擬接口,uvm_ driver起到連接UVM環(huán)境與Verilog BFM的橋梁作用,無(wú)實(shí)際工作; 驗(yàn)證環(huán)境頂層例化uvm_driver與Verilog BFM之間的接口,并通過(guò)uvm_conf ig_db把 它傳遞給driver中的虛擬接口,完成改造后的Verilog BFM集成到UVM驗(yàn)證環(huán)境。
[0006] 所述的選擇協(xié)議中的driver,選擇的是rapidio協(xié)議中的driver,所述的數(shù)據(jù)包 信息按照rapidio協(xié)議進(jìn)行串行發(fā)送。
[0007] 所述的數(shù)據(jù)包信息信號(hào)包括數(shù)據(jù)包的類(lèi)型,長(zhǎng)度,源器件號(hào)碼,目的器件號(hào)碼,數(shù) 據(jù)負(fù)載。
[0008] 所述的數(shù)據(jù)負(fù)載的長(zhǎng)度是不固定的,使用隊(duì)列來(lái)存儲(chǔ)數(shù)據(jù)負(fù)載的長(zhǎng)度信息。
[0009] 本發(fā)明的有益之處是:本發(fā)明通過(guò)對(duì)現(xiàn)有的Verilog BFM進(jìn)行改造,并連接到UVM 平臺(tái)中,有效利用了現(xiàn)有資源,修改最少的代碼,節(jié)省最多的時(shí)間,極大縮短驗(yàn)證周期,避免 驗(yàn)證平臺(tái)本身產(chǎn)生的錯(cuò)誤影響驗(yàn)證進(jìn)度。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0010] 圖1是基于Verilog實(shí)現(xiàn)的驗(yàn)證環(huán)境的基本結(jié)構(gòu)示意圖; 圖2是標(biāo)準(zhǔn)UVM驗(yàn)證環(huán)境的結(jié)構(gòu)示意圖; 圖3是uvm_driver與Verilog BFM連接的框架示意圖。
【具體實(shí)施方式】
[0011] 下面結(jié)合【專(zhuān)利附圖】
【附圖說(shuō)明】。
[0012] 如圖1,中間是被測(cè)電路的邏輯描述,左邊是激勵(lì)產(chǎn)生的總線模型BFM,右邊是響 應(yīng)檢測(cè)的總線模型BFM。無(wú)論是激勵(lì)產(chǎn)生或者響應(yīng)檢測(cè)模型,一般都封裝在Verilog的 module中,在module中通過(guò)fuction或者task來(lái)產(chǎn)生各種激勵(lì)或者收集各種響應(yīng),來(lái)模擬 被測(cè)電路的外部設(shè)備。三部分在頂層中被例化,并且相互連接。示例程序?yàn)椋?br>
【權(quán)利要求】
1. 一種利用已有Verilog BFM構(gòu)造UVM驗(yàn)證組件的方法,其特征是具體步驟為: 對(duì)已有的Verilog BFM改造;選擇協(xié)議中的化iver,根據(jù)化iver在協(xié)議中的數(shù)據(jù)發(fā)送 情況,在Verilog BFM中加入數(shù)據(jù)包信息的信號(hào)W及發(fā)送開(kāi)始結(jié)束信號(hào); 在Verilog mo化le的端口列表中把數(shù)據(jù)包信息的信號(hào)封在一個(gè)inte計(jì)ace中,然后通 過(guò)該個(gè)inte計(jì)ace跟Verilog BFM連接,根據(jù)inte計(jì)ace進(jìn)入的數(shù)據(jù)包信息來(lái)驅(qū)動(dòng)發(fā)送信 號(hào); 將改造后的Verilog BFM集成到UVM驗(yàn)證環(huán)境中;創(chuàng)建一個(gè)uvm_^iver,在它的run_ phase中,將從sequece_item中得到的隨機(jī)化的數(shù)據(jù)包信息,不斷發(fā)送給虛擬接口,uvm_ 化iver起到連接UVM環(huán)境與Verilog BFM的橋梁作用,無(wú)實(shí)際工作; 驗(yàn)證環(huán)境頂層例化uvm_^iver與Verilog BFM之間的接口,并通過(guò)uvm_conf ig_化把 它傳遞給化iver中的虛擬接口,完成改造后的Verilog BFM集成到UVM驗(yàn)證環(huán)境。
2. 根據(jù)權(quán)利要求1所述的一種利用已有Verilog BFM構(gòu)造UVM驗(yàn)證組件的方法,其特 征是所述的選擇協(xié)議中的化iver,選擇的是rapidio協(xié)議中的化iver,所述的數(shù)據(jù)包信息 按照rapidio協(xié)議進(jìn)行串行發(fā)送。
3. 根據(jù)權(quán)利要求2所述的一種利用已有Verilog BFM構(gòu)造UVM驗(yàn)證組件的方法,其特 征是所述的數(shù)據(jù)包信息信號(hào)包括數(shù)據(jù)包的類(lèi)型,長(zhǎng)度,源器件號(hào)碼,目的器件號(hào)碼,數(shù)據(jù)負(fù) 載。
4. 根據(jù)權(quán)利要求3所述的一種利用已有Verilog BFM構(gòu)造UVM驗(yàn)證組件的方法,其特 征是所述的數(shù)據(jù)負(fù)載的長(zhǎng)度是不固定的,使用隊(duì)列來(lái)存儲(chǔ)數(shù)據(jù)負(fù)載的長(zhǎng)度信息。
【文檔編號(hào)】G06F11/26GK104461812SQ201410790038
【公開(kāi)日】2015年3月25日 申請(qǐng)日期:2014年12月18日 優(yōu)先權(quán)日:2014年12月18日
【發(fā)明者】耿介, 于治樓, 畢研山 申請(qǐng)人:浪潮集團(tuán)有限公司