UVM中類的例化用new和create有什么不同?什么時候可以用new?什么時候該用create?
new是OOP自帶屬性,create是UVM override屬性,可以理解成create比new更進(jìn)階~
create是用factory模式來construct對象,在factory中注冊過的uvm_object擴(kuò)展類或是uvm_component 擴(kuò)展類都可以用create,這樣做的好處是在testcase里面可以override. new是什么時候都可以用的。
只有與UVM基本類相關(guān)的類才可以使用create方法,相當(dāng)于在UVM這個大樹上面掛了個號,具體號碼就是通過static function type_id來分配的,UVM的其他地方可以通過號碼來對使用create的這個類進(jìn)行factory機(jī)制可以實現(xiàn)的有關(guān)功能,override是比較常用的一個功能。
new是一個class創(chuàng)建一個對象的方式,是在運(yùn)行內(nèi)存下面掛個號,分配空間,是sv的語法,與UVM無關(guān)。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
UVM
+關(guān)注
關(guān)注
0文章
183瀏覽量
20012 -
OOP
+關(guān)注
關(guān)注
0文章
14瀏覽量
9021
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
SystemVerilog中的類構(gòu)造函數(shù)new
在systemverilog中,如果一個類沒有顯式地聲明構(gòu)造函數(shù)(new()),那么編譯仿真工具會自動提供一個隱式的new()函數(shù)。這個new
發(fā)表于 11-16 09:58
?4309次閱讀
IC驗證"一個簡單的UVM驗證平臺"是如何搭建的(六)
的計算功能,完成scoreboard的比較功能。類中可以有成員變量,這些成員變量可以控制類 的行為,如控制driver的行為等。當(dāng)要實現(xiàn)一個功能時,首先應(yīng)該想到的是從UVM的某個
發(fā)表于 12-04 15:48
IC驗證"UVM驗證平臺加入factory機(jī)制"(六)
平臺,因為UVM的特性幾乎一 點都沒有用到。像上節(jié)中my_driver的實例化及drv.main_phase的顯式調(diào)用,即使不使用UVM,只使用簡單的SystemVerilog也可以完 成。本節(jié)將會
發(fā)表于 12-08 12:07
數(shù)字IC驗證之“什么是UVM”“UVM的特點”“UVM提供哪些資源”(2)連載中...
工程師只需要將代碼寫入適當(dāng)?shù)膒hase當(dāng)中,平臺運(yùn)行時,會按照phase的執(zhí)行流程來自動執(zhí)行驗證工程師的代碼。uvm提供了一系列的基類,驗證工程師需要根據(jù)實際的情況擴(kuò)展出合適的類來構(gòu)建自己的驗證平臺
發(fā)表于 01-21 16:00
請問一下在UVM中的UVMsequences是什么意思啊
在UVM方法學(xué)中,UVMsequences 是壽命有限的對象。UVM sequences從uvm_sequence_item基類擴(kuò)展得到,
發(fā)表于 04-11 16:43
深入了解Factory機(jī)制的實現(xiàn)方式
。uvm_factory中定義了一系列純虛函數(shù),主要包括以下幾種功能:重載、創(chuàng)建、查找、調(diào)試等。這些函數(shù)根據(jù)參數(shù)可以分為基于名字(name-based)和基于類型(type-based)兩類接口。也就是說,每一種
發(fā)表于 09-16 14:35
如何構(gòu)建UVM寄存器模型并將寄存器模型集成到驗證環(huán)境中
,uvm_reg_block還可以包含其他子uvm_reg_block。在同一類族中,UVM還提供了uv
發(fā)表于 09-23 14:29
談?wù)?b class='flag-5'>UVM中的uvm_info打印
uvm_report_enabled(xxx)中,會分析傳過來的severity和id的配置verbosity要大于傳過來的verbosity,(get_report_verbosity_level(severity, id
發(fā)表于 03-17 16:41
UVM中seq.start()和default_sequence執(zhí)行順序
下src/base/uvm_task_phase.svh文件。為方便分析,我截圖如下。在uvm_task_phase類里execute(xxx)函數(shù)的第148行和150行確定了seq1和seq2的執(zhí)行
發(fā)表于 04-04 17:15
UVM中sequence的那些事兒
將 生成測試case的語句 從 main_phase 中獨(dú)立出來,使得使用不同測試用例時,只需要修改sequence部分即可,而不用關(guān)注 UVM剩余部分。
創(chuàng)建UVM Driver
Driver的作用是從sequencer中獲得數(shù)據(jù)項,按照接口協(xié)議將數(shù)據(jù)項驅(qū)動到總線上。UVM類庫提供了uvm_driver基類,所有的Dr
UVM driver和sequencer的通信
sequencer生成激勵數(shù)據(jù),并將其傳遞給driver執(zhí)行。UVM類庫提供了uvm_sequencer基類,其參數(shù)為request和response數(shù)據(jù)類型。
UVM中uvm_config_db機(jī)制背后的大功臣
本次講一下UVM中的uvm_config_db,在UVM中提供了一個內(nèi)部數(shù)據(jù)庫,可以在其中存儲給定名稱下的值,之后可以由其它TB組件去檢索。
UVM中類的例化用new還是create
評論