Hello,
I got UVM_FATAL Error message, "[PH_TIMEOUT] Default timeout of 9200 hit.
Wahen I enable +UVM_OBJECT_TRACE, it said uvm_test_top riasd 1 objection.
Here is my code
`include "02.uvm/spi_env.sv"
class spi_test extends uvm_test;
`uvm_componen_utls(spi_test)
real cov;
spi_env env;
spi_seq seq;
extern function new(string name="spi_test", uvm_component parent);
extern virtual function void build_phase(uvm_phase phase);
extern virtual function void end_of_elaboration();
extern task run_phase(phase);
endclass
function spi_test::new(string name="spi_test", uvm_component parent);
super.new(name, parent);
endfunction
function void spi_test::build_phase(uvm_phase phase);
super.build_phase(phase);
env = spi_env::type_id::create("env", this);
seq = spi_seq::type_id::create("seq", this);
endfunction
funtion void spi_test:end_of_elaboration();
print();
endfunction
task spi_test::run_phase(uvm_phase phase);
phase.raise_objection(this, "Starting spi main sequence");
while(cov < 100.0) begin
$display("coverage test"); // Printed 1 time only
seq.start(env.spi_agnt,seqr);
cov = env.spi_sub.cover_data.get_coverage();
`uvm_info("TEST", sformatf(">> Coverage :%0.2f", cov), UVM_MEDIUM)
end
#100ns;
phase.drop_objection(this, "Finish");
phase.phase_done.set_drain_time(this, 50);
endtask