UVM 8 2 2 過載的方式及種類

2021-07-03 15:46:14 字數 1342 閱讀 2260

1.set_type_override_by_type 實現兩種不同型別之間的過載。原型:

2.有時不希望把平台中的a 全部替換成b,只是替換部分,用set_inst_override_by_type,原型:

1)第乙個是相對路徑。

3.示例:

1)執行到main_phase是,會輸出:

1)與set_type_override_by_type 相對的是set_type_override,原型:

用parrot 替換bird,如下:

2)與set_inst_override_by_type相對的是 set_inst_override,原型:

用new_monitor 過載my_monitor 如下:

5.上述都是在uvm_component 的函式,但是在top_tb 的initial裡,無法使用。uvm 提供另外4個函式來替換上述4個函式,原型是:

1)都位於uvm_factory中。

6.應用。系統存在乙個uvm_factory 型別的全域性變數factory。

1)可以在initial 裡使用:

2)在component也可以直接呼叫factory 機制的過載函式:

其實uvm_component 的四個過載函式直接呼叫了factory 相應函式,上面截圖可以看到。

7.還可以命令列。例項過載和型別過載分別:

+uvm_set_inst_override=,,

+uvm_set_type_override=,

分別對應set_inst_override_by_name 和 set_type_override_by_name。

1)例項過載:

2)型別過載:

索引器(2)過載

看了 陳廣老師的索引器挺不錯的 學習了class coursescore public string name set public int courseid set public int score set class coursescoreindexer public int this stri...

C 入門(6)過載

過載 using system class vector 獲取向量的長度 public double getlength 過載運算子 public static bool operator vector a,vector b 過載運算子 public static bool operator vec...

11 過載示例(下)

我們可以過載class member operator new 寫出很多版本,前提是每一版本的宣告都必須有獨特的引數列表,其中第乙個引數必須是size t,其與引數以new所指定的placement arguments為初值。出現於new 小括號內的便是所謂placement arguments。f...