日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > > 芯片驗(yàn)證工程師
[導(dǎo)讀]一個(gè)UVMtestbench是由從uvm_component基類(lèi)擴(kuò)展出來(lái)的對(duì)象構(gòu)建的。當(dāng)創(chuàng)建一個(gè)uvm_component對(duì)象時(shí),它將成為testbench層次結(jié)構(gòu)的一部分,并在仿真期間保持不變。與此不同的是,uvmsequence類(lèi)層次結(jié)構(gòu)分支中的對(duì)象是短暫的,即在仿真過(guò)程中它...

一個(gè)UVM testbench是由從uvm_component基類(lèi)擴(kuò)展出來(lái)的對(duì)象構(gòu)建的。當(dāng)創(chuàng)建一個(gè)uvm_component對(duì)象時(shí),它將成為testbench 層次結(jié)構(gòu)的一部分,并在仿真期間保持不變。


與此不同的是,uvm sequence 類(lèi)層次結(jié)構(gòu)分支中的對(duì)象是短暫的,即在仿真過(guò)程中它們會(huì)被創(chuàng)建,使用,然后內(nèi)存回收。



uvm_component靜態(tài)層次結(jié)構(gòu)由一個(gè)鏈表表示,該鏈表在創(chuàng)建每個(gè)組件時(shí)構(gòu)建,層次結(jié)構(gòu)中的組件位置由傳遞給其create 方法的參數(shù)決定。


例如,在spi_env中創(chuàng)建一個(gè)apb_agent組件,那么到apb_agent的層次結(jié)構(gòu)路徑將是“uvm_test_top.m_env.m_apb_agent”。

class?spi_env?extends?uvm_env;apb_agent?m_apb_agent;function void build_phase(uvm_phase phase);m_apb_agent = apb_agent::type_id::create("m_apb_agent", this);endfunction: build_phaseendclass: spi_envuvm_component類(lèi)繼承自u(píng)vm_report_object,其中包含支持UVM消息傳遞所需的功能,將組件的路徑添加到report字符串信息中。


uvm_component基類(lèi)針對(duì)每個(gè)UVM Phases都有一個(gè)虛擬方法,這些方法會(huì)根據(jù)需要重載,如果沒(méi)有實(shí)現(xiàn)相應(yīng)phase的虛擬方法,那么該組件就不參與該phase。


為了提供testbench 組件構(gòu)建和配置的靈活性,可以將uvm_components注冊(cè)到UVM factory中,其可以支持將該組件替換為派生類(lèi)型。


UVM package 包含了很多對(duì)uvm_component的擴(kuò)展,但是這些擴(kuò)展大多非常薄,可能僅僅只是代表不同的組件類(lèi)型。下表總結(jié)了一些uvm_component派生類(lèi)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉