AXI-Verification architecture, functional coverage and assertions based coverage code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
742 B

  1. `include "uvm_macros.svh"
  2. import uvm_pkg::*;
  3. class axi_m_Agent extends uvm_agent;
  4. `uvm_component_utils(axi_m_Agent);
  5. AXI_SLAVE_SEQR seq;
  6. AXI_SLAVE_DRV drv;
  7. AXI_SLAVE_MON mon;
  8. function new(string name = "axi_m_Agent", uvm_component parent);
  9. super.new(name, parent);
  10. endfunction :
  11. function void build_phase(uvm_phase phase);
  12. super.build_phase(phase);
  13. seq = AXI_SLAVE_SEQR::type_id::create("seq", this);
  14. drv = AXI_SLAVE_DRV::type_id::create("drv", this);
  15. mon = AXI_SLAVE_MON::type_id::create("mon", this);
  16. endfunction : build_phase
  17. function void connect_phase(uvm_phase phase);
  18. drv.seq_item_port.connect(seq.seq_item_export);
  19. endfunction : connect_phase
  20. endclass