Quantcast
Channel: UVM SystemVerilog Discussions Forum RSS Feed
Viewing all articles
Browse latest Browse all 410

sequence DUT synchronization

$
0
0

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);


Viewing all articles
Browse latest Browse all 410

Latest Images

Trending Articles



Latest Images