真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何淺析UVM概念中的raise/dropobjection

如何淺析UVM概念中的raise/drop objection,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

創(chuàng)新互聯(lián)公司是一家網(wǎng)站設(shè)計(jì)公司,集創(chuàng)意、互聯(lián)網(wǎng)應(yīng)用、軟件技術(shù)為一體的創(chuàng)意網(wǎng)站建設(shè)服務(wù)商,主營(yíng)產(chǎn)品:響應(yīng)式網(wǎng)站建設(shè)、成都品牌網(wǎng)站建設(shè)、營(yíng)銷(xiāo)型網(wǎng)站。我們專(zhuān)注企業(yè)品牌在網(wǎng)站中的整體樹(shù)立,網(wǎng)絡(luò)互動(dòng)的體驗(yàn),以及在手機(jī)等移動(dòng)端的優(yōu)質(zhì)呈現(xiàn)。成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、移動(dòng)互聯(lián)產(chǎn)品、網(wǎng)絡(luò)運(yùn)營(yíng)、VI設(shè)計(jì)、云產(chǎn)品.運(yùn)維為核心業(yè)務(wù)。為用戶(hù)提供一站式解決方案,我們深知市場(chǎng)的競(jìng)爭(zhēng)激烈,認(rèn)真對(duì)待每位客戶(hù),為客戶(hù)提供賞析悅目的作品,網(wǎng)站的價(jià)值服務(wù)。

UVM中,component的task phase是消耗仿真時(shí)間的,各個(gè)components需要在不同層次的task phase中同步信息。

UVM中通過(guò)objection mechanism來(lái)控制phase的執(zhí)行,通過(guò)raise or drop objection來(lái)決定phase中事件的開(kāi)始和停止。

當(dāng)程序根據(jù)phase執(zhí)行順序,進(jìn)入到某一個(gè)phase中時(shí),它會(huì)收集此phase提起的所有的objection(每個(gè)component都可以raiseobjection)

當(dāng)這個(gè)phase中所有的objection都被撤銷(xiāo)(drop)之后,那么這個(gè)phase就執(zhí)行結(jié)束。

components或sequence將在驗(yàn)證行為的開(kāi)始 raise phase objection,在驗(yàn)證行為完成后drop phase  objection。一旦phase里所有的objection都被dropped,該phase就結(jié)束了。

考慮一個(gè)例子,agent完成讀寫(xiě)操作。通??梢栽趕equence 或者test中添加raise/drop objection。

Objection in sequence

class wr_rd_seq extends uvm_sequence#(mem_seq_item);  
task pre_body();    
// raise objection if started as a root sequence    
if(starting_phase!= null)      
starting_phase.raise_objection(this);  endtask   task body();    
`uvm_do_with(req,wr_en==1);    
`uvm_do_with(req,rd_en==1);  
endtask   task post_body();    
// drop objection if started as a root sequence    
if(starting_phase!= null)      
starting_phase.drop_objection(this);  
endtaskendclass

在uvm_sequence中有一個(gè)starting_phase成員,它是uvm_phase類(lèi)型。如果我們通過(guò)設(shè)置run phase的default sequence來(lái)啟動(dòng)一個(gè)sequence,那么會(huì)默認(rèn)將run phase的phase傳遞給這個(gè)sequence的starting_phase.

Objection in test

如果需要在test中顯式啟動(dòng)sequence,即在test中添加objection。

class wr_rd_test extends uvm_test; ...  
task main_phase(uvm_phase phase);    
phase.raise_objection(); 
//rasing objection      wr_rd_seq.start(mem_agent.sequencer);    
phase.drop_objection();  
//droping objection  endtask     endclass

在test中顯式啟動(dòng)sequence時(shí), starting_phase的值是null。

關(guān)于如何淺析UVM概念中的raise/drop objection問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。


網(wǎng)站題目:如何淺析UVM概念中的raise/dropobjection
文章源于:http://weahome.cn/article/igospp.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部