UVM中類的例化用new和create有什么不同?什么時候可以用new?什么時候該用create?
new是OOP自帶屬性,create是UVM override屬性,可以理解成create比new更進階~
create是用factory模式來construct對象,在factory中注冊過的uvm_object擴展類或是uvm_component 擴展類都可以用create,這樣做的好處是在testcase里面可以override. new是什么時候都可以用的。
只有與UVM基本類相關的類才可以使用create方法,相當于在UVM這個大樹上面掛了個號,具體號碼就是通過static function type_id來分配的,UVM的其他地方可以通過號碼來對使用create的這個類進行factory機制可以實現的有關功能,override是比較常用的一個功能。
new是一個class創建一個對象的方式,是在運行內存下面掛個號,分配空間,是sv的語法,與UVM無關。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
UVM
+關注
關注
0文章
182瀏覽量
19174 -
OOP
+關注
關注
0文章
14瀏覽量
8795
發布評論請先 登錄
相關推薦
SystemVerilog中的類構造函數new
在systemverilog中,如果一個類沒有顯式地聲明構造函數(new()),那么編譯仿真工具會自動提供一個隱式的new()函數。這個new
發表于 11-16 09:58
?3644次閱讀
IC驗證"一個簡單的UVM驗證平臺"是如何搭建的(六)
的計算功能,完成scoreboard的比較功能。類中可以有成員變量,這些成員變量可以控制類 的行為,如控制driver的行為等。當要實現一個功能時,首先應該想到的是從UVM的某個
發表于 12-04 15:48
IC驗證"UVM驗證平臺加入factory機制"(六)
平臺,因為UVM的特性幾乎一 點都沒有用到。像上節中my_driver的實例化及drv.main_phase的顯式調用,即使不使用UVM,只使用簡單的SystemVerilog也可以完 成。本節將會
發表于 12-08 12:07
數字IC驗證之“什么是UVM”“UVM的特點”“UVM提供哪些資源”(2)連載中...
工程師只需要將代碼寫入適當的phase當中,平臺運行時,會按照phase的執行流程來自動執行驗證工程師的代碼。uvm提供了一系列的基類,驗證工程師需要根據實際的情況擴展出合適的類來構建自己的驗證平臺
發表于 01-21 16:00
什么是uvm?uvm的特點有哪些呢
直觀的印象,就是uvm驗證平臺,它是分層的結構。圖中的每一個巨型框都代表著平臺的一個構成元素。這些元素呢,我們稱為平臺組建,下面來簡單的分析一下。從最底層上來看,agent 中包含了driver,monitor和sequencer,其中driver ,monitor
發表于 02-14 06:46
請問一下在UVM中的UVMsequences是什么意思啊
在UVM方法學中,UVMsequences 是壽命有限的對象。UVM sequences從uvm_sequence_item基類擴展得到,
發表于 04-11 16:43
深入了解Factory機制的實現方式
。uvm_factory中定義了一系列純虛函數,主要包括以下幾種功能:重載、創建、查找、調試等。這些函數根據參數可以分為基于名字(name-based)和基于類型(type-based)兩類接口。也就是說,每一種
發表于 09-16 14:35
談談UVM中的uvm_info打印
uvm_report_enabled(xxx)中,會分析傳過來的severity和id的配置verbosity要大于傳過來的verbosity,(get_report_verbosity_level(severity, id
發表于 03-17 16:41
UVM中seq.start()和default_sequence執行順序
下src/base/uvm_task_phase.svh文件。為方便分析,我截圖如下。在uvm_task_phase類里execute(xxx)函數的第148行和150行確定了seq1和seq2的執行
發表于 04-04 17:15
UVM中uvm_config_db機制背后的大功臣
本次講一下UVM中的uvm_config_db,在UVM中提供了一個內部數據庫,可以在其中存儲給定名稱下的值,之后可以由其它TB組件去檢索。
評論