uvm_active_passive_enum is_active=UVM_ACTIVE 这里UVM默认了is_active值为UVM_ACTIVE,其中uvm_active_passive_enum为变量类型,如果要用config_db传参,使用config_db#(uvm_active_passive_enum)进行set和get。 之所以在agent中设置一个if判断语句来决定是否实例化drv的原因是因为,我们在输入和输出的端口都有agent,...
uvm_active_passive_enum is_active = UVM_ACTIVE; is_active是agent的一个成员,缺省值是UVM_ACTIVE,这表示处在active模式的agent需要例化driver、monitor和sequencer;而如果is_active的值是UVM_PASSIVE,这表示agent是passive模式,只可以例化monitor。active模式的agent既有激励功能也有监测功能,passive模式的agent只具有监...
Read()、write()、update() 和 mirror() 是Active API,它们使用物理接口在 DUT 上运行。您可以选择使用后门机制,在这种情况下它不会消耗仿真周期。与使用前门访问相同的RTL寄存器行为一致。 Passive:仅使用寄存器模型操作。set()、get() 和 predict() 是直接在模型上操作的Passive API。调用Passive peek() 不会...
uvm_active_passive_enum is_active=UVM_ACTIVE 这里UVM默认了is_active值为UVM_ACTIVE,其中uvm_active_passive_enum为变量类型,如果要用config_db传参,使用config_db#(uvm_active_passive_enum)进行set和get。 之所以在agent中设置一个if判断语句来决定是否实例化drv的原因是因为,我们在输入和输出的端口都有agent,...
uvm_active_passive_enumis_active=UVM_ACTIVE;typedefenumbit{UVM_PASSIVE=0,UVM_ACTIVE=1}uvm_active_passive_enum; 这个枚举变量仅有两个值:UVM_PASSIVE和UVM_ACTIVE。在uvm_agent中,is_active的值默认为UVM_ACTIVE,在这种模式下,是需要实例化driver的。那么什么是UVM_PASSIVE模式呢?以本章的DUT为例,如果在输...
按照约定,UVM agent config类有一个类型为uvm_active_passive_enum的枚举类型变量,该变量定义了agent是构造了sequencer和driver的UVM_ACTIVE还是二者均未构造的UVM_PASSIVE。这个参数称为active,默认值为UVM_ACTIVE。 而是否构建其他子组件则应该由附加的配置属性来控制,这些属性应该具有描述性名称。例如,如果有一个 func...
uvm_agent中有时候只需要包含一个monitor,不需要driver和sequencer,需要通过uvm_active_passive_enum is_active = UVM_ACTIVE;来进行有条件的例化 is_active是agent的一个成员,默认值是UVM_ACTIVE,表示处在active模式的agent需要例化driver,monitor和sequencer;如果is_active是UVM_PASSIVE,表示agent是passive模式,只可以例...
这两种i_axi_agent组件包分别作用于射频接口的发送模块和接收模块,目的是为了使配置的active和passive模式能够对interface上的数据信息进行驱动和监测。o_axi_agnet例化模块中的monitor可以监视到测试对象发出的激励数据流,通过TLM接口机制传送到uvm_scoreboard。与此同时,由Matlab封装的record_model模型,通过passive模式占用...
is_active是uvm_agent内置的一个成员变量,通过顶层传值,控制driver是否进行例化,且is_active的值默认为UVM_ACTIVE。 UVM_PASSIVE:例化monitor而不需要例化driver(输出端口无需驱动) UVM_ACTIVE:例化monitor,也需要例化driver(输入端口需要驱动) 例化动作可以在build_phase函数中完成,也可以在new函数中完成,但强烈建议仅...
uvm_active_passive_enum is_active = UVM_ACTIVE; 1. 当is_active的值为 UVM_ACTIVE 时,表示处于active模式的agent需要例化driver、sequencer和monitor。如果值为 UVM_PASSIVE,则表示agent是passive模式,只可以例化monitor。即:active模式的agent既能激励DUT,也可以监测它;passive模式则只有监测功能。