One thing is confused that “!!Driver:read_data” shown after “DO_READ Task”.
It means that sequence would finished before driver finished. I think it does not make sense.
Could you please help me, How do I get the data from a driver in a sequence correctly?
The sequence “returns” before the data is available, in your case immediately after you call seq_item_port.get() in the driver. You can’t both wait for the read data to be available and have pipelined operation. If you were to put a print in the response handler, you’d see that the read data is available there:
Thanks Tudor, But I’m not just want to print a response HRDATA, I’m trying to pass to sequence and test.
response_handler is just printing the HRDATA. it can’t use in sequence and test.
Is there any way to pass HRDATA to the sequence and test when I get HRDATA from interface?
If I can’t use this style because the sequence returns immediately after I call seq_item_port.get() in driver so the data is not available, Could you please suggestion to get a HRDATA in to sequence and test?
Especially, I’d like to get a rdata in the test.
ahb_seq.do_read(32'h00008888, rdata );
$display("read_data from TOP: %0h", rdata);
ahb_seq.do_read(32'h00007777, rdata );
$display("read_data from TOP: %0h", rdata);
I’m trying to get RSP1 data in the read sequence. so I implemented 2 stage driver But sequence immediately returns the result not wait the driver result.
Sorry, I can’t edit my post, so I reply it.
For you understand I implemented it to Here (1) - EDA Playground
AS you can see the waveform, I’d like to get a pipeline HRDATA.