UVM 中三個(gè)重要的類
時(shí)間:2021-11-12 14:14:55
手機(jī)看文章
掃描二維碼
隨時(shí)隨地手機(jī)看文章
[導(dǎo)讀]UVM中所有的類都有一個(gè)共同的基類:uvm_void類。它沒有數(shù)據(jù)成員,也沒有成員函數(shù)。由uvm_void類擴(kuò)展得到了兩個(gè)子類,分別為uvm_object類和uvm_port_base類。其中uvm_object類是UVM中所有的實(shí)體(包括component和transactio...
UVM中所有的類都有一個(gè)共同的基類:uvm_void 類。它沒有數(shù)據(jù)成員,也沒有成員函數(shù)。由uvm_void 類擴(kuò)展得到了兩個(gè)子類,分別為uvm_object類和uvm_port_base類。
其中uvm_object類是UVM中所有的實(shí)體(包括 component和 transaction)的基類。uvm_port_base 是 UVM 中各種通信端口的基類。
a. uvm_object
uvm_object 是 UVM 中所有實(shí)體的基類。uvm_object 擴(kuò)展得到很多子類, 其中比較重要的有uvm_reg、uvm_report_object 、uvm_transaction、uvm_phase。
在上面重要的子類中,我們接觸最多的還是uvm_report_object和 uvm_transaction。
driver、monitor等component都是繼承自uvm_component,而uvm_component 又繼承自 uvm_report_object。
transaction、sequence 繼承自 uvm_sequence_item,而 uvm_sequence_item 又繼承自 uvm_transaction。
因此說 uvm_object 是 UVM 中比較基礎(chǔ)的一個(gè)類。對驗(yàn)證人員來說只需要掌握到 uvm_component和 uvm_sequence_item 就行,再往上的類基本上不需要掌握太多。
b. uvm_component
uvm_component是 UVM中比較關(guān)鍵的一個(gè)類,在 UVM框架中的 uvm_agent、
uvm_driver、 uvm_monitor、 uvm_scoreboard 等比較重要的組件都繼承自該類。uvm_component最終還是擴(kuò)展自 uvm_object類,因而比 uvm_object類有更多的特性。
其中uvm_object類是UVM中所有的實(shí)體(包括 component和 transaction)的基類。uvm_port_base 是 UVM 中各種通信端口的基類。
a. uvm_object
uvm_object 是 UVM 中所有實(shí)體的基類。uvm_object 擴(kuò)展得到很多子類, 其中比較重要的有uvm_reg、uvm_report_object 、uvm_transaction、uvm_phase。
在上面重要的子類中,我們接觸最多的還是uvm_report_object和 uvm_transaction。
driver、monitor等component都是繼承自uvm_component,而uvm_component 又繼承自 uvm_report_object。
transaction、sequence 繼承自 uvm_sequence_item,而 uvm_sequence_item 又繼承自 uvm_transaction。
因此說 uvm_object 是 UVM 中比較基礎(chǔ)的一個(gè)類。對驗(yàn)證人員來說只需要掌握到 uvm_component和 uvm_sequence_item 就行,再往上的類基本上不需要掌握太多。
b. uvm_component
uvm_component是 UVM中比較關(guān)鍵的一個(gè)類,在 UVM框架中的 uvm_agent、
uvm_driver、 uvm_monitor、 uvm_scoreboard 等比較重要的組件都繼承自該類。uvm_component最終還是擴(kuò)展自 uvm_object類,因而比 uvm_object類有更多的特性。