is_active是uvm_agent的一个成员变量,其默认值为UVM_ACTIVE;
验证人员要在组件的内部设置:
is_active==UVM_ACTIVE时,例化driver,sequeser,组件agent作为master ; UVM_PASSIVE时,不例化driver,sequeser等,作为只例化moniter.组件agent作为slaver
如下 :
在组件agent 内
if(is_active==UVM_ACTIVE)begin
drv = xxx_driver:type_id::create("xxx_driver",this);
....
end
在 env内
build_phase: xxx_agent.is_active=UVM_PASSIVE;
最后在env内控制is_active值,来实现组件agent的角色