第五章 UVM驗證平臺的運(yùn)行

5.1 phase機(jī)制

UVM中的phase

(1)UVM中的phase流妻,按照其是否消耗仿真時間($time打印出的時間)的特性,可以分成function phase 和 task phase纬向。 圖中灰色背景所示的是task phase燕偶,其他為function phase寨闹。

(2)對于function phase來說,在同一時間只有一個phase在執(zhí)行挂谍;但是在task phase中叔壤,run_phase和pre_reset_phase等12個小的phase并行運(yùn)行。后者稱為動態(tài)運(yùn)行(run-time)的phase口叙。

(3)UVM在build_phase中做uvm_component及其派生類變量的實例化工作炼绘。uvm_object可以在任何phase完成。

(4)除了build_phase之外庐扫,所有function phase都是自下而上執(zhí)行的饭望。

(5)對于同一層次的、具有兄弟關(guān)系的component形庭,執(zhí)行順序是按照字典序的铅辞,與實例化的順序無關(guān)。

(6)UVM采用深度優(yōu)先地原則萨醒,如i_agt實例化時名字為"i_agt"斟珊,scb為"scb",則i_agt的build_phase先執(zhí)行富纸,執(zhí)行完畢后囤踩,再執(zhí)行driver,monitor晓褪,sequence的build phase堵漱,全部執(zhí)行完畢后再執(zhí)行scoreboard的build phase。

(7)super.build_phase:自動獲取通過config_db::set設(shè)置的參數(shù)涣仿。如果要關(guān)掉這個功能勤庐,可以在自己的build_phase中不調(diào)用super.build_phase。

(8)對于直接擴(kuò)展自uvm_component的類好港,出build_phase外愉镰,完全可以不必加上super.xxxx_phase語句。

(9)jump函數(shù)的參數(shù)钧汹,uvm_pre_reset_phase::get()后的所有phase都可以丈探。

(10)<sim command> +UVM_PHASE_TRACE:對phase進(jìn)行調(diào)制。

(11)uvm_top.set_timeout(500ns, 0):設(shè)置超時時間拔莱,第二個參數(shù)表示此設(shè)置是否可以被其后的其他set_timeout語句覆蓋碗降。

? ? ? ? ? ? 默認(rèn)的超時退出時間:

? ? ? ? ? ? ? ? ? ? `define UVM_DEFAULT_TIMEOUT 9200s

? ? ? ? ? ? ? ? ? ? <sim command> +UVM_TIMEOUT="300ns, YES"


5.2 objection機(jī)制

(1)對于run-time的phase隘竭,如果想執(zhí)行一些耗費(fèi)時間的代碼,那么要在此phase下任意一個component中至少提起一次objection遗锣。

(2)如果UVM發(fā)現(xiàn)某phase沒有提起任何objection货裹,那么將會直接跳轉(zhuǎn)到下一個phase中。

(3)如果12個動態(tài)運(yùn)行的phase有objection被提起精偿,那么run_phase根本不需要raise_objection就可以自動執(zhí)行弧圆。

(4)在一個實際的驗證平臺中,通常會在以下兩種objection的控制策略中選擇一種:

? ? ? ? ? ? ? ? 1. 在scoreboard中進(jìn)行控制笔咽。

? ? ? ? ? ? ? ? 2. 在sequence中提起sequencer的objection搔预,當(dāng)sequence完成后,再撤銷此objection叶组。一般情況下只在sequence中控制objection拯田。

(5)一個phase對應(yīng)一個drain_time,沒有設(shè)置的情況下甩十,drain_time的默認(rèn)值為0船庇。

? ? ? ? ? ? "base_test.sv"

? ? ? ? ? ? task base_test::main_phase(uvm_phase phase);

? ? ? ? ? ? ?? phase.phase_done.set_drain_time(this, 200);

? ? ? ? ? ? endtask

(6) objection的調(diào)試

? ? ? ? ? ? <sim command> +UVM_OBJECTION_TRACE


5.3 domain的應(yīng)用

(1)domain只能隔離run-time的phase,其他phase還是同步的侣监,即run_phase和function_phase是同步的鸭轮。

(2)class B extends uvm_component;

? ? ? ? ? ? ? ? ?? uvm_domain ? ? new_domain;

? ? ? ? ? ? ? ? ?? `uvm_component_utils(B)

? ? ? ? ? ? ? ? ?? function new(string name, uvm_component parent);

? ? ? ? ? ? ? ? ? ? ? ? ? ? super.new(name, parent);

? ? ? ? ? ? ? ? ? ? ? ? ? ? new_domain = new("new_domain");

? ? ? ? ? ? ? ? ?? endfunction

? ? ? ? ? ? ? ? ?? virtual function void connect_phase(uvm_phase phase);

? ? ? ? ? ? ? ? ? ? ? ? ? ? set_domain(new_domain);

? ? ? ? ? ? ? ? ?? endfunction

? ? ? ? ? ? set_domain將B加入到此domain中。

(3)phase的跳轉(zhuǎn)只局限于某一個domain中橄霉。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末窃爷,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子姓蜂,更是在濱河造成了極大的恐慌按厘,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件钱慢,死亡現(xiàn)場離奇詭異逮京,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)束莫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進(jìn)店門造虏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人麦箍,你說我怎么就攤上這事√罩椋” “怎么了挟裂?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長揍诽。 經(jīng)常有香客問我诀蓉,道長栗竖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任渠啤,我火速辦了婚禮狐肢,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘沥曹。我一直安慰自己份名,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布妓美。 她就那樣靜靜地躺著僵腺,像睡著了一般。 火紅的嫁衣襯著肌膚如雪壶栋。 梳的紋絲不亂的頭發(fā)上辰如,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天,我揣著相機(jī)與錄音贵试,去河邊找鬼琉兜。 笑死,一個胖子當(dāng)著我的面吹牛毙玻,可吹牛的內(nèi)容都是我干的豌蟋。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼淆珊,長吁一口氣:“原來是場噩夢啊……” “哼躯概!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起伺绽,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤慈迈,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后戳吝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體浩销,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年听哭,在試婚紗的時候發(fā)現(xiàn)自己被綠了慢洋。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡陆盘,死狀恐怖普筹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情隘马,我是刑警寧澤太防,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站酸员,受9級特大地震影響蜒车,放射性物質(zhì)發(fā)生泄漏讳嘱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一酿愧、第九天 我趴在偏房一處隱蔽的房頂上張望沥潭。 院中可真熱鬧,春花似錦嬉挡、人聲如沸钝鸽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽寞埠。三九已至,卻和暖如春焊夸,著一層夾襖步出監(jiān)牢的瞬間仁连,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工阱穗, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留饭冬,地道東北人。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓揪阶,卻偏偏與公主長得像昌抠,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子鲁僚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容