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機制可以實現(xiàn)的有關功能,override是比較常用的一個功能。
new是一個class創(chuàng)建一個對象的方式,是在運行內(nèi)存下面掛個號,分配空間,是sv的語法,與UVM無關。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
相關推薦
在systemverilog中,如果一個類沒有顯式地聲明構造函數(shù)(new()),那么編譯仿真工具會自動提供一個隱式的new()函數(shù)。這個new
發(fā)表于 11-16 09:58
?3537次閱讀
的計算功能,完成scoreboard的比較功能。類中可以有成員變量,這些成員變量可以控制類 的行為,如控制driver的行為等。當要實現(xiàn)一個功能時,首先應該想到的是從UVM的某個
發(fā)表于 12-04 15:48
平臺,因為UVM的特性幾乎一 點都沒有用到。像上節(jié)中my_driver的實例化及drv.main_phase的顯式調(diào)用,即使不使用UVM,只使用簡單的SystemVerilog也可以完 成。本節(jié)將會
發(fā)表于 12-08 12:07
工程師只需要將代碼寫入適當?shù)膒hase當中,平臺運行時,會按照phase的執(zhí)行流程來自動執(zhí)行驗證工程師的代碼。uvm提供了一系列的基類,驗證工程師需要根據(jù)實際的情況擴展出合適的類來構建自己的驗證平臺
發(fā)表于 01-21 16:00
直觀的印象,就是uvm驗證平臺,它是分層的結構。圖中的每一個巨型框都代表著平臺的一個構成元素。這些元素呢,我們稱為平臺組建,下面來簡單的分析一下。從最底層上來看,agent 中包含了driver,monitor和sequencer,其中driver ,monitor
發(fā)表于 02-14 06:46
在UVM方法學中,UVMsequences 是壽命有限的對象。UVM sequences從uvm_sequence_item基類擴展得到,
發(fā)表于 04-11 16:43
。uvm_factory中定義了一系列純虛函數(shù),主要包括以下幾種功能:重載、創(chuàng)建、查找、調(diào)試等。這些函數(shù)根據(jù)參數(shù)可以分為基于名字(name-based)和基于類型(type-based)兩類接口。也就是說,每一種
發(fā)表于 09-16 14:35
,uvm_reg_block還可以包含其他子uvm_reg_block。在同一類族中,UVM還提供了uv
發(fā)表于 09-23 14:29
uvm_report_enabled(xxx)中,會分析傳過來的severity和id的配置verbosity要大于傳過來的verbosity,(get_report_verbosity_level(severity, id
發(fā)表于 03-17 16:41
下src/base/uvm_task_phase.svh文件。為方便分析,我截圖如下。在uvm_task_phase類里execute(xxx)函數(shù)的第148行和150行確定了seq1和seq2的執(zhí)行
發(fā)表于 04-04 17:15
將 生成測試case的語句 從 main_phase 中獨立出來,使得使用不同測試用例時,只需要修改sequence部分即可,而不用關注 UVM剩余部分。
發(fā)表于 05-26 15:17
?1007次閱讀
Driver的作用是從sequencer中獲得數(shù)據(jù)項,按照接口協(xié)議將數(shù)據(jù)項驅動到總線上。UVM類庫提供了uvm_driver基類,所有的Dr
發(fā)表于 05-30 16:17
?764次閱讀
在UVM中,Testcase是一個類,它封裝了測試用例開發(fā)者編寫的特定激勵序列。
發(fā)表于 06-15 09:41
?1510次閱讀
本次講一下UVM中的uvm_config_db,在UVM中提供了一個內(nèi)部數(shù)據(jù)庫,可以在其中存儲給定名稱下的值,之后可以由其它TB組件去檢索。
發(fā)表于 06-20 17:28
?1319次閱讀
本篇是對UVM設計模式 ( 二 ) 參數(shù)化類、靜態(tài)變量/方法/類、單例模式、UVM_ROOT、工廠模式、
發(fā)表于 08-06 10:38
?1570次閱讀
評論