Conditional sequence

Hi,

I am relatively new to the UVM and I had a question on implementing conditional sequences. I have multiple sequences where I need to conditionally randomize an input based on the current state of the DUT. Currently, the sequences themselves are using cross module references to go into the interface directly to look at those signals. I think this is the wrong way of doing it, and I’ve found some information on sequence responses, but I’m not sure if this is the way to go either. Any ideas? Thank you very much.

In reply to cgh06:

Perhaps I could do it by sending a response back from the driver to the sequence with a response port, check the response, and then randomize the value I need to in my transaction class. Would this be feasible?

Hi! I am also rather new to the UVM but I have been investigating this area of issue recently (coding an industry-level project) and I am sure that your proposal of deciding the randomization based on the response of the driver to a transaction is a theoretically and practically correct way of handling your issue. Having the sequence access the DUT ports directly is definitely not the intended way.