45 new (
string name=
"axi_env", uvm_component parent=null);
56 super.new(name, parent);
61 super.build_phase(phase);
67 uvm_info(this.get_type_name,
68 "Found m_axidriver_agent.m_config in config db.",
71 uvm_info(this.get_type_name,
72 "Unable to fetch m_axidriver_agent.m_config from config db. Using defaults",
92 uvm_info(this.get_type_name,
93 "Found m_axiresponder_agent.m_config in config db.",
96 uvm_info(this.get_type_name,
97 "Unable to fetch m_axiresponder_agent.m_config from config db. Using defaults",
109 m_memory = memory::type_id::create(
"m_memory",
this);
110 uvm_config_db <memory> ::set(null,
"*",
"m_memory",
m_memory);
119 super.connect_phase(phase);
Normal sequencer with an extra analysis fifo and export.
Extremely simple memory model with just write() and read() methods.
axi_sequencer m_driver_seqr
axi_agent_config m_config
Encapsulates driver, monitor, coverage collector, a local memory.
void build_phase(uvm_phase phase)
Creates the two AXI agents and the memory.
axi_agent m_axidriver_agent
axi_agent m_axiresponder_agent
new(string name="axi_env", uvm_component parent=null)
Constructor.
uvm_component_utils(axi_env) axi_agent_config m_agent_config
void connect_phase(uvm_phase phase)
Sets sequencer pointers/handles.
Configuration object for an axi_agent.
Creates two active AXI agents, one master and one slave/responder, plus a memory. ...
axi_sequencer m_responder_seqr