Multiple req-ack using single driver

When ‘req’ goes high, the DUT sends ‘ack’ after which data can be driven to the DUT.

Likewise, I have ‘req_1’ and ‘req_2’.

Say ‘req_1’ and ‘req_2’ are both high and only ‘ack_1’ is received, following which ‘data_1’ is sent to DUT. At this time the ‘data_2’ holds some value on its bus. So the next time when I randomize, only ‘data_1’ should be randomized. ‘data_2’ should hold its previous value until it gets its ‘ack_2’ from the DUT.

Can this done from a single driver ? If yes, then how to do this.

Thanks in advance.

In reply to rahul_m_patil:

Hi Rahul,
I have one question

Can you not set the rand_mode to 0 for the data which didnt get the ack OR can you not selectively play with .rand_mode depending on which ACK you got? Whats the issue in doing this?

If there is an issue with above approach can you please copy paste your code where you called the sequnce and the sequence code?

Thanks,
Suyog

In reply to rahul_m_patil:

Is there any relationship betwen data_1 and data_2? If not then it does not matter to process in the first cycle data_1 and in the second one a newly randomized data_2.