1、uvm_component与uvm_object之间的区别和联系?
uvm_component类:是用于构成UVM仿真平台的组件,可组成树形结构,在bulid_phase中创建,之后整个仿真周期内一直存在,可通过interface连接到DUT的端口上或者通过TLM port完成uvm_component间的连接,可通过phase机制控制平台的仿真行为。
uvm_object类:uvm中基本的类,可用于封装数据流(事务),从一个组件(component)产生传递到另一个组件,无phase机制,不能形成树状结构。
2、uvm中的port都有哪些,各有什么区别?
analysis port :可以不连接,也可以连接多个analysis export,以广播的形式传输数据,用于monitor将数据发到reference model和scoreboard。 可以通过该analysis port端口调用在另一个组件中实现的方法。
TLM port:必须一对一连接到export上,否则编译会报错,常用于driver和sequencer之间的transaction通信。
3、uvm的factory机制,其优点是什么?
factory是一种设计模式,也叫编程技巧,在使用工厂模式的时候分为三个步骤