当前位置:首页 > 公众号精选 > 芯片验证工程师
[导读]UVM中所有的类都有一个共同的基类:uvm_void类。它没有数据成员,也没有成员函数。由uvm_void类扩展得到了两个子类,分别为uvm_object类和uvm_port_base类。其中uvm_object类是UVM中所有的实体(包括component和transactio...

UVM中所有的类都有一个共同的基类:uvm_void 类。它没有数据成员,也没有成员函数。由uvm_void 类扩展得到了两个子类,分别为uvm_object类和uvm_port_base类。


其中uvm_object类是UVM中所有的实体(包括 component和 transaction)的基类。uvm_port_base 是 UVM 中各种通信端口的基类。


a. uvm_object
uvm_object 是 UVM 中所有实体的基类。uvm_object 扩展得到很多子类, 其中比较重要的有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 中比较基础的一个类。对验证人员来说只需要掌握到 uvm_component和 uvm_sequence_item 就行,再往上的类基本上不需要掌握太多。


b. uvm_component
uvm_component是 UVM中比较关键的一个类,在 UVM框架中的 uvm_agent、
uvm_driver、 uvm_monitor、 uvm_scoreboard 等比较重要的组件都继承自该类。
uvm_component最终还是扩展自 uvm_object类,因而比 uvm_object类有更多的特性。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
关闭
关闭