Hi,
I am using RAL with a frontdoor sequence for accesses over JTAG.
In one TC I am blocking the DUT queue on purpose and trigger a ral.jtag_read() expecting a timeout.
After this point I am not able to use the frontdoor sequence anymore.
ral.jtag_read(); // normal JTAG read
dut_block(); // do something which is expected to block the DUT queue
fork begin
fork
begin
ral.jtag_read(); // should block
test_failed();
`uvm_fatal("my_test", "No timeout! Queue not blocked!")
end
begin
#50us;
`uvm_info("my_test", "OK - Read timeout", UVM_LOW)
end
join_any
disable fork;
end join
// everything should return to normal
m_sequencer.stop_sequences();
dut_flush();
fork begin
fork
begin
ral.jtag_read(); // should NOT block
`uvm_info("my_test", "Read OK", UVM_LOW)
end
begin
#50us;
test_failed();
`uvm_fatal("my_test", "Timeout!")
end
join_any
disable fork;
end join
What should I do to have the frontdoor sequence working again?