UVM中的phase,按照其是否消耗仿真時間($time打印出的時間)的特性,可以分成兩大類,一類是function phase,一類是task phase。就像task和function一樣,task phase消耗仿真時間。
如圖所示灰色的phase是task phase其他均為function phase
上述所有的phase都會按照圖中的順序自上而下自動執行。使用頻率最高的是build_phase、connect_phase和main_phase
-
對于function phase來說,在同一時間只有一個phase在執行;但是task phase中,run_phase和pre_reset_phase等12個小的phase并行運行。后者稱為動態運行(run-time)的phase。
-
run phase可以和其他12個小phase 的關系是可以在run phase里執行12個小phase的功能,也可以在12個小phase中分步進行。run phase和其他12個phse是一個并行關系,而12個phase是順序執行的。
對于task phase,從全局的觀點來看其順序大致如下:
fork
begin
run_phase();
end
begin
pre_reset_phase();
reset_phase();
post_reset_phase();
pre_configure_phase();
configure_phase();
post_configure_phase();
pre_main_phase();
main_phase();
post_main_phase();
pre_shutdown_phase();
shutdown_phase();
post_shutdown_phase();
end
join
-
12個小phase存在意義:分成小的phase是為了實現更加精細化的控制。reset、configure、main、shutdown四個phase是核心,這四個phase通常模擬DUT的正常工作方式,在reset_phase對DUT進行復位、初始化等操作,在configure_phase則進行DUT的配置,DUT的運行主要在main_phase完成,shutdown_phase則是做一些與DUT斷電相關的操作。
假設要在運行過程中對DUT進行一次復位(reset)操作,在沒有這些細分 的phase之前,這種操作要在scoreboard、reference model等加入一些額 外的代碼來保證驗證平臺不會出錯。但是有了這些小的phase之后,那么只 要通過phase的跳轉,就會自動跳轉回reset_phase。
-
bulid phase的執行順序是自上而下,即先執行test case的bulid phase然后執行env,在執行monitor和driver的build phase,而同級的monitor和driver的build phase執行順序是按照字典序的,這里的字典序的排序依據new時指定的名字。
UVM的uvm_component及其派生類變量的實例化在build_phase中做實 例化工作,如果是uvm_object的實例化,可以是任何的phase。
-
除了build_phase之外,所有不耗費仿真時間的phase(即function phase)都是自下而上執行的。connect phase執行順序是自下而上的,如對于connect_phase即先執行driver和monitor的connect_phase,再執行agent的connect_phase。
-
無論是自上而下(build_phase)還是自下而上(connect_phase)的phase,其執行順序都與實例化的順序無關,而是嚴格按照實例化時指定名字的字典序
審核編輯 :李倩
-
UVM
+關注
關注
0文章
182瀏覽量
19228 -
PHASE
+關注
關注
0文章
13瀏覽量
10865
原文標題:UVM里的phase機制
文章出處:【微信號:FPGA學姐,微信公眾號:FPGA學姐】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
MATLA B助力數字與模擬芯片設計:高效實現HLS、UCIe和UVM
![MATLA B助力數字與模擬芯片設計:高效實現HLS、UCIe和<b class='flag-5'>UVM</b>](https://file1.elecfans.com/web3/M00/03/31/wKgZO2dk4L2ADYIEAAAf67_-8Aw435.png)
CDCM6208使用EVM software v3.24進行phase noise Tool仿真異常是怎么回事?
單片機的中斷機制
VeriStand的執行機制
![VeriStand的執行<b class='flag-5'>機制</b>](https://file1.elecfans.com/web2/M00/06/F1/wKgaombhPBaAVRJjAAKZp7TTU5Y174.jpg)
TL084輸出反相與datasheet上宣傳的no phase reversal特性不符,為什么?
OPA189 phase margin相位裕度是AOL*β在0dB時的相位即80°,為什么不是180-80=100°呢?
具有NVM和PMBus? 的TPS53681雙通道(6-Phase + 2-Phase) or (5-Phase + 3-Phase) D-CAP+? 降壓多相控制器數據表
![具有NVM和PMBus? 的TPS53681雙通道(6-<b class='flag-5'>Phase</b> + 2-<b class='flag-5'>Phase</b>) or (5-<b class='flag-5'>Phase</b> + 3-<b class='flag-5'>Phase</b>) D-CAP+? 降壓多相控制器數據表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
uvm1.1升級為uvm1.2 uvm_report_server報錯是何原因?
![<b class='flag-5'>uvm</b>1.1升級為<b class='flag-5'>uvm</b>1.2 <b class='flag-5'>uvm</b>_report_server報錯是何原因?](https://file1.elecfans.com/web2/M00/C2/84/wKgZomXlaBOAeLH-AAAeICCaSgU574.png)
UVM手把手教程系列(一)UVM驗證平臺基礎知識介紹
![<b class='flag-5'>UVM</b>手把手教程系列(一)<b class='flag-5'>UVM</b>驗證平臺基礎知識介紹](https://file1.elecfans.com/web2/M00/C1/37/wKgZomXdNsGASQ4iAAAqhaYIWIk472.png)
CP AUTOSAR信息安全機制全面解析
![CP AUTOSAR信息安全<b class='flag-5'>機制</b>全面解析](https://file1.elecfans.com/web2/M00/C0/8F/wKgZomXWw6KAcQyYAAAtX_yG3DE974.png)
評論