hmeiners Posted October 8, 2012 Report Share Posted October 8, 2012 Within a virtual sequence running on a virtual sequencer I try to get data from a uvm_tlm_analysis_fifo that is created in the virtual sequencer. However calling the blocking get of the FIFO through the p_sequencer directly: p_sequencer.fifo.get(tr); or through a member task that is declared in the virtual sequencer: p_sequencer.get_tr(tr) is working correctly. Basically, the blocking get() never returns a value. The fifo is connected correctly and I was able to call fifo.get() directly in the virtual sequencer e.g. by calling fifo.get() in run_phase(). What's wrong? Quote Link to comment Share on other sites More sharing options...
petermonsson Posted October 14, 2012 Report Share Posted October 14, 2012 Hi, I am afraid that we can't help you with the information that you have provided. Here is an idea: You have a deadlock inside your virtual sequence that goes through a non-virtual sequence, a driver, the analysis fifo, the virtual sequencer and back to the virtual sequence. It is a long shot. I hope this helps. Peter Quote Link to comment Share on other sites More sharing options...
hmeiners Posted October 18, 2012 Author Report Share Posted October 18, 2012 Peter, basically it was my fault. I started the sequence in the "wrong" phase w/o any objection. Thus, the sequence was killed before getting the data from the sequencer. Thanks, Holger Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.