c4brian Posted December 9, 2014 Report Share Posted December 9, 2014 I am trying to synchronize when sequences are sent to the DUT. I send one transaction to the DUT at the beginning, and then I need to wait for the DUT to send out a transaction (much later) before I continue with my sequence. Right off the top, I was thinking I would add an analysis_imp, and when the DUT sends the transaction, have the agent broadcast it, and my sequence could trigger an event in say, the write function. I don't believe this makes sense though, as I don't believe ports were meant to be created in transient types, like a uvm_sequence. It appears as the only real "connection" the sequence has with the environment is through an agents sequencer. What would be ideal is if my sequence were simply waiting on an event that is triggered by receiving a transaction in an agent attached to the DUT, but i don't know where that event would live. Here is the body method of my "directed_test" sequence: start_item (txn, -1, a_sequencer);finish_item(txn); `uvm_info(report_id, "waiting for DUT to send an ARP reply...", UVM_LOW) <------- need something here to wait/sync to the DUT response `uvm_info(report_id, "OK to start next sequence item!", UVM_LOW)start_item (next_txn, -1, a_sequencer);finish_item(next_txn); Quote Link to comment Share on other sites More sharing options...
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.