42 new (
string name=
"axi_pipelined_reads_test", uvm_component parent=null) {
43 super.
new(name, parent);
49 driver_agent_config = axi_agent_config::type_id::create(
"driver_agent_config",
this);
52 assert(driver_agent_config.randomize() with {
56 min_clks_between_ar_transfers == 0;
57 max_clks_between_ar_transfers == 3;
58 min_clks_between_aw_transfers == 0;
59 max_clks_between_aw_transfers == 3;
60 min_clks_between_w_transfers == 0;
61 max_clks_between_w_transfers == 3;
64 driver_agent_config.m_active = UVM_ACTIVE;
68 uvm_config_db <axi_agent_config> ::set(null,
"*",
"m_axidriver_agent.m_config", driver_agent_config);
71 responder_agent_config = axi_agent_config::type_id::create(
"responder_agent_config",
this);
74 assert(responder_agent_config.randomize() with {
79 min_clks_between_r_transfers == 0;
80 max_clks_between_r_transfers == 3;
81 min_clks_between_b_transfers == 0;
82 max_clks_between_b_transfers == 3;
86 responder_agent_config.m_active = UVM_ACTIVE;
90 uvm_config_db <axi_agent_config> ::set(null,
"*",
"m_axiresponder_agent.m_config", responder_agent_config);
93 axi_seq::type_id::set_type_override(axi_pipelined_reads_seq::get_type(), 1);
95 super.build_phase(phase);
101 phase.raise_objection(
this);
107 m_seq.start(m_env.m_driver_seqr);
110 phase.drop_objection(
this);
base test. AXI tests are to be extended from this test.
axi_agent_config responder_agent_config
axi_responder_seq m_resp_seq
uvm_component_utils(axi_pipelined_reads_test) axi_agent_config driver_agent_config
task run_phase(uvm_phase phase)
new(string name="axi_agent_config")
Constructor.
Configuration object for an axi_agent.
void build_phase(uvm_phase phase)