// **************************************************************************************** // Directed Test Cases // **************************************************************************************** class burst_test extends uvm_test; `uvm_component_utils(burst_test) burst_env env_h; axi_fixed_sequence fixed_xtn; axi_incr_sequence incr_xtn; axi_wrap_sequence wrap_xtn; virtual apb_if vif; function new(string name="burst_test",uvm_component parent); super.new(name,parent); endfunction function void build_phase(uvm_phase phase); super.build_phase(phase); env_h=burst_env::type_id::create("env_h",this); if (!uvm_config_db#(virtual apb_if)::get(this, "", "vif", vif)) begin `uvm_fatal("build_phase", "No virtual interface specified for this test instance") end uvm_config_db#(virtual apb_if)::set( this, "*", "vif", vif); // `uvm_error("build_phase","top virtual interface failed") endfunction function void end_of_elaboration_phase(uvm_phase phase); uvm_top.print_topology(); endfunction task run_phase(uvm_phase phase); begin seq_h=apb_seq::type_id::create("seq_h"); phase.raise_objection(this); fork fixed_seq_h.start(env_h.agent_h.seqr_h); #100 incr_seq_h.start(env_h.agent_h.seqr_h); #200 wrap_seq_h.start(env_h.agent_h.seqr_h); join phase.drop_objection(this); end endtask endclass