|
12345678910111213141516171819202122 |
- class axi_agent extends uvm_agent;
- axi_drv drv;
- axi_sqr sqr;
- axi_mon mon;
- axi_cov cov;
- `uvm_component_utils_begin(axi_agent)// factory registration
- `NEW_COMP
- function void build_phase(uvm_phase phase);
- super.build_phase(phase);
- mon = axi_mon::type_id::create("mon", this);
- drv =axi_drv::type_id::create("drv", this);// creating from factory
- sqr = axi_sqr::type_id::create("sqr", this);
- cov = axi_cov::type_id::create("cov", this);
- end
- endfunction
- function void connect_phase(uvm_phase phase);
- drv.seq_item_port.connect(sqr.seq_item_export);
- mon.ap_port.connect(cov.analysis_export);
- end
- endfunction
- endclass
-
|